crazybird

【原创】vivado之IP定制封装(二)

1
阅读(5045)

在上一篇博文中已经介绍了IP定制封装的工程建立,博文地址为http://blog.chinaaet.com/crazybird/p/5100000557。在博文中继续介绍IP定制封装的参数配置,并给出参数的配置影响着IP的哪些特性。

一、IP信息识别选项卡(Identification)

图1所示,在IP信息识别选项卡中分别输入以下信息:

<1>供应商名称(Vendor):CrazyBird;

<2>IP所属库(Library):user;

<3>IP名称(Name):counter;

<4>IP的版本号(Version):1.0; 以上4点信息组成IP唯一的识别信息,像人的身份证是独一无二的,即VLNV。

<5>IP在IP目录中显示的名称(Display name):counter_v1_0;

<6>对IP的描述信息(Description):counter_v1_0;

<7>供应商显示的名称(Vendor display name):CrazyBird;

<8>供应商URL(Company url):http://blog.chinaaet.com/crazybird;(这里是我博客的主页)

<9>IP在IP目录下的类别(Category):/UserIP。

此外,Root directory是IP存放的位置以及Xml文件的位置(该文件管理IP各种配置参数)。

IP识别信息选项卡.png

图1 IP信息识别选项卡参数配置

IP封装后,图1中的参数可在图2、图3和图4中显示(相同数字对应)。

IP在IP目录中的显示名称和所属类别.png

图2 IP目录

IP属性.png

图3 IP属性

供应商URL.png

图4 定制IP界面

其实,关于IP在IP目录中所属类别是可以设置的,点击图1的数字“7”所在按钮,如图5所示。我们可以选择已存在的类别,也可以添加新的类别,在对话框上面输入“/”再输入类别名称。添加或选择完成后点击OK。

选择IP所属类别.png

图5 选择IP所属类别

二、IP兼容器件选项卡(Compatibility)

图6所示,在IP兼容器件选项卡中,可以通过点击右键添加或删除IP所兼容的器件以及IP的生命周期。如果生命周期选择Discontinued、Superseded、Hidden或Removed,则该IP封装后在IP目录中不可见。本设计在该选项卡中不做任何参数的设置。

设置IP所兼容的器件.png

图6 设置IP所兼容的器件和IP的生命周期

如果工程的目标器件与IP兼容的话,IP便可在IP目录中可见;IP的生命周期则可在IP属性中查看,如图7所示。

IP的生命周期.png

图7 IP生命周期

三、文件组管理选项卡(File Groups)

在File Groups中可对IP封装用到的文件进行管理,如综合、仿真、界面组织文件,如图8所示。

文件组选项卡.png

图8 文件组管理选项卡

在这里,介绍一下如何为我们封装的IP添加指导教程。在File Groups选项卡中右键点击,选择“Add File Group...”,在弹出来的对话框中选择“Product Guide”,如图9所示。点击“OK”,完成文件组的添加,如图10所示。

添加Reference文件组.png

图9 选择“Product Guide”文件组

Reference文件组.png

图10“Product Guide”文件组

接着右击“Product Guide”文件组,选择“Add Files...”,在弹出来的对话框中点击“Add Files...”按钮,找到guide.pdf文档(这里随便找个pdf文档举例),如图11所示。点击OK完成PDF文件的选择。

选择guide.pdf文档.png

图11 选择guide.pdf文档

选择复制文档到工程中(不要关联,避免以后文档的迁移导致查阅文档的工程失效),如图12所示。点击OK完成文档的添加。

选择复制文档到工程中.png

图12 勾选“Copy sources into project”

IP封装后,在定制IP时可点击“Project Guide”查看IP指导文档,如图13所示。点击后打开的文档如图14所示。

点击Project.png

图13 IP中出现“Project Guide”选项

验证平台指导规范.png

图14 打开PDF文档


四、定制参数选项卡(Customization Parameters)

定制参数选项卡如图15所示。本设计是一个C_CNT_TOP进制计数器,我希望通过设置C_CNT_TOP的大小来控制计数器的位宽C_CNT_WIDTH(C_CNT_WIDTH=ceil(log2(C_CNT_TOP))),其中ceil(C_CNT_TOP)是求大于等于C_CNT_TOP的最小整数。

parameter.png

图15 定制参数选项卡

双击参数C_CNT_WIDTH,弹出的对话框如图16所示。可以选择该参数在IP图形界面是否可见,这里选择可见;可以设置参数在图形界面显示名称,这里为Cnt_Width;由于位宽参数C_CNT_WIDTH的大小由参数C_CNT_TOP决定,所以这里选择参数不可编辑;数据类型选整形;参数C_CNT_WIDTH选由表达式决定,而表达式的计算是符合TCL语法的,详情可参考博文http://blog.chinaaet.com/crazybird/p/5100000542,又因为TCL中没有以2为底的对数函数log2(N),故需要对该函数进行换底运算即log10(N)/log10(2),再结合前面介绍的C_CNT_WIDTH的求解便可在图16编辑框中输入符合TCL语法的表达式;可以设置参数C_CNT_WIDTH的默认值,这里为7,因为C_CNT_TOP的默认值为100。其他参数的设置就不作过多的介绍了(包括参数的条件限制等)。参数设置后点击OK。

C_CNT_width.png

图16 设置参数C_CNT_WIDTH

IP封装后,在定制IP时的默认参数如图17所示。其中参数Cnt_Width是不可编辑的。

IP默认参数.png

图17 定制IP时的默认参数

修改参数Cnt_Top的值,如800,如图18所示。可以发现参数Cnt_Width跟着改变,经过验证,数值是正确的。

修改参数Cnt_Top.png

图18 修改参数Cnt_Top为800


为了避免篇幅过长,剩下的内容另起另一篇博文。

Baidu
map