Amiya · 2021年08月09日

从Vivado定制IP流程看为什么有些IP看不到源文件

上次讲了如何创建包含源文件的IP,这次讲讲如何调用并验证包含源文件的IP设计。

调用并验证包含源文件的IP设计

第一步:启动Vivado集成开发环境。

第二步:在“Vivado2018”主界面下,选择“Create New Project”选项,弹出“New Project-Create a New Vivado Project”对话框。

1.png

第三步:单击【Next】按钮,弹出“New Project”对话框。在该对话框中,按如下参数进行设置。

  1. Project name:ip\_test
  2. Project location:xxx\test。
  3. 选中“Create project subdirectory”前面的复选框。

2.png

第四步:单击【Next】按钮,弹出“New Project-Project Type”对话框。在该对话框中,按如下参数进行设置。

  1. 选中“RTL Project”前面的复选框。
  2. 其他按默认设置。

3.png

第五步:单击【Next】按钮,弹出“New Project-Add Source”对话框,先不添加任何文件

第六步:单击【Next】按钮,弹出“New Project-Default Part”对话框。在该对话框中,选择元器件xc7k325t。

4.jpg

第八步:单击【Next】按钮,弹出“New Project-New Project Summary”对话框。

5.jpg

第九步:单击【Finish】按钮。

至此,完成新工程的创建。

设置包含调用IP的路径

本节将设置库名和目录。设置库名和目录的步骤如下所示。

第一步:在Vivado当前工程主界面左侧的“Flow Navigator”窗口中找到并展开“PROJECT MANAGER”选项。在展开项中,单击“Settings”选项。

6.jpg

第二步:弹出如图所示的“Settings”对话框。在该对话框左侧的窗口中,选择并展开“IP”选项。

7.jpg

在展开项中,选择“Repository”选项。在右侧窗口中,单击+按钮,弹出“IP Repositories”对话框。

8.jpg

第三步:将“Directory”指向“XXXX\gate\_ip”路径(上一节建立的IP路径)。

9.jpg

第四步:单击【Select】按钮。

第五步:弹出“Add Repository”对话框。在该对话框中,提示己经添加了一个IP容器。

10.jpg

第六步:单击【OK】按钮,退出“Add Repository”对话框。

第七步:如图所示,可以看到在“IP Repositories”标题栏下面的窗口中新添加了IP的路径。

11.png

第八步:单击【OK】按钮,退出“Settings”对话框。

创建基于IP的系统

源文件创建工程文件

第一步:【Flow Navigateor】-【Add source】按钮

12.jpg

弹出“Add Sources“对话框。在该对话框中,单击【Add or crete design source】按钮,弹出“Add Source Files”对话框。13.jpg

选择“Create file”.

14.jpg

输入问价名“ip\_test”,接下来点击【OK】。

15.jpg

点击【FINISH】

16.jpg

点击【OK】,不添加任何端口。

17.jpg

第三步:单击【OK】按钮,在Vivado当前工程主界面右侧的窗口中出现名字为“ip\_test.v”的空白文件,双击进入文件编辑页面。

18.png

第四步,工程主界面左侧的“Flow Navigator”窗口中找到并展开“PROJECT MANAGER”选项,点击“IP Catalog”

19.jpg

弹出如图所示的IP查找对话框。在该对话框中,在“Search”右侧的文本框中输入“gate”,gate\_v1\_0的IP核就会出现在下面的窗口中。双击“gate\_v1\_0”这一行,将IP添加到设计界面中。

20.jpg

“Customize IP”对话框,该对话框给出了IP的符号,以及可修改的参数配置。在该设计中,通过下拉框,将“Delay”的值从默认的3改为5。单击【OK】按钮。

21.png

如图所示,可以看到在设计界面中添加了名字为“gate\_0”的IP核。

22.png

这样IP就添加到了工程里了,接下来就是进行例化和仿真,和以前的操作模式没什么区别,下面讲一下Vivado的BD模式创建工程文件。

BD模式创建工程文件

第一步:在Vivado当前工程主界面左侧的“Flow Navigator”窗口中找到并展开“IP INTEGRATOR”选项。在展开项中,选择“Create Block Design”选项。

23.jpg

第二步:弹出如图所示的“Create Block Design”对话框。在该对话框中,按如下参数进行设置。

  1. Design name:ip\_test
  2. 其他按默认参数设置。

24.jpg

第三步:单击【OK】按钮,在Vivado当前工程主界面右侧的窗口中出现名字为“Diagram”的空白设计界面,如图所示。在该界面中,单击+按钮。

25.jpg

第四步,弹出如图所示的IP查找对话框。在该对话框中,在“Search”右侧的文本框中输入“gate”,gate\_v1\_0的IP核就会出现在下面的窗口中。双击“gate\_v1\_0”这一行,将IP添加到设计界面中。

26.jpg

27.jpg

第五步,双击设计界面内名字为“gate\_0”的IP图标,“Recustomize IP”对话框,该对话框给出了IP的符号,以及可修改的参数配置。在该设计中,通过下拉框,将“Delay”的值从默认的3改为5。单击【OK】按钮。

28.png

第七步:将鼠标光标移动到gate\_0 IP端口a的引出线上,单击鼠标右键,出现浮动菜单。在浮动菜单内,执行菜单命令【Make External...】(快捷键Ctrl + T)。

29.jpg

第八步:类似地,将鼠标光标移动到gate\_0 IP端口b的引出线上,单击鼠标右键,出现浮动菜单。在浮动菜单内,执行菜单命令【Make External...】。

第九步:将鼠标光标移动到gate\_0 IP端口z[5:0]的引出线上,单击鼠标右键,出现浮动菜单。在浮动菜单内,执行菜单命令【Make External...】。

30.jpg

第十步:如图所示,选中名字为“a\_0”的端口,在左侧的“External Port Properties”窗口中,通过“Name:”右侧的文本框,将该端口的名字改为“a”。类似地,将名字为“b\_0”的端口的名字改为“b”,将名字为“z\_0”的端口的名字改为“z”,并保存修改后的设计。

31.jpg

第十—步:如图所示,在“Sources”窗口中,选择“ip\_test.bd”文件,单击鼠标右键,弹出浮动菜单。在浮动菜单内,执行菜单命令【Generate Output Products....】。

32.jpg

第十二步:如图所示,弹出“Generate Output Products”对话框。单击【Generate】按钮。

33.jpg

关于上面三种模式可以参考《【每周一问】Vivado综合时突然OCC模式弹不出来了

第十四步:如图所示,在“Sources”窗口中,选择“ip\_test.bd”文件,单击鼠标右键,弹出浮动菜单。在浮动菜单内,执行菜单命令【Create HDL Wrapper....】。

34.jpg

第十五步:弹出如图所示的“Create HDL Wrapper”对话框。在该对话框中,选中“Let Vivado manage wrapper and auto-update”前面的复选框,单击【OK】按钮。

35.png

接下来进行仿真,这部分不进行详细解释,添加ip\_test\_tb.v文件到工程,如下:

36.png

具体内容如下:

37.png

接下来进行行为仿真:

38.jpg

仿真结果:

39.jpg

综合结果分析

第一步:在Vivado当前工程主界面左侧的“Flow Navigator”窗口中找到并展开“SYNTHESIS”选项。在展开项中,选择“Run Synthesis”选项,启动综合过程。

40.jpg

第二步:等待综合完成后,打开综合后的原理图界面,如图所示。

41.jpg

42.jpg

箭头部分就是我们设计的IP,以“黑盒”形式存在。

双击箭头的+号,可以查看IP的内部结构:

43.png

总结

该模式下引用的是可以查看源文件的IP,通过下图:

44.png

就可以通过新打开一个Vivado工程查看源文件:

45.png

作者:比特波特
原文链接:https://mp.weixin.qq.com/s/JltxeaarRtLQbXm6qKGQ2Q
微信公众号:
hack电子.jpg

推荐阅读

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
19493
内容数
1300
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息