主要内容

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

当您创建自定义参考设计时,可能需要不随Altera提供的自定义IP模块®Qsys或Xilinx®万岁®。若要使用自定义IP模块,请创建包含IP模块子文件夹的您自己的IP存储库文件夹IP核心生成然后,工作流在创建参考设计项目时使用这些自定义IP模块。您可以创建多个IP存储库,并将每个存储库中的所有或部分IP模块添加到自定义参考设计项目中。您还可以跨多个参考设计重用和共享IP存储库。

创建IP存储库文件夹结构

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

创建文件夹结构时,请使用命名约定+(公司)/+(产品)/+(工具)。在此示例中,文件夹结构为+(mathworks)/+(hdlcoder)/+(vivado).文件夹+万岁充当IP存储库。此文件夹包含与IP模块对应的子文件夹,如AXI4StoHDMI有丝分裂轴。该文件夹还包含hdlcoder\u视频\u iplistMATLAB函数。使用此函数,指定要添加到参考设计中的IP模块。

同一个存储库文件夹可以有多个MATLAB函数。此图显示了两个MATLAB函数,hdlcoder\u video1\u iplisthdlcoder\u video2\u列表,在+万岁这些函数可以共享相同的IP模块,也可以指向存储库中的不同IP模块。

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

定义IP列表函数

创建一个MATLAB函数,指定要添加到参考设计中的IP模块。将此功能保存在IP存储库文件夹中。对于函数名,使用命名约定hdlcorder\uu\uIPList. 本例使用hdlcoder\u视频\u iplist作为函数名,因为它以视频应用程序为目标。使用此函数,指定是要将存储库中的所有或部分IP模块添加到参考设计项目。若要添加所有IP模块,请使用空单元格数组知识产权清单. 此MATLAB代码显示如何将存储库中的所有IP模块添加到参考设计中。

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

如果未指定根目录,则函数将根据其位置搜索IP模块。

功能[ipList,rootDir]=hdlcoder\u video\u ipList()%具有根目录的所有IP模块。ipList={};
要添加文件夹中的某些IP模块,请将IP模块指定为字符向量的单元数组AXI4StoHDMI知识产权与知识产权有丝分裂轴IP作为要添加到自定义参考设计中的IP模块。
功能[ipList]=hdlcoder\u video\u ipList()%存储库文件夹中的AXI4StoHDMI和HDMItoAXIS IP。ipList={“AXI4StoHDMI”,“HDM轴”};

将IP列表功能添加到参考设计项目

使用附加前置词方法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模块。

另见

|

相关实例

更多关于