创建包含源文件的IP-带有参数
有时候我们想参考官方的源码,但是有些IP怎么也找不到官方的源码,具体原因是什么呢?
下面从下面两种Vivado创建IP的流程看下具体的原因。
整个系列文章分为以下几个内容:
所谓“数字积木”,就是Vivado集成开发环境基于IP的 “积木块”设计思想。
VIvado中IP定制化流程如下:
来源UG896
IP目录将来自下面的IP统一到一个环境中,这些IP包括XilinxIP、第三方IP和用户IP。
基于IP-XACT标准,VivadoIP封装器工具提供了独一无二的“重用”特性。IP封装器为Vivado的任何用户提供了一种能力,即将设计流程任意阶段的一个设计进行封装,然后将该IP作为一个系统级的IP进行使用。
创建包含源文件的IP-带有参数
第一步:在操作系统下,执行菜单命令【开始】-【所有程序】-【Xilinx Design Tools】-【Vivado2018】点击【Vivado2018】,启动Vivado集成开发环境。
第二步:在“Vivado2018”主界面下,选择“Create New Project”选项,弹出“New Project-Createa New Vivado Project”对话框。
第三步:单击【Next】按钮,弹出“New Project”对话框。在该对话框中,按如下参数进行设置。
(1)Project name:gateip;
(2)Project location:XXX\test;
(3)选中“Create project subdirectory”前面的复选框。
第四步:单击【Next】按钮,弹出“New Project-Project Type”对话框。在该对话框中,按如下参数进行设置。
(1)选中“RTL Project”前面的复选框;
(2)其他按默认设置。
第七步:单击【Next】按钮,弹出“New Project-Default Part”对话框。在该对话框中,选择器件“xc7k325tffg900-2”。
第八步:单击【Next】按钮,弹出“New Project-New Project Summary”对话框。
第九步:单击【Finish】按钮。
至此,完成新工程的创建。
接下来添加文件
第一步:【Flow Navigateor】-【Add source】按钮
弹出“Add Sources“对话框。在该对话框中,单击【Add or crete design source】按钮,弹出“Add Source Files”对话框。在该对话框中,定位到XXXX\source路径。
在该路径下,选择gate.v文件。可以看到在“Add Sources”对话框中添加了gate.v文件,并且注意下面的设置。
gate.v文件
第六步:单击【Finish】按钮。
设置库名和目录的步骤如下所示
第一步:在Vivado当前工程主界面左侧的“FlowNavigator”窗口中找到并展开“PROJECT MANAGER”选项。在展开项中,单击“Settings”选项。
第二步:弹出如图所示的“Settings”对话框。在该对话框的左侧窗口中,找到并展开“IP”选项。在展开项中找到并选择“Packager”选项。在该对话框的右侧窗口中,按如下参数进行设置。
(1)Vendor:Xilinx.com
(2)Library:user
(3)Category: /UserIP
(4)其他按默认参数设置。
第三步:单击【OK】按钮,退出“Settings”对话框。
封装定制IP的实现
封装IP的步骤如下所示。
第一步:在Vivado当前工程主界面的主菜单下,执行菜单命令【Tools】-【Createand IP Package...】;
第二步:弹出“Create and Package New IP”对话框。
第三步:单击【Next】按钮。
第四步:弹出“Create and Package New IP-Create Peripheral,Package IP or Packagea Block Design”对话框。在该对话框中,选中“Package your current project”前面的复选框。
第五步:单击【Next】按钮,弹出“Create and Package NewIP-Package Your Current Project”对话框。在该对话框中,按默认参数设置;
第六步:单击【Next】按钮,弹出“Create and Package New IP-New IP Creation”对话框。
第七步:单击【Finish】按钮,弹出“Package IP”提示对话框。
第八步:单击【OK】按钮,在Vivado右侧窗口中,出现配置IP参数的界面。如图所示,给出了“Identification”参数配置对话框。在该对话框中,按如下参数进行设置。
(1)Library:userdefme(与前面声明的库名称一致)。
(2)Name:gate
(3)Verison:1.0
(3)Display name:gate_v1_0
(4)Description: 2 input multi_gate with same DELAY configuration parameter
(5)Vendor display name:GPNT
(6)Companyurl:空着即可
(7)其他按默认参数设置。
第九步:选择“Compatibility”选项。
第十步:弹出如图所示的“Compatibility”参数配置对话框,该配置对话框用于确认该IP所支持的FPGA的类型
第十一步:单击“File Groups”选项,弹出如图所示的“File Groups”参数配置对话框
在该对话框中,设计者可以添加一些额外的文件,如测试平台文件。
第十二步:单击 “Customization Parameters”选项。如图所示,弹出“Customization Parameters”参数配置对话框,可以看出从gate.v文件中提取了参数DELAY。
第十三步:双击上图中“Delay”一行,弹出如图所示的“Edit IP Parameter”对话框。
(1)“Editable”选项用于决定用户是不是可以修改该参数的值,如果不想让用户修改该参数的值,则可以将“Yes”修改为“No”。
(2)“Format”选项确定值的数据格式,可选项有long、float、bool、bit string和string。设计者可以通过右侧下拉框修改数据格式的值。
(3)“Specify Range”选项用于确定其值是不是有限制。在该设计中,勾选“Specify Range”前面的复选框,表示“Delay”可选的值是有限的。
(4)在“Type”后的复选框中选择“List of values”,表示有有限个值
第十四步:如图所示,单击该对话框中的+按钮,在“List of values”下出现输入文本框框
在文本框中输入3
按照这个方法,再添加5、7、9三个数,图中给出的是输入完4个值后的界面
在“Show As”右侧的下拉框中选择“Drop List”(表示用户可以通过下拉框选择不同的值);在“Default Value”右侧的下拉框中选择3,表示默认值为3
第十五步:单击【OK】按钮,退出“Edit IP Parameter”对话框。
第十六步:单击“Customization GUI”选项,弹出如图所示的“Customization GUI”对话框。该对话框给出了输入/输出端口,以及带有默认值的参数选项。
第十七步:选择 “Review and Package”选项,弹出“Review and Package”对话框,在该对话框中单击【Package IP】按钮,如图所示。
第十八步:弹出“Package IP”对话框,提不“Finished packaging ‘gate_v_l_0’successfully”消息,提示封装IP成功。
第十九步:单击【OK】按钮。
第二十步:在Vivado当前工程主界面的主菜单下,执行菜单命令【File】-【Close Project】,关闭当前的工程。