1. 设计任务
采用文本例化方式,调用二进制计数器IP 核,设计实现4 位二进制计数器功能,并编写仿真测试文件,验证设计结果正确性。
2. 设计过程
使用文本例化方式调用IP 核的基本过程包括新建工程、查找并配置IP 核、生成IP核定制后对应的HDL 描述文件代码(.VHD 或.V)、设计顶层文件调用即可。
(1)新建工程。
打开Vivado 软件,新建一个名为“counter _ip”的工程(见图4.28),单击“Next”,在器件型号选择界面选中“xc7z020clg484-1”的FPGA,完成工程建立。
图4.28 设置工程名和路径
(2)查找添加IP 核。
在Vivado 左侧的“Flow Navigator”项目设计流程管理窗口,如图4.29 所示。左键单击【IP Catalog】(IP 目录),随即弹出“IP Catalog”对话框IP 库资源界面,如图4.30所示。
在图4.30 中单击【Basic Elements】选项,展开如图4.31 所示的列表菜单选项,再单击【Counters】,便可找到“Binary Counter”IP 核。
双击“Binary Counter”,进入计数器IP 核参数配置界面,如图4.32 所示。
图4.29 “Flow Navigator”工程管理器窗口
图4.30 IP 资源库列表
图4.31 二进制计数器IP 核的位置
图4.32 “Binary Counter”参数配置
此处调用二进制计数器IP 主要完成简单的计数功能,因此对它的配置基本保持默认即可,不必启用过多的其他功能端口,只保留输入时钟和输入结果即可。为满足设计任务的4 位二进制计数器功能要求,故需将“Basic”选项卡中的“Output Width”设置为4位即可。然后单击“OK”,弹出“Create Directory”提示框,如图4.33 所示,直接单击“OK”。
图4.33 “Create Directory”提示框(www.xing528.com)
在图4.34 所示的“Generate Output Products”对话框中,保持默认设置,直接单击“Generate”,为调用的IP 核生成设计输出代码(.V 或.VHD)。此例中生成了名为“c_counter_binary_0.vhd”的VHDL 语言格式设计代码,其中部分如【代码4.3】所示。
每一个IP 定制完后,都会生成对应的硬件描述语言设计代码,该代码文件是一个只读文件格式,不允许修改,但可以供其他顶层文件例化调用。
图4.34 生成设计输出文件
【代码4.3】c_counter_binary_0.vhd 部分代码
(3)添加顶层设计文件。
当完成上述IP 核调用过程操作后,得到了IP 核对应功能的硬件描述语言设计文件,我们就可以在顶层设计文件中采用例化结构,调用相应的IP 核,实现其功能。
创建Verilog 的顶层设计文件,设计文件名为“counter4_ip_top”,根据设计任务或系统功能,编写顶层设计文件代码。此例功能非常简单,只需要调用“c_counter_binary_0.vhd”的模块,只不过此处的被调用模块是用VHDL 格式代码编写的,只要简单看懂代码中的实体部分包含的元件名、端口名和端口属性即可,如【代码4.3】中虚线框部分代码,然后采用Verilog HDL 例化方法完成调用,见【代码4.4】。
【代码4.4】顶层设计代码
3. 行为仿真
按Vivado 的仿真设计操作流程,创建仿真测试文件,对刚刚完成的顶层设计文件“counter4_ip_top.v”进行测试,编写Testbench 激励代码,参考【代码4.5】。
【代码4.5】4 位二进制计数器顶层仿真测试代码
保存仿真测试文件,在综合前,可以实现HDL 电路行为仿真,单击工程管理器界面的【SIMULATION】→【Run Simulation】→【Run Behavioral Simultaion】,启动行为仿真,仿真结果如图4.35 所示。
图4.35 4 位二进制计数器仿真波形
从仿真波形图中,不难看出,计数结果输出端Q[3:0]在时钟上升沿作用时,实现了累加计数功能,从0~f 逐次变化,证明二进制计数器IP 核在正常工作,调用成功。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。