研究任务及内容:采用文本例化方式,调用二进制计数器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核在正常工作,调用成功。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。