您可以在自定义参考设计中定义多个AXI主接口,并在生成的HDL DUT IP内核中访问AXI4从接口进行DUT。此功能使您可以在参考设计中同时将HDL DUT IP核心连接到两个或更多AXI母版IP,例如HDL Verifer™JTAG AXI Master IP和ARM®Zynq中的处理器®处理系统。
要定义多个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主实例名称和相应的地址空间。
要定义多个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主实例名称,端口名称和相应的地址空间。
hdlcoder.board.board.board.board.
|hdlcoder.referencedesign.