本节利用上一节创建和封装的ls61和ls00两个IP核。采用原理图设计的方式实现一个模9计数器,讲解IP核集成的Vivado设计流程。
(1)创建工程
创建一个名为count_bd的新工程,存于F:\FPGA\FPGAproject\exam文件夹下;
(2)添加IP核
1)在新建的count_bd文件夹下创建一个新的文件夹名为UIP,将上节封装的两个IP核复制并解压到该文件夹下;
2)在Flow Navigator栏中的Project Manager下单击Settings,弹出的Settings对话框,在窗口左侧选择IP下面的Repository标签页,单击+,进入当前工程目录,选中UIP文件夹,导入IP核;
点击Apply后再点击ok;在Flow Navigator栏中的Project Manager下单击IP Catalog,查看右侧有两个IP核是否导入成功。
(3)基于IP集成的原理图设计
在Flow Navigator栏中的IP integrator下点击Create Block Design,并输入Design 那么栏中输入设计名count_bd,表示新建一个原理图文件;
点击+号,搜索ls添加两个IP核;
对原理图进行翻转如下图;
Ls00经过两次反转后的电路图如下:
创建端口:在原理图上右键,从菜单栏中选择Create Port窗口中设置端口的名称、方向和类型。
新建一个名为PT、CLK的输入端口,名为Q0、Q1、Q2、Q3的输出端口;
将电路图连接设置成如下:
点击右上角的Regenerate Layout按钮,对布局进行自动重新规划;
完成原理图后,生成顶层文件;
保持默认设置即可,点击Generate;完成后单击ok按钮;
再点击下面这个按钮,点击ok;
至此,已完成原理图的设计。从图中可以看到原理图源文件层次结构图,在count_bd.bd图标之上已生成count_bd_wrapper.v顶层文件。
(4)添加引脚约束文件
添加引脚约束文件有两种方法:一是利用Vivado中的IO Planning功能;二是直接新建XDC约束文件,本例采用第一种方法;
在主界面点击Run Synthesis进行综合,综合完成后在弹出的对话框中选择Open Synthesized Design,并单击ok;
在主界面上面菜单栏中选择Window窗口下的I/O Ports,在该标签页中对输入输出端口号添加引脚约束,首先在Package Pin栏中输入各端口对应的FPGA芯片引脚号(对应关系查看目标板说明文档或者原理图);本例中Q0~Q3锁至开发板的4个LED灯,CLK锁至S1,PT锁至SW0;然后在I/O Std栏中选择LVCMOS33,将所有信号的电平标准设置为3.3V,如下图:
单击保存按钮,可以看到出现了XDC文件;
(5)生成比特流文件并下载
生成比特流文件后,选择Open Hardware Manager 选择打开硬件管理器;并单击ok, 电脑外接开发板后点击Hradware manager栏中下方的Open target中的Auto Connect,进行开发板的连接。
下载完成后观察开发板的实际运行效果。