首页 理论教育 VIVADO环境下IP核设计技巧,实现高效应用

VIVADO环境下IP核设计技巧,实现高效应用

时间:2023-10-26 理论教育 版权反馈
【摘要】:研究任务及内容:调用IP核资源库中自带的乘法器IP核,采用VIVADO的Block/Diagram图形设计方法,设计实现一个8位二进制数字平方计算功能电路,并仿真观察设计结果。图1.32端口位宽更改对比5.绘制原理图当设置完成所有IP核参数后,就可利用Diagram图形编辑器提供的相关工具进行原理图绘制。

VIVADO环境下IP核设计技巧,实现高效应用

研究任务及内容:调用IP核资源库中自带的乘法器IP核,采用VIVADO的Block/Diagram图形设计方法,设计实现一个8位二进制数字平方计算功能电路,并仿真观察设计结果。

1.创建工程

(1)在桌面双击Vivado 2019.2软件图标,启动Vivado 2019.2集成开发环境,如图1.16所示。在【Quick Start】分组下,单击【Create Project】(创建工程)选项;或者在主菜单下,选择【File】→【Project】→【New…】,进入“New Project-Create a New Vivado Project”对话框,单击【Next】,如图1.17所示。

图1.16  选择Create Project选项

图1.17 New Project-Create a New Vivado Project对话框

(2)接下来进入新工程名和路径设置对话框,如图1.18所示。设计者根据设计需要给出工程名字和指定工程存放路径,注意命名和路径不能出现中文字符,否则可能会导致后续处理时产生错误。在此设计中按如下参数设置:

① Project name(工程名):square_multiplier_ip;

② Project location(工程存放路径):D:/xilinx_project;

③ 勾选“Create project subdirectory”复选框,系统自动在工程路径文件夹下建立与工程名相同的子目录文件夹。

图1.18 新工程名和路径设置对话框

(3)在接下来的工程类型设置对话框中,选择【RTL Project】,然后单击【Next】,如图1.19所示。

图1.19 工程类型设置对话框

(4)接来下添加源文件(设计文件和约束文件),此处不指定,等工程建完另行创建,直接单击【Next】,如图1.20所示。

图1.20 指定源文件

(5)器件选择。为新工程准确指定使用FPGA的型号,本书研究的硬件平台是以Zynq-7000系列的xc7z010clg400-1 FPGA芯片为对象。为快速找到目标器件,可以设置过滤条件,通过下拉框选择参数,选中【xc7z010clg400-1】,然后单击【Next】,如图1.21所示。

图1.21 选择目标器件

(6)接下来为新建工程信息概览,包括工程名、设计文件是否添加、器件信息等,如图1.22所示。直接单击【Finish】,进入VIVADO新工程建立后的环境界面,如图1.23所示。

图1.22 新工程信息概览

图1.23 成功创建VIVADO新工程环境界面

2.创建Block设计文件

在VIVADO新工程环境界面左侧的“Flow Navigator”项目设计流程管理窗口,执行【IP INTEGRATOR】→【Create Block Design】选项,打开创建图形设计文件对话框,如图1.24所示。

图1.24 创建Block设计文件

在图1.25中设置图形设计文件的名字,可按标识符规则任取,此处设置为“square_multiplier_ip”,然后单击“OK”按钮,打开“Diagram”图形编辑器窗口,如图1.26所示。

图1.25 设置文件名

图1.26 Diagram图形编辑器窗口

3.添加乘法器IP核

在图1.26中单击Diagram图形编辑窗口工具栏中“”按钮,打开IP核资源库管理器,查找添加设计所需IP核,如图1.27所示。

图1.27 查找IP核对话框

在图1.27的“Search”查询对话框中,输入IP核名字或其部分关键字,即可快速查找用户需要的IP核。此处输入乘法器部分关键字“mult”,则名为“Multiplier”乘法器IP核自动显示在下面列表中,如图1.28所示。

图1.28 查找Multiplier乘法器IP核

图1.29 乘法器IP核元件符号

在图1.28中双击“Multiplier”乘法器IP核,完成调用,此时在图1.26中的Diagram图形编辑器窗口中会自动添加一个乘法器IP核元件符号,如图1.29所示。

4.IP核参数设置

通常系统提供的IP核具有参数可设置功能,即允许设计者根据自己实际需要定制参数、选配端口等,而且所有设置都是图形化界面(GUI)操作,简单方便。

双击图1.29所示的乘法器IP核元件符号,立刻弹出“Re-customize IP”(客户化重置IP)界面,对IP进行参数设置,如图1.30所示。

图1.30 乘法器IP参数设置

在图1.30中,单击“AUTO”切换为“MANUAL”,即允许修改后面对应参数。在此设计中,需要将乘法器的输入端“A”“B”的“Data Type”设置为“Unsigned”,将“Width”数据位宽设置为“8”位,其他保持默认即可。修改结果如图1.31所示,然后单击“OK”按钮。

图1.31 修改乘法器输入位宽为8位

通过对比图1.30和图1.31,可以明显看出当输入端口的位宽参数发生更改后,元件符号端口位宽参数也跟着发生改变,这充分体现IP的参数可设置功能,如图1.32所示。

图1.32 端口位宽更改对比

5.绘制原理图(www.xing528.com)

当设置完成所有IP核参数后,就可利用Diagram图形编辑器提供的相关工具进行原理图绘制。

因为此设计项目只调用了一个乘法器IP核,没有其他元件对象,故原理图绘制较为简单。CLK应外接一个输入端口连接时钟信号;乘数A[7:0]和B[7:0]两个端口应该连接在一起,外接一个输入端,表示两个相同数字相乘,即实现了计算平方功能;P[15:0]是计算结果输出,应外接一个输出端口。

图形设计编辑窗口界面的工具栏中包含了所有基本操作按钮,其中有图形的缩放控制、添加新的IP核、添加输入输出端口、布局自动调整、原理图有效性检测等常用功能,如图1.33所示。

图1.33 Diagram图形编辑工具

1)修改元件名字

在图形编辑窗口中,选中元件,对应左侧“Block Properties”区域可以修改相关属性,在“Name”参数处,可以修改调用IP核的实例名字,此处修改为“Square”(平方),此时右边“Diagram”图形编辑窗口中的元件名显示对应改变为“Square”,如图1.34所示。此方法还适用于对输入输出端口名更改。

图1.34 更改元件名字

2)添加输入输出端口

用鼠标选中元件端口,端口将高亮显示,如图1.35所示P[15:0]。然后在工具栏上单击添加端口“”(Make External)按钮,软件会自动连接OUTPUT输出端口,结果如图1.36所示。同理,为CLK和A[7:0]两个端口添加上输入端。

图1.35 添加端口

图1.36 添加端口结果显示

3)绘制导线状自动变化为“”(铅笔状),此时表示处于连线状态,可以按住鼠

在Diagram窗口中,将鼠标移动至元件端口上,光标会由箭头形标左键移动到目标端口或导线处,松开鼠标左键即可完成导线绘制。此处,需要将B[7:0]端口连接到A[7:0]端口上,如图1.37所示。

依次选中端口名“A_0”和“P_0”,采用更改名字的方法(见图1.34),将端口名分别更改为“A”和“P”,完成原理图绘制,结果如图1.38所示,单击“保存”按钮。

图1.37 将B端口连接到A端口上

图1.38 原理图绘制结果

6.有效性检测

保存完设计文件后,需要对设计文件的正确性进行检测,单击工具栏“”按钮,执行检测。如果绘制原理图有错误,则软件会提示错误信息,如果没有错误,则表示设计正确,可以进行下一步操作。

7.生成设计输出文件

在VIVADO设计界面的Block Design窗口中,右键单击【Sources】→【Design Sources】→【square_multiplier_ip】文件,弹出浮动菜单,执行“Generate Output Products…”,启动生成输出文件命令,如图1.39所示。

图1.39 启动“Generate Output Products…”命令

在弹出的“Generate Output Products”对话框中(见图1.40),设置综合类型选项,保持默认即可,然后单击“Generate”,在弹出的生成结果信息提示框中,单击“OK”按钮,即可生成设计输出文件。

图1.40 设置参数执行生成命令

8.生成“*_wrapper.v”顶层文件

再次右键单击【Sources】→【Design Sources】→【square_multiplier_ip】文件,弹出浮动菜单,执行“Create HDL Wrapper…”选项,如图1.41所示。

图1.41 启动“Create HDL Wrapper…”命令

在弹出的“Create HDL Wrapper”对话框中,选择“Let Vivado manage wrapper and auto-update”单选按钮,其余保持默认设置,单击“OK”按钮,如图1.42所示。

图1.42 “Create HDL Wrapper”对话框

此时,在如图1.43所示的工程设计源文件目录中,生成了以工程名为前缀、“wrapper”为后缀的Verilog HDL文件—— square_multiplier_ip_wrapper.v,内容见代码1-1。这部分HDL代码只说明图形设计的端口信息,而不描述具体实现信息。这个只提供端口信息的HDL文件称为Wrapper,其名字通常需要与Block Design设计文件名字相同。

从代码1-1中可以看出,此代码是对刚刚绘制的原理图设计文件的调用描述,即采用了例化语句,例化对象为图形设计文件。

图1.43 工程设计源文件窗口

【代码1-1】square_multiplier_ip_wrapper.v

9.行为仿真

按VIVADO的仿真设计操作流程,创建如图1.44所示的仿真测试文件,对刚刚生成的square_multiplier_ip_wrapper.v进行测试,编写Testbench激励代码,内容见代码1-2。

图1.44 新建仿真测试文件

【代码1-2】平方运算电路的仿真测试代码

保存仿真测试文件,在综合前可以实现HDL电路行为仿真,操作如图1.45所示,单击工程管理器界面的【SIMULATION】→【Run Simulation】→【Run Behavioral Simulation】,启动行为仿真,仿真结果如图1.46所示。

图1.45 启动行为仿真

从图1.46的仿真波形可以判断,此IP核的应用设计结果是正确的,输入端口A从1~6变化,输出端口P输出为A对应输入数值的平方。至此,乘法器IP核的应用介绍完成。

图1.46 平方运算仿真波形

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈