主要内容

在参考设计中定义多个AXI主接口以访问DUT AXI4从接口

您可以在自定义参考设计中定义多个AXI主接口,并在生成的HDL DUT IP内核中访问AXI4从接口进行DUT。此功能使您可以在参考设计中同时将HDL DUT IP核心连接到两个或更多AXI母版IP,例如HDL Verifer™JTAG AXI Master IP和ARM®Zynq中的处理器®处理系统。

Vivado.基于参考设计

要定义多个AXI主接口,请指定BaseAddressspace.masteraddressspace.对于每个AXI主实例,以及Idwidth.财产。

Idwidth.是所有ID信号的宽度,例如德国干旱, 和摆脱,指定为正整数。默认情况下,Idwidth.12.,这使您可以指定与DUT IP核心的一个AXI主接口连接。要将DUT IP核心连接到多个AXI主界面,您可能必须增加Idwidth.。这Idwidth.值是特定于工具。要查看指定多个AXI主界面时必须使用的值,请参阅该工具的文档。如果使用ID宽度不正确,则综合工具会生成错误,并报告正确的错误Idwidth.你必须使用。

此代码是语法masteraddressspace.在Vivado中指定多个AXI主接口时的字段®基于参考设计:

'masteraddressspace',... {'axi master实例名称1 /地址空间姓名1',...'axi master实例名称2 /地址_strame_space of实例名称2',...};

例如,此代码说明了如何修改的方式plugin_rd.文件要定义两个AXI主接口。

%......%%添加自定义设计文件%添加自定义Vivado设计hrd.addcustomvivadodesigne(......'customblockdesigntcl''system_top.tcl'......'vivadoboardpart''xilinx.com:zc706:part0:1.0');%......%......该参考设计中的DUT IP核心已连接%到Zynq处理系统和MATLAB为AXI%主IP。由于2 AXI主,ID宽度%必须从12到13增加。hrd.addaxi4slaveInterface(......'InterfaceConnection''axi_interconnect_0 / m00_axi'......'baseaddress',{'0x40010000''0x40010000'},......'masteraddressspace',{'processing_system7_0 / data''hdlverifier_axi_master_0 / axi4m'},......'Idwidth',13);%......

在此示例中,两个AXI主IP是HDL验证器MATLAB作为AXI主IP和ARM处理器。基于该语法masteraddressspace.,对于HDL验证程序MATLAB作为AXI主IP,AXI主实例名称hdlverifier_axi_master_0.Address_space的实例名称AXI4M.

HDL DUT IP Core中的AXI4从属接口连接到Xilinx®AXI互连IP由其定义interfaceConnection.财产的财产addaxi4slaveInterface.方法。AXI4从接口有一个底刀。这底刀必须映射到masteraddressspace.对于两个AXI主IP,该IP被指定为字符向量的单元格数组。

您必须确保AXI Master IP已经包含在Vivado参考设计项目中。system_top.tcl.是由tcl文件定义的customblockdesigntcl.财产的财产AddCustomvivAdodesign.方法。在此TCL文件中,您必须确保两个AXI主IP连接到相同的Xilinx Axi InterConnect IP。然后,互连将AXI主IP连接到HDL IP核心中的AXI4从属接口。

跑了IP核心生成工作流程并创建Vivado项目,打开项目。在Vivado项目中,如果打开块设计,可以看到连接到HDL DUT IP内核的两个AXI主设备。如果你选择地址编辑器选项卡,您可以看到AXI主实例名称和相应的地址空间。

QSYS.基于参考设计

要定义多个AXI主接口,请指定interfaceConnection.BaseAddressspace.对于每个AXI主实例,以及Idwidth.财产。此代码是语法interfaceConnection.在基于QSYS™的参考设计中指定多个AXI主接口时的字段:

“InterfaceConnection”,... {'AXI Master实例名称1 /端口名称1',...'Axi Master实例名称2 /端口名称Inducts Name1',...};

例如,此代码说明了如何修改的方式plugin_rd.文件定义三个AXI主接口。

%......%%添加自定义设计文件%添加自定义Qsys设计hrd.addcustomqsysdesign('customicysysprjfile''system_soc.qsys');hrd.customConstraints = {'system_soc.sdc''system_setup.tcl'};%......%添加AXI4从接口hrd.addaxi4slaveInterface(......'InterfaceConnection',{'hps_0.h2f_axi_master''master_0.master''matlab_as_axi_master_0.axm_m0'},......'baseaddress',{'0x0000_0000''0x0000_0000''0x0000_0000'},......'interfacetype''axi4'......'Idwidth',14);%......

基于该语法interfaceConnection.选项,用于HDL验证程序MATLAB作为AXI Master IP,AXI主实例名称matlab_as_axi_master_0.端口名称AXM_M0.。对于每个AXI母版IP,所述底刀HDL IP核心和interfaceConnection.必须指定为字符向量的单元格数组。

您必须确保AXI Master IP已包含在QSYS参考设计项目中。system_soc.qsys.是由该文件定义的文件customicysysprjfile.财产的财产addcustomqsysdesign.方法。在此文件中,您必须确保两个AXI主IP连接到相同的QSYS AXI互连IP。

然后,互连将AXI主IP连接到HDL IP核心中的AXI4从属接口。

跑了IP核心生成工作流程并创建Quartus®项目,打开项目。在Quartus项目中,您可以看到三个AXI主IP和连接到DUT的HDL IP核心的AXI主接口。如果你选择地址地图选项卡,您可以看到AXI主实例名称,端口名称和相应的地址空间。

也可以看看

|

相关例子

更多关于