首页 理论教育 VIVADO环境下IP核文本例化技巧

VIVADO环境下IP核文本例化技巧

时间:2023-10-26 理论教育 版权反馈
【摘要】:图1.48Flow Navigator工程管理器窗口图1.49IP资源库列表在IP资源库列表中单击“Basic Elements”→“Counters”→“Binary Counter”,便可找到二进制计数器IP核,如图1.50所示。图1.50二进制计数器IP核的位置双击“Binary Counter”,进入计数器IP核参数配置界面,如图1.51所示。图1.51Binary Counter参数配置此处调用二进制计数器IP主要完成简单的计数功能,因此对它的配置基本保持默认,不必启用过多的其他功能端口,只保留输入时钟和输入结果即可。

VIVADO环境下IP核文本例化技巧

研究任务及内容:采用文本例化方式,调用进制计数器IP核,设计实现4位二进制计数器功能,并编写仿真测试文件,验证设计结果正确性。

文本例化IP核的设计过程:使用文本例化方式调用IP核的基本过程包括新建工程;查找并配置IP核;生成IP核定制后对应的HDL描述文件代码(.VHD或.V);设计顶层文件调用。

1.新建工程

打开VIVADO软件,新建一个名为“counter _ip”的工程,设置工程名和路径,单击“Next”按钮,如图1.47所示。在器件型号选择界面选中“xc7z010clg 400-1”的FPGA,完成工程建立。

图1.47 设置工程名和路径

2.查找添加IP核

在VIVADO左侧的“Flow Navigator”项目设计流程管理窗口中(见图1.48),左键单击“IP Catalog”(IP目录),随即弹出“IP Catalog”对话框IP库资源界面,如图1.49所示。

图1.48 Flow Navigator工程管理器窗口

图1.49 IP资源库列表

在IP资源库列表中单击“Basic Elements”→“Counters”→“Binary Counter”,便可找到二进制计数器IP核,如图1.50所示。

图1.50 二进制计数器IP核的位置

双击“Binary Counter”,进入计数器IP核参数配置界面,如图1.51所示。

图1.51 Binary Counter参数配置

此处调用二进制计数器IP主要完成简单的计数功能,因此对它的配置基本保持默认,不必启用过多的其他功能端口,只保留输入时钟和输入结果即可。为满足4位二进制计数器功能要求,需将“Basic”选项卡中的“Output Width”设置为4位,然后单击“OK”按钮,弹出“Create Directory”提示框(见图1.52),直接单击“OK”按钮。

图1.52 Create Directory提示框(www.xing528.com)

在图1.53所示的“Generate Output Products”对话框中,保持默认设置,直接单击“Generate”按钮,为调用的IP核生成设计输出代码(.V或.VHD)。本任务中生成了名为“c_counter_binary_0.vhd”的VHDL语言格式设计代码,其中部分见代码1-3。

每一个IP定制完后,都会生成对应的硬件描述语言设计代码,该代码文件是一个只读文件格式,不允许修改,但可以供其他顶层文件例化调用。

图1.53 生成设计输出文件

【代码1-3】c_counter_binary_0.vhd部分代码

3.添加顶层设计文件

当完成上述IP核调用过程操作后,得到了IP核对应功能的硬件描述语言设计文件,接下来就可以在顶层设计文件中采用例化结构,并调用相应的IP核,实现其功能。

创建Verilog的顶层设计文件,设计文件名为“counter4_ip_top”,根据设计任务或系统功能,编写顶层设计文件代码。此段代码功能较简单,只需要调用“c_counter_binary_0.vhd”的模块,只不过此处的被调用模块是用VHDL格式代码编写的,这里要求能看懂代码中的实体部分包含的元件名、端口名和端口属性即可,如代码1-3中画圈部分代码,然后采用Verilog HDL例化方法完成调用,见代码1-4。

【代码1-4】顶层设计代码

4.行为仿真

按VIVADO的仿真设计操作流程,创建仿真测试文件,对刚刚完成的顶层设计文件counter4_ip_top.v进行测试,编写Testbench激励代码,内容见代码1-5。

【代码1-5】4位二进制计数器顶层仿真测试代码

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

图1.54 4位二进制计数器仿真波形

从仿真波形图不难看出,计数结果输出端Q[3:0]在时钟上升沿作用时,实现了累加计数功能,从0~f逐次变化,证明二进制计数器IP核在正常工作,调用成功。

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

我要反馈