主要内容

模型设计AXI4主界面的一代

设计需要从外部内存,访问大型数据集模型算法与简化AXI4主协议。当您运行这个IP核心代工作流,高密度脂蛋白编码器™生成一个IP核心AXI4主接口。AXI4主界面可以交流在你的设计和外部内存控制器IP使用AXI4主协议。使用当你AXI4主界面:

  • 设计目标multi-frame视频处理应用程序。你可以在外部存储器存储图像数据,如DDR3内存,然后读或写的图片到你的设计破裂的方式进行高速处理。

  • 算法必须访问内存数据的非任意模式。

  • DUT IP核心必须控制其他IPs AXI4奴隶接口的系统。此功能在独立的FPGA器件尤其有用。

简化AXI4主协议——写通道

DUT的端口映射到AXI4主界面,使用简化AXI4主协议。你不需要模型实际AXI4主协议,而是可以使用简化的协议。当您运行这个IP核心代工作流,生成的HDL代码包含一个包装器逻辑简化协议之间的转换和实际AXI4主协议。简化协议需要你使用更少的协议信号,简化了握手机制有效的和准备好信号,并支持任意长度的爆发。金宝app

使用简化AXI4大师写协议写事务和简化AXI4主读协议读事务。这个数字显示的计时图DUT的信号模型的输入和输出接口AXI4大师写事务。

DUT等待wr_ready成为高启动写请求。当wr_ready就高,DUT可以发送写请求。写请求的数据写主,从公共汽车信号。这辆车由wr_len,wr_addr,wr_validwr_addr指定起始地址,DUT想写。的wr_len信号对应的数量在这写事务数据元素。数据可以发送只要wr_valid是很高的。当wr_ready成为低,DUT必须停止发送数据在一个时钟周期,和数据信号变得无效。如果DUT继续发送数据一个时钟周期后,数据将被忽略。

简化AXI4主协议支持管线式请求,所以它不需要等待金宝appwr_complete信号发出前高后续写请求。接口支持16事务(或16个数金宝app据字)在流水线和停滞wr_ready信号是低。

输出信号

模型数据写主,从公共汽车DUT的信号输出接口。

  • 数据:你想要的数据传输,有效的每个周期的事务。

  • 写主,从公共汽车这包括:

    • wr_addr:写事务的起始地址,在第一个周期采样的事务。中指定的地址字节。

    • wr_len:数据值的数量你想转让,在第一个周期采样的事务。的wr_len信号中指定的单词。这意味着每单位wr_len是一个完整的数据元素。例如,当wr_len2和数据的位宽128年,两个128年一些数据元素都写。

    • wr_valid:当控制信号就高,这表明数据信号采样的输出是有效的。

输入信号

模型写主总线的奴隶这包括:

  • wr_complete(可选信号):控制信号,当仍然很高一个时钟周期表明,写事务完成。下一个破裂后的数据可以发送wr_complete断言。早期的断言wr_complete几乎平均延时3时钟周期两个脉冲之间,使写操作流水线,提高写吞吐量。

  • wr_ready:这个信号对应于奴隶IP核的背压或外部内存。这种控制信号高时,表明可以发送数据。当wr_ready低,DUT必须停止在一个时钟周期内发送数据。您还可以使用wr_ready信号确定DUT可以发送第二个破裂信号第一破裂信号后立即发送。支持多种突发信号,这意味着金宝appwr_ready信号仍然很高第二破裂后立即接受最后一个元素的第一个爆发已被接受。使用wr_ready确定什么时候开始下一个破裂可以减少两个脉冲之间的平均延时小于3时钟周期。

  • wr_bvalid(可选信号):响应信号从奴隶IP核,您可以使用用于诊断目的。的wr_bvalid信号变成高AXI4互连后接受每个突发事务。如果wr_len大于256年,AXI4主写模块将大爆炸信号分为256 -大小的爆发。wr_bvalid成为高为每个256 -大小的破裂。

  • wr_bresp(可选信号):响应信号从奴隶IP核,您可以使用用于诊断目的。使用这个信号wr_bvalid信号。

AXI4主协议支持的最大释放量金宝app256年。当你有一个大的尺寸大于256年,阿喜主界面在生成的HDL IP核分裂大破裂成多个较小的迸出大小256年。因此,即使对于大的数据,你看到一个改善写吞吐量。

简化AXI4主协议——读通道

这个数字显示的计时图DUT的信号模型的输入和输出接口AXI4主读事务。这些信号包括数据,读取主,从公共汽车,读取主总线的奴隶

DUT等待rd_aready成为高启动读请求。当rd_aready高,DUT可以发出读请求。读请求的rd_addr,rd_len,rd_avalid信号的读取主,从公共汽车。奴隶IP或外部存储器响应读取请求发送数据在每一个时钟周期。的rd_len信号对应于数据值来读取的数量。DUT可以接收数据只要rd_dvalid是很高的。

读请求

在DUT模型读取请求,输出接口,模型读取主,从公共汽车这包括:

  • rd_addr:读事务的起始地址,在第一个周期采样的事务。中指定的地址字节。

  • rd_len:数据值的数量你想读,在第一个周期采样的事务。的rd_len信号中指定的单词。这意味着每单位rd_len是一个完整的数据元素。例如,当rd_len2和数据的位宽128年,两个128年读取一些数据元素。

  • rd_avalid:控制信号,指定读取请求是否有效。

DUT的输入接口,实现rd_aready信号。这个信号的一部分读取主总线的奴隶表明,当接受读请求。你可以监控rd_aready连续信号确定DUT可以发送请求。当rd_aready就高,这表明DUT可以发送读取请求在下一个时钟周期。

简化AXI4主协议支持管线式请求,因此它不需要等待读取响应完成之前发出后金宝app续的读请求。接口支持多达4读事务在流水线金宝app和停滞rd_aready信号是低。

读取响应

DUT的输入界面,模型数据读取主总线的奴隶信号。

  • 数据:返回的数据读请求。

  • 读取主总线的奴隶这包括:

    • rd_dvalid这表明:控制信号数据返回的读请求是有效的。

    • rd_rvalid(可选信号):响应信号从奴隶IP核,您可以使用用于诊断目的。

    • rd_rresp(可选信号):响应信号从奴隶IP核心表明读事务的状态。

DUT的输出接口,您可以选择实现rd_dready信号。这个信号的一部分读取主,从公共汽车和DUT可以开始接受数据时表示。默认情况下,如果你没有这个信号映射到AXI4掌握阅读界面,生成的HDL IP核心关系rd_dready逻辑高。

基地址寄存器计算

对于生成的IP核,HDL编码包括一个基址寄存器支持驱动程序编写为AXI4掌握读写通道。金宝app基地址寄存器添加到指定的地址DUT ADDR端口形成AXI4主地址。这种能力能使司机使用的寻址模式程序固定基地址寄存器地址的缓冲区。程序地址一起DUT ADDR端口是用于索引缓冲区。默认情况下,寄存器值为零,如果你不使用它们。

指定初始值AXI4掌握读写基地址

当您运行这个IP核心代工作流或金宝app仿真软件实时FPGA的I / O工作流,您可以指定一个初始值为AXI4主数据读写基地址寄存器。默认情况下,初始值为零。指定一个非零值:

  1. 在目标平台接口表中,当你输入DUT端口映射到一个AXI4主端口读取数据,或输出DUT端口AXI4主端口写入数据接口,一个选项按钮出现在界面选项列。

  2. 单击选项按钮,然后指定DefaultReadBaseAddressDefaultWriteBaseAddress

建模AXI4主接口

你可以模型算法与数据和AXI4主协议信号DUT港口,然后将信号映射到AXI4主接口。

学习如何建模您的DUT AXI4主接口映射的算法,打开这个模型®模型。金宝appDUT子系统包含一个简单的算法,从DDR读取数据并将数据写回到不同的DDR内存中的地址。

双击DUT子系统。DDR_Access_Controller子系统模型AXI主读写通道和一个简单的双端口RAM,计算wr_data信号。如果你双击DDR_Access_Controller子系统,你看到两个边缘检测子系统模块,生成两个启动脉冲作为输入MATLAB功能块。一个边缘检测子系统和DDR控制器MATLAB函数模型读过交易。其他边缘检测子系统和DDR控制器编写MATLAB函数模型写事务。您可以修改这个设计模型只写事务或读事务通过使用一个边缘检测子系统和相应的MATLAB函数块。

读通道

DDR阅读控制器建模为一个状态机四个州:INIT、闲置,READ_BURST_START, DATA_COUNT。INIT初始化状态信号和RAM读取输入信号。当起动信号高,空闲状态的状态机开关,然后等待rd_aready成为高信号。当rd_aready就高,状态机转换到READ_BURST_START状态和DUT开始读取数据。状态机然后无条件开关DATA_COUNT状态并继续读取数据rd_avalid就低。

写通道

DDR控制器建模写类似于读通道状态机有四个状态:空闲,WRITE_BURST_START DATA_COUNT, ACK_WAIT。DUT的闲置状态,然后切换到WRITE_BURST_START状态等待wr_ready信号。当wr_ready就高,状态机切换到DATA_COUNT状态并开始写数据。数据时是有效的wr_valid是很高的。DUT继续写入数据时wr_ready是很高的。作为wr_ready就低,状态机开关ACK_WAIT状态,然后等待信号启动下一个写事务做好准备。

看到简化AXI4主协议实际上,模拟模型。如果你安装了DSP系统工具箱™,你可以查看和分析结果的逻辑分析仪。

您可以使用IP核心代工作流来生成一个高密度脂蛋白IP核心AXI4主界面。如果你安装了HDL验证人™,使用Xilinx Zynq ZC706板,然后你可以将IP核心集成到系统默认与外部DDR3内存访问参考设计。

地图矢量港口AXI4主接口

将您的HDL IP核心整合到更大的参考设计,实现更高的吞吐量和当你使用AXI4主端口访问外部DDR内存,您可能需要使用更大的宽度数据端口。AXI4主接口总线支持最大宽度金宝app1024年位。

金宝app®金宝app支持定点的单词长度的数据类型128年位。模型你用单词长度大于DUT港口128年位,使用矢量数据类型。如果你使用一个向量端口,这样结合位向量的所有元素的宽度大于1024年位,设置目标接口任务会显示一个错误。

例如,在hdlcoder_axi_master模型,扩展的宽度axim_rd_data港口512年位,改变ddr_dataDDR内部参数fi (((40: 1:1)), 0128, 0)然后将128位输入生成一个512位的输出的四倍。你可以用一个向量连接块输出总宽度为512位。模拟模型,取代简单的双端口RAM块内与DUT子系统简单的双端口RAM系统

输入数据端口的连接标量hdlcoder_axi_master模型转换为128位标量输入512位向量。

你可以将这些DUT数据端口映射AXI4主读AXI大师写港口目标平台接口表,生成HDL IP核心,和集成IP核心Vivado®或转换频率参考设计。在生成的DUT IP核心,HDL代码数据端口映射到512年一些接口。多个FIFO模块生成对应于输入向量的每个元素。

实体DUT_ip端口(std_logic IPCORE_CLK:;——ufix1 IPCORE_RESETN: std_logic;——ufix1 AXI4_Master_Rd_RDATA: std_logic_vector(511报纸0);——ufix256……AXI4_Master_Wr_WDATA: std_logic_vector(511报纸0);——ufix256…);DUT_ip结束;

这个数字说明了矢量数据的顺序写入和读取的形式。

写入和读取的数据的字节顺序从外部内存DDR当使用向量等港口。

DUT的IP核心的HDL代码,你可以看看AXI4_Master_Rd_RDATAAXI4_master_Wr_WDATA接口映射到DUT港口和顺序数据写入AXI4主界面,然后读回来。

……- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AXI4掌握阅读顺序- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AXI4_Master_Rd_RDATA_0 < = AXI4_Master_Rd_RDATA_unsigned(127报纸0);AXI4_Master_Rd_RDATA_1 < = AXI4_Master_Rd_RDATA_unsigned_1(255报纸128);AXI4_Master_Rd_RDATA_2 < = AXI4_Master_Rd_RDATA_unsigned_7(383报纸256);AXI4_Master_Rd_RDATA_3 < = AXI4_Master_Rd_RDATA_unsigned_7(511报纸384);- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AXI4大师写序- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AXI4_Master_Wr_WDATA_tmp < =无符号(AXI4_Master_Wr_WDATA_Vec_3)和无符号(AXI4_Master_Wr_WDATA_Vec_2)和无符号(AXI4_Master_Wr_WDATA_Vec_1)和无符号(AXI4_Master_Wr_WDATA_Vec_0);AXI4_Master_Wr_WDATA < = std_logic_vector (AXI4_Master_Wr_WDATA_tmp);……

如果你使用的非标准的位宽AXI4主人数据港口,数据端口是升级到一个标准的位宽容器,有大一号的。标准钻头宽度包括32,64年,128年,256年,512年,1024年位。例如,如果您使用一个有四个向量35一些元素,由此产生的宽度140年位(35 x4)被映射到一个256年位AXI4主界面。在写通道数据港口,位255年141年用零填充。读通道的数据港口,位255年141年将被忽略。

补零逻辑写入数据以及他们如何读数据时将被忽略。

使用非标准宽度可以有一个性能影响因为整个AXI4主接口的带宽是不习惯。为了避免性能,使用标准AXI宽度。

模型设计与多个样本率

高密度脂蛋白编码器软件支持与多个样本率当您运行金宝app设计IP核心代工作流。当你接口端口映射到AXI4主界面,使用多个样本率,确保DUT的端口映射到这些AXI4接口运行最快的速度HDL代码生成后的设计。

欲了解更多,请看多重速率的IP核心代

参考设计IP核心集成

您可以整合生成的与AXI4主接口到这些高密度脂蛋白HDL IP核心编码器参考设计:

  • 默认系统与外部DDR3内存访问:当你的目标平台Xilinx Zynq ZC706评估工具

  • 默认系统与外部DDR4内存访问:当你的目标平台阿尔特拉Arria10 SoC开发工具包

要使用这些参考设计,您必须安装高密度脂蛋白验证人™。这个图显示了一个高水平的参考设计体系结构的框图。

在此体系结构中,高密度脂蛋白DUT IP块对应的IP核心的生成IP核心代工作流。其他模块架构代表了预定义的参考设计,由MATLAB®基于JTAG AXI主IP这是由高密度脂蛋白验证器提供的。在董事会上运行FPGA设计后,使用JTAG AXI主IP,你可以使用MATLAB中的输入数据初始化机载DDR3外部内存。的高密度脂蛋白DUT IP核心从外部存储器中读取输入数据通过AXI4主界面。IP核心然后执行该算法计算并将结果写入DDR3内存通过AXI4主界面。的JTAG AXI主IP可以从DDR3内存读取结果,然后在MATLAB验证结果。

使用addAXI4MasterInterface的方法hdlcoder.ReferenceDesign类,您可以AXI4主接口的IP核心融入自己的自定义参考设计。

限制

  • 合成工具:必须Xilinx Vivado阿尔特拉第四的二世Xilinx ISE不支持。金宝app

  • 目标工作流程:使用IP核心代工作流。工作流运行,打开HDL工作流从DUT算法在仿真软件Advisor。金宝app不支持MATLAB HDL工作流。金宝app

  • 处理器/ FPGA同步:必须自由奔跑模式。

相关的例子

更多关于