当您创建自定义参考设计时,可能需要不随Altera提供的自定义IP模块®Qsys或Xilinx®万岁®。若要使用自定义IP模块,请创建包含IP模块子文件夹的您自己的IP存储库文件夹IP核心生成
然后,工作流在创建参考设计项目时使用这些自定义IP模块。您可以创建多个IP存储库,并将每个存储库中的所有或部分IP模块添加到自定义参考设计项目中。您还可以跨多个参考设计重用和共享IP存储库。
在MATLAB上的任意位置创建IP存储库文件夹®此图显示了典型的IP存储库文件夹结构。
创建文件夹结构时,请使用命名约定+(公司)/+(产品)/+(工具)
。在此示例中,文件夹结构为+(mathworks)/+(hdlcoder)/+(vivado)
.文件夹+万岁
充当IP存储库。此文件夹包含与IP模块对应的子文件夹,如AXI4StoHDMI
和有丝分裂轴
。该文件夹还包含hdlcoder\u视频\u iplist
MATLAB函数。使用此函数,指定要添加到参考设计中的IP模块。
同一个存储库文件夹可以有多个MATLAB函数。此图显示了两个MATLAB函数,hdlcoder\u video1\u iplist
和hdlcoder\u video2\u列表
,在+万岁
这些函数可以共享相同的IP模块,也可以指向存储库中的不同IP模块。
注
如果您的合成工具是Xilinx Vivado,则存储库文件夹中的IP模块可以是zip文件格式。
创建一个MATLAB函数,指定要添加到参考设计中的IP模块。将此功能保存在IP存储库文件夹中。对于函数名,使用命名约定hdlcorder\uu
. 本例使用hdlcoder\u视频\u iplist
作为函数名,因为它以视频应用程序为目标。使用此函数,指定是要将存储库中的所有或部分IP模块添加到参考设计项目。若要添加所有IP模块,请使用空单元格数组知识产权清单
. 此MATLAB代码显示如何将存储库中的所有IP模块添加到参考设计中。
功能[ipList]=hdlcoder\u video\u ipList()%存储库文件夹中的所有IP模块。ipList={};
如果未指定根目录,则函数将根据其位置搜索IP模块。
功能[ipList,rootDir]=hdlcoder\u video\u ipList()%具有根目录的所有IP模块。ipList={};
AXI4StoHDMI
知识产权与知识产权有丝分裂轴
IP作为要添加到自定义参考设计中的IP模块。功能[ipList]=hdlcoder\u video\u ipList()%存储库文件夹中的AXI4StoHDMI和HDMItoAXIS IP。ipList={“AXI4StoHDMI”,“HDM轴”};
使用附加前置词
方法hdlcoder.ReferenceDesign
类,将IP列表函数添加到自定义参考设计中。此示例参考设计添加了hdlcoder\u视频\u iplist
到自定义参考设计我的参考设计
.
功能hRD=插件_rd()%参考设计定义%构造参考设计对象hRD=hdlcoder.ReferenceDesign(“大便”,“Xilinx Vivado”);hRD.ReferenceDesignName=“我的参考设计”;hRD.BoardName=“ZedBoard”%工具信息hRD.金宝appSupportedToolVersion={'2016.2'};%%添加自定义设计文件hRD.addCustomVivadoDesign(...“CustomBlockDesignTcl”,“system_top.tcl”,...“VivadoBoardPart”,'em.avnet.com:zed:part0:1.0');%添加IP存储库附加前置词(...“IPListFunction”,'mathworks.hdlcoder.vivado.hdlcoder\u video\u iplist',“NotExistMessage”,“找不到IP存储库”);% ...% ...
要在代码生成器创建项目时使用IP模块,请打开HDL Workflow Advisor,然后运行IP核心生成
工作流程到创建项目任务。运行此任务后,您可以看到存储库中的IP模块子文件夹已复制到知识产权核
项目的文件夹。这个CustomBlockDesignTcl
然后可以使用这些IP模块。
hdlcoder.Board
|hdlcoder.ReferenceDesign