主要内容

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

您可以在自定义参考设计中定义多个AXI Master接口,并在生成的高密度脂蛋白DUT IP核中为DUT访问AXI4从接口。这种能力使您能够同时将HDL DUT IP核连接到参考设计中的两个或多个AXI主IP,例如HDL Verifier™JTAG AXI Manager IP和ARM®Zynq的处理器®处理系统。

Vivado基于参考设计

要定义多个AXI Master接口,需要指定BaseAddressSpace而且MasterAddressSpaceIDWidth财产。

IDWidth是所有ID信号的宽度,例如AWIDWID干旱,,指定为正整数。默认情况下,IDWidth12,它允许您指定一个到DUT IP核的AXI Master接口连接。要将DUT IP核连接到多个AXI Master接口,您可能必须增加IDWidth.的IDWidth值与工具相关。要查看指定多个AXI Master接口时必须使用的值,请参阅该工具的文档。如果使用不正确的ID宽度,合成工具将生成一个错误,并报告正确的ID宽度IDWidth你必须使用它。

的语法MasterAddressSpace在Vivado中指定多个AXI Master接口时®基于参考设计:

“MasterAddressSpace”,…{'AXI主实例Name1/实例Name1的地址空间',…'AXI Master实例Name2/实例Name2的Address_Space ',…};

例如,这段代码说明了如何修改plugin_rd文件定义两个AXI Master接口。

%……添加自定义设计文件%添加自定义Vivado设计hRD.addCustomVivadoDesign (...“CustomBlockDesignTcl”“system_top.tcl”...“VivadoBoardPart”“xilinx.com: zc706: part0:1.0”);%……%……本参考设计中的DUT IP核已连接%到Zynq Processing System和AXI Manager IP。由于2 AXI Master, ID宽度必须增加%从12到13。hRD.addAXI4SlaveInterface (...“InterfaceConnection”“axi_interconnect_0 / M00_AXI”...“BaseAddress”, {“0 x40010000”“0 x40010000”},...“MasterAddressSpace”, {“processing_system7_0 /数据”“hdlverifier_axi_manager_0 / axi4m”},...“IDWidth”13);%……

在本例中,两个AXI主IP是HDL验证器、AXI管理器IP和ARM处理器。的语法MasterAddressSpace,对于HDL验证器AXI管理器IPAXI主实例名hdlverifier_axi_manager_0实例名称的Address_Spaceaxi4m

HDL DUT IP核中的AXI4从接口连接到Xilinx®接口定义的AXI互连IPInterfaceConnection的属性addAXI4SlaveInterface方法。AXI4从接口有一个BaseAddress.这BaseAddress必须映射到MasterAddressSpace为两个AXI主IP,指定为字符向量的单元格数组。

您必须确保在Vivado参考设计项目中已经包含了AXI Master ip。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 Master IP。如果您选择地址编辑器选项卡中,可以看到AXI Master实例名和相应的地址空间。

转换频率基于参考设计

要定义多个AXI Master接口,需要指定InterfaceConnection而且BaseAddressSpaceIDWidth财产。的语法InterfaceConnection在基于Qsys™的参考设计中指定多个AXI Master接口时:

“InterfaceConnection”,…{'AXI主实例Name1/实例Name1的端口名',…'AXI主实例Name2/实例Name1的端口名',…};

例如,这段代码说明了如何修改plugin_rd文件定义三个AXI Master接口。

%……添加自定义设计文件%添加自定义Qsys设计hRD.addCustomQsysDesign (“CustomQsysPrjFile”“system_soc.qsys”);hRD。CustomConstraints = {“system_soc.sdc”“system_setup.tcl”};%……添加AXI4从接口hRD.addAXI4SlaveInterface (...“InterfaceConnection”, {“hps_0.h2f_axi_master”“master_0.master”“AXI_Manager_0.axm_m0”},...“BaseAddress”, {“0 x0000_0000”“0 x0000_0000”“0 x0000_0000”},...“InterfaceType”“AXI4”...“IDWidth”14);%……

的语法InterfaceConnection选项,对于HDL验证器AXI管理器IP,则为AXI主实例名AXI_Manager_0端口名称axm_m0.对于每个AXI主IP,BaseAddress的高密度脂蛋白IP核和InterfaceConnection必须指定为字符向量的单元格数组。

您必须确保AXI Master ip已经包含在Qsys参考设计项目中。system_soc.qsys方法定义的文件是否为CustomQsysPrjFile的属性addCustomQsysDesign方法。在此文件中,必须确保两个AXI主IP连接到相同的Qsys AXI Interconnect IP。

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

在运行IP核生成工作流并创建Quartus®项目,打开项目。在Quartus项目中,您可以看到三个AXI主IP和连接到DUT的HDL IP核的AXI主接口。如果您选择地址映射选项卡中,可以看到AXI Master实例名、端口名和相应的地址空间。

另请参阅

|

相关的例子

更多关于