实验二 十进制计数器实验
图 3-11 选择设计文件类型
输入如下 Verilog HDL 语言的设计代码: module Counter ( iclk, rst_n, q, overflow ); input iclk; input rst_n; output reg [3:0] q; output overflow; always @(posedge iclk or negedge rst_n) begin if(~rst_n) q <= 4'h0; else begin if(4'h9 == q) q <= 4'h0; else q <= q + 4'h1; end end assign overflow = 4'h9 == q; endmodule
第 28 页 共 208 页
实验二 十进制计数器实验
10. 保存设计。点击菜单项 File->Save、点击图标 如图3-12 所示。给设计文件命名 存。
Counter10,点击保
或者使用快捷键 Ctrl+S 保存设计,
Counter,与模块名相同,注意不是
图 3-12 保存设计文件
11. 分析与综合。点击菜单项 Processing->start->Start Analysis & Synthesis、点击图标
或者使用快捷键 Ctrl+K 执行分析与综合。参看图 3-13。
图 3-13 执行 start Analysis & Synthesis(开始分析与综合)
分析与综合完成后,编译出错,错误原因如图 3-14 所示。
图 3-14 分析与综合错误原因
顶层实体 Counter10 未在源码中定义,必须更改顶层实体为 Counter,这在多文件的工 程中经常需要用到。
将左侧的 Project Navigator 切到 Files 标签,对着 Counter.v 文件右击,选择 Set as Top-Level Entity,如图 3-15。
第 29 页 共 208 页
实验二 十进制计数器实验
图 3-15 重新指定顶层实体
12. 重新执行分析与综合,结果如图 3-16,出现了 12 个警告,这是因为 qsf 文件中记
录的顶层实体在这一步执行时还未更新。
图 3-16 分析与综合结果(第二次执行)
如果再次执行分析与综合,无论你是否删掉原先的编译结果,都会完全成功,如图 3-17。
图 3-17 分析与综合结果(第三次执行)
3.2 电路仿真
13. 功能仿真。它是为了检查设计是否在理论上达到预期功能,该仿真不考虑期间实
际物理特性。首先创建仿真输入波形文件。仿真时需要对顶层实体的输入管脚提供激励信 号,在 Quartus 软件中可以通过波形文件方便的输入。点击菜单项 File->New->Vector Waveform File,如图 3-18 所示。
第 30 页 共 208 页
实验二 十进制计数器实验
图 3-18 创建波形文件
14. 添加信号结点。在空波形文件中点击右键,如图 3-19 进行选择(或者直接双击)。
图 3-19 添加结点右键菜单
单击 Insert Node or Bus 后,出现如图 3-20 所示对话框。
图 3-20 添加结点对话框
选择 Node Finder 按钮可以从结点列表中选择我们需要的,而避免一个一个输入结点
第 31 页 共 208 页
实验二 十进制计数器实验
的麻烦。
图 3-21 Node Finder 对话框
Fitter 选择 Pin:all,点击 List 按钮。出现如图 3-22 所示的结点列表。
图 3-22 结点列表
简单起见,可以直接点>>按钮,将所有结点加入右侧 Select Nodes 栏中。完成后如图 3-23 所示。点击 OK 按钮确认。
第 32 页 共 208 页