上次讲了如何创建包含源文件的IP,这次讲讲如何调用并验证包含源文件的IP设计。
调用并验证包含源文件的IP设计
第一步:启动Vivado集成开发环境。
第二步:在“Vivado2018”主界面下,选择“Create New Project”选项,弹出“New Project-Create a New Vivado Project”对话框。
第三步:单击【Next】按钮,弹出“New Project”对话框。在该对话框中,按如下参数进行设置。
- Project name:ip\_test
- Project location:xxx\test。
- 选中“Create project subdirectory”前面的复选框。
第四步:单击【Next】按钮,弹出“New Project-Project Type”对话框。在该对话框中,按如下参数进行设置。
- 选中“RTL Project”前面的复选框。
- 其他按默认设置。
第五步:单击【Next】按钮,弹出“New Project-Add Source”对话框,先不添加任何文件
第六步:单击【Next】按钮,弹出“New Project-Default Part”对话框。在该对话框中,选择元器件xc7k325t。
第八步:单击【Next】按钮,弹出“New Project-New Project Summary”对话框。
第九步:单击【Finish】按钮。
至此,完成新工程的创建。
设置包含调用IP的路径
本节将设置库名和目录。设置库名和目录的步骤如下所示。
第一步:在Vivado当前工程主界面左侧的“Flow Navigator”窗口中找到并展开“PROJECT MANAGER”选项。在展开项中,单击“Settings”选项。
第二步:弹出如图所示的“Settings”对话框。在该对话框左侧的窗口中,选择并展开“IP”选项。
在展开项中,选择“Repository”选项。在右侧窗口中,单击+按钮,弹出“IP Repositories”对话框。
第三步:将“Directory”指向“XXXX\gate\_ip”路径(上一节建立的IP路径)。
第四步:单击【Select】按钮。
第五步:弹出“Add Repository”对话框。在该对话框中,提示己经添加了一个IP容器。
第六步:单击【OK】按钮,退出“Add Repository”对话框。
第七步:如图所示,可以看到在“IP Repositories”标题栏下面的窗口中新添加了IP的路径。
第八步:单击【OK】按钮,退出“Settings”对话框。
创建基于IP的系统
源文件创建工程文件
第一步:【Flow Navigateor】-【Add source】按钮
弹出“Add Sources“对话框。在该对话框中,单击【Add or crete design source】按钮,弹出“Add Source Files”对话框。
选择“Create file”.
输入问价名“ip\_test”,接下来点击【OK】。
点击【FINISH】
点击【OK】,不添加任何端口。
第三步:单击【OK】按钮,在Vivado当前工程主界面右侧的窗口中出现名字为“ip\_test.v”的空白文件,双击进入文件编辑页面。
第四步,工程主界面左侧的“Flow Navigator”窗口中找到并展开“PROJECT MANAGER”选项,点击“IP Catalog”
弹出如图所示的IP查找对话框。在该对话框中,在“Search”右侧的文本框中输入“gate”,gate\_v1\_0的IP核就会出现在下面的窗口中。双击“gate\_v1\_0”这一行,将IP添加到设计界面中。
“Customize IP”对话框,该对话框给出了IP的符号,以及可修改的参数配置。在该设计中,通过下拉框,将“Delay”的值从默认的3改为5。单击【OK】按钮。
如图所示,可以看到在设计界面中添加了名字为“gate\_0”的IP核。
这样IP就添加到了工程里了,接下来就是进行例化和仿真,和以前的操作模式没什么区别,下面讲一下Vivado的BD模式创建工程文件。
BD模式创建工程文件
第一步:在Vivado当前工程主界面左侧的“Flow Navigator”窗口中找到并展开“IP INTEGRATOR”选项。在展开项中,选择“Create Block Design”选项。
第二步:弹出如图所示的“Create Block Design”对话框。在该对话框中,按如下参数进行设置。
- Design name:ip\_test
- 其他按默认参数设置。
第三步:单击【OK】按钮,在Vivado当前工程主界面右侧的窗口中出现名字为“Diagram”的空白设计界面,如图所示。在该界面中,单击+按钮。
第四步,弹出如图所示的IP查找对话框。在该对话框中,在“Search”右侧的文本框中输入“gate”,gate\_v1\_0的IP核就会出现在下面的窗口中。双击“gate\_v1\_0”这一行,将IP添加到设计界面中。
第五步,双击设计界面内名字为“gate\_0”的IP图标,“Recustomize IP”对话框,该对话框给出了IP的符号,以及可修改的参数配置。在该设计中,通过下拉框,将“Delay”的值从默认的3改为5。单击【OK】按钮。
第七步:将鼠标光标移动到gate\_0 IP端口a的引出线上,单击鼠标右键,出现浮动菜单。在浮动菜单内,执行菜单命令【Make External...】(快捷键Ctrl + T)。
第八步:类似地,将鼠标光标移动到gate\_0 IP端口b的引出线上,单击鼠标右键,出现浮动菜单。在浮动菜单内,执行菜单命令【Make External...】。
第九步:将鼠标光标移动到gate\_0 IP端口z[5:0]的引出线上,单击鼠标右键,出现浮动菜单。在浮动菜单内,执行菜单命令【Make External...】。
第十步:如图所示,选中名字为“a\_0”的端口,在左侧的“External Port Properties”窗口中,通过“Name:”右侧的文本框,将该端口的名字改为“a”。类似地,将名字为“b\_0”的端口的名字改为“b”,将名字为“z\_0”的端口的名字改为“z”,并保存修改后的设计。
第十—步:如图所示,在“Sources”窗口中,选择“ip\_test.bd”文件,单击鼠标右键,弹出浮动菜单。在浮动菜单内,执行菜单命令【Generate Output Products....】。
第十二步:如图所示,弹出“Generate Output Products”对话框。单击【Generate】按钮。
关于上面三种模式可以参考《【每周一问】Vivado综合时突然OCC模式弹不出来了》
第十四步:如图所示,在“Sources”窗口中,选择“ip\_test.bd”文件,单击鼠标右键,弹出浮动菜单。在浮动菜单内,执行菜单命令【Create HDL Wrapper....】。
第十五步:弹出如图所示的“Create HDL Wrapper”对话框。在该对话框中,选中“Let Vivado manage wrapper and auto-update”前面的复选框,单击【OK】按钮。
接下来进行仿真,这部分不进行详细解释,添加ip\_test\_tb.v文件到工程,如下:
具体内容如下:
接下来进行行为仿真:
仿真结果:
综合结果分析
第一步:在Vivado当前工程主界面左侧的“Flow Navigator”窗口中找到并展开“SYNTHESIS”选项。在展开项中,选择“Run Synthesis”选项,启动综合过程。
第二步:等待综合完成后,打开综合后的原理图界面,如图所示。
箭头部分就是我们设计的IP,以“黑盒”形式存在。
双击箭头的+号,可以查看IP的内部结构:
总结
该模式下引用的是可以查看源文件的IP,通过下图:
就可以通过新打开一个Vivado工程查看源文件:
作者:比特波特
原文链接:https://mp.weixin.qq.com/s/JltxeaarRtLQbXm6qKGQ2Q
微信公众号:
推荐阅读
更多IC设计技术干货请关注IC设计技术专栏。