主要内容

定义并将IP存储库添加到自定义参考设计中

创建自定义参考设计时,您可能需要无需附带的自定义IP模块®Qsys或Xilinx.®Vivado®。要使用自定义IP模块,请创建自己的IP存储库文件夹,该文件夹包含IP模块子文件夹。这IP核心生成然后工作流程在创建参考设计项目时使用这些自定义IP模块。您可以在自定义参考设计项目中创建多个IP存储库,并在每个存储库中添加全部或某些IP模块。您还可以在多个参考设计中重用和共享IP存储库。

创建IP存储库文件夹结构

在MATLAB上的任何位置创建IP存储库文件夹®小路。此图显示了典型的IP存储库文件夹结构。

创建文件夹结构时,使用命名约定+(公司)/ +(产品)/ +(工具)。在此示例中,文件夹结构是+(MathWorks)/ +(HDLCoder)/ +(Vivado)。文件夹+ Vivado.充当IP存储库。此文件夹包含对应于IP模块的子文件夹,例如axi4stohdmi.HDMitoaxis.。该文件夹也包含一个hdlcoder_video_iplist.Matlab功能。使用此功能,请指定要添加到参考设计的IP模块。

相同的存储库文件夹可以具有多个MATLAB函数。该图显示了两个MATLAB功能,hdlcoder_video1_iplist.hdlcoder_video2_list., 在里面+ Vivado.文件夹。函数可以在存储库中共享相同的IP模块或指向不同的IP模块。

笔记

如果合成工具是Xilinx Vivado,则存储库文件夹中的IP模块可以采用ZIP文件格式。

定义IP列表函数

创建一个matlab函数,指定要添加到参考设计的IP模块。在IP存储库文件夹中保存此函数。对于函数名称,请使用命名约定hdlcoder_ _iplist。这个例子用途hdlcoder_video_iplist.作为函数名称,因为它针对视频应用程序。使用此功能,指定是否要将存储库中的全部或某些IP模块添加到参考设计项目。要添加所有IP模块,请使用空单元格数组IPLIST.。此MATLAB代码显示如何将存储库中的所有IP模块添加到参考设计。

功能[IPLIST] = HDLCODER_VIDEO_IPLIST()存储库文件夹中的%所有IP模块。iplist = {};
您可以指定根目录作为IP列表函数的可选第二个输出参数。在这种情况下,IP模块不必位于相对于IP列表功能的路径中。IP存储库也可以位于Matlab路径之外。

如果未指定根目录,则该功能将搜索IP模块相对于其位置。

功能[IPLAST,rootdir] = HDLCODER_VIDEO_IPLIST()%具有根目录的所有IP模块。iplist = {};
要添加文件夹中的一些IP模块,请将IP模块指定为字符向量的单元格数组。此MATLAB代码指定axi4stohdmi.知识产权和书籍HDMitoaxis.IP作为IP模块添加到自定义参考设计。
功能[IPLIST] = HDLCODER_VIDEO_IPLIST()%AXI4STOHDMI和存储库文件夹中的HDMITOAXIS IP。iplist = {'axi4stohdmi''hdmitoaxis'};

将IP列表函数添加到参考设计项目

使用addiprepository.方法的方法hdlcoder.referencedesign.类,将IP列表函数添加到自定义参考设计。此示例参考设计添加hdlcoder_video_iplist.到自定义参考设计我的参考设计

功能hrd = plugin_rd()%参考设计定义%构造参考设计对象hrd = hdlcoder.referenceSign('合成池''Xilinx Vivado');hrd.referencedesignname =.'我的参考设计';hrd.boardName =.'zedboard'%工具信息hrd.万博1manbetxsupportedtoolversvers = {'2016.2'};%%添加自定义设计文件hrd.addcustomvivadodesigne(......'customblockdesigntcl''system_top.tcl'......'vivadoboardpart''em.avnet.com:zed:part0:1.0');%添加IP存储库hrd.addiprepository(......'iplistfunction''mathworks.hdlcoder.vivado.hdlcoder_video_iplist''notexistmessage''未找到IP存储库');%......%......

要在代码生成器创建项目时使用IP模块,请打开HDL工作流程顾问,并运行IP核心生成工作流向创建项目任务。运行此任务后,您可以在复制到的存储库中看到IP模块子文件夹Ipcore.项目文件夹。这customblockdesigntcl.然后可以使用这些IP模块。

也可以看看

|

相关例子

更多关于