实验一FPGA设计流程指导

  • 格式:pdf
  • 大小:865.44 KB
  • 文档页数:18

根据顶层模块中注释语句的提示,创建七段译码器模块的实例。
// 自己设计的代码中用到七段数码管时,需要删除这里的赋值语句
// assign
seven = 8'hFF;
assign seven_sel = 4'b1110; // 仅点亮最低位数码管
// 在下面添加自己设计的代码 decode4_7 decode4_7_inst(
11
数字系统设计与测试
所有在新建工程向导中进行的设置,在工程建立完成后,都可以通过 QuartusII 菜单项进行修改。
江苏大学计算机学院
5
数字系统设计与测试
资源管理区
标题栏 菜单栏 工具栏
编译状态区
工程工作区
信息显示区
图7
2. 设计输入
1) 新建顶层模块
点击菜单项 File-> new…,出现新建源文件对话框如图 8,选择新建一个 Verilog HDL File。 将老师提供的“TOP_FD_III.v”文件内容拷贝到新建 Verilog 文件中,并将模块名命名为顶 层模块名(即新建工程时指定的顶层模块名,以本实验图 2为例,模块名应更改为: seven_seg);保存文件,文件名与模块名相同(本例为:seven_seg.v)。新建的文件默认情况 下会自动加入到工程中。
图2
跳过图 3所示 Add Files 对话框,该对话框设置用来将已存在的设计文件加入到工程中。
图3
江苏大学计算机学院
3
数字系统设计与测试
点击 next,进入 Family & devices settings 对话框,指定 FPGA 器件为Cyclone系列的 EP1C6Q240C8,如图 4。Cyclone 系 列 FPGA 是 Altera 公司最初(2002 年)的低成本 FPGA。 2004 年和 2006 年,Altera 公司又推出了更新的,密度更高的Cyclone II和Cyclone III 系 列 FPGA,进一步巩固它在大批量、低成本应用解决方案中的地位。
module decode4_7(seg,data); output [7:0] seg; input [3:0] data;
// 在这里添加设计代码 …… endmodule
3. 逻辑综合
为工程添加好设计文件以后,下一步就是对工程设计进行综合,本例使用 QuartusII 软
件内嵌的分析综合工具 Analysis & Synthesis 进行。点击工具栏中 按钮,对设计进行综合。
4. 功能仿真
在综合通过以后,只能够说明设计符合语法规范,但并不能保证设计满足功能要求,需 要通过功能仿真,来验证电路功能是否符合设计要求,功能仿真的考察是的电路在理想环境 下的行为,不考虑电路门延迟与线延迟。这里使用第三方仿真工具 ModelSim 进行。
1) 编写 Testbench 要使用 ModelSim 进行仿真,首先要写一个 Testbench。Testbench 是 HDL 模块,在这个 模块中,将需要仿真的设计模块实例化,通常命名为 UUT(Unit Under Test),然后对 UUT 的输入端口施加激励,用 ModelSim 观察 UUT 的输出与预期的是否一致。 `timescale 1ns / 1ps //表示该模块的时间单位是 1ns,时间精度是 1ps module test_seven_seg; // Inputs reg [3:0] switch; // Outputs wire [7:0] seven; // Instantiate the Unit Under Test (UUT) seven_seg uut (
.seg(seven), .data(~switch) );
6
江苏大学计算机学院
HDL 实验指导书
实验仪拨动开关向上拨为 0,向下拨为 1,不太符合常用习惯。端口连接时将拨动开关 switch 取反后连接到译码器的输入 data,目的是使开关拨向上为 1,拨向下为 0;译码器输 出 seg 连接到数码管的七段数据 seven。
FD-SOPC-III 实验系统适用于新一代嵌入式系统 SOPC 设计课程的教学和实验要求(同 时也适用于普通数字系统设计课程的教学要求,可涵盖所有可编程数字电路设计实验)。该 系统使用 Altera 公司的 Nios 软核和 SOPC 软硬件集成开发环境,可以较快地用于嵌入式系 统的相关实验以及不同应用的开发。
江苏大学计算机学院
7
数字系统设计与测试
Analysis & Synthesis 将检查工程的逻辑完整性和一致性,检查语法错误;将 HDL 语言翻译 成最基本的与、或、非门,RAM,触发器等基本逻辑单元的连接关系(即网络表,简称网 表)。
设计如果综合通过,编译状态显示区中 Analysis & Synthesis 步骤前面会显示绿色的勾, 如果设计有错误,会显示红色的叉,如图 9,出错行号及错误原因会显示在信息显示区中, 如图 10。
点击 OK 按钮完成 Test Bench Setting 填写后,如图 15,在 Exiting Test Bench 栏目项中, 可以找到刚才完成的设置,可以通过 Edit 和 Delete 按钮对设置进行编辑修改或删除。
10
江苏大学计算机学院
HDL 实验指导书
图 13
图 14
江苏大学计算机学院
图9
图 10
根据错误原因提示修改设计,完成修改后,重新综合,直到综合通过,资源管理区中可 以点击顶层模块名称前的+号,显示模块间的树形结构,编译状态显示区的 Analysis & Synthesis 步骤前显示绿色的勾,如图 11。
图 11
8
江苏大学计算机学院
HDL 实验指导书
ቤተ መጻሕፍቲ ባይዱ
初学者往往不习惯阅读错误信息。实际上学会读懂错误信息是很有用的!
数字系统设计与测试
实验1 FPGA 设计流程 ——七段译码实验
实验要求
用 Verilog HDL 设计七段译码器,将 4 位拨动开关输入的二进制数显示在七段数码管上。 4 个数码管中只点亮最低位的数码管。
实验目的
熟悉 FPGA 设计流程;七段译码器的 Verilog HDL 描述;模块层次化设计方法;编写 Testbench,利用 ModelSim 对设计进行仿真。
2个串口 2个ps/2接口
Ethernet 扩展模块
A/D+D/A扩展模块
3*3键盘矩阵 4个拨动开关
目前实验系统能满足:输入与输出实验(串口、PS/2 键盘鼠标、LED、LCD),AD/DA 转换实验,电机控制实验,USB2.0 通讯实验,网络通讯实验等多种实验。
实验系统的连接
将下载电缆 ByteBlasterII 一头插入电脑的打印机接口,另一头插到实验箱 FPGA 芯片右 侧的 JTAG 下载端口,插头上有凸起的一面朝向实验箱的后方(即液晶显示模块的方向)。 注意:连接电缆时,电脑和实验箱的电源都要处于关闭状态,接好后即可开启实验系统。
此外,还要将原来顶层模块中对 seven 的赋值删除,对 seven_sel 的赋值修改为仅点亮最 低位。
图8
2) 新建七段译码器模块 新建一个 Verilog 文件,实现七段译码的功能(参阅后附的七段数码管的段定义),模块 名为 decode4_7,并以 decode4_7.v 保存。如果有事先已编辑好的设计文件,可以使用菜单项 Project->Add/Remove Files in Project… 打开如图 3所示添加文件对话框,将已有的文件加入 工程。
图4
图5
4
江苏大学计算机学院
HDL 实验指导书
图 5对话框用来设置第三方 EDA 工具,包括综合工具,仿真工具和时序分析工具,这 里我们选择 ModelSim-Altera 作为仿真工具。
图6
最后,新建工程向导会根据你之前一步一步的设置,给出一个工程设置概述页如图 6, 单击 finish 完成工程创建。完成后,QuartusII 界面如图 7所示。
在同一页的 NativeLink settings 中,选择 Compile test bench,按下 Test Benches..,新建 一个 Test Bench 设置,对 Test Bench Settings 对话框中的设置选项进行手工填写,如图 14。
包括填写 Test bench name(仿真文件的名字),Test bench entity(仿真文件中顶层模块 的名字)以及 Instance(仿真文件中设计实例),Run for(仿真时间),在 Test bench files 选 项中加入 test_full_adder.v,这些选项必须自己手工填。
点击菜单项 File-> new project wizard…,出现 introduction 对话框,如图 1。
图1
2
江苏大学计算机学院
HDL 实验指导书
单击 next,进入 Directory,name,Top-Level Entity 设置对话框,选择存放顶层模块的 路径(请建立一个放置与此工程相关的所有文件的文件夹,路径中各名称不推荐使用中文字 符)、工程名称和顶层实体名称。如图 2。
实验系统简介
SOPC(可编程片上系统)是基于 FPGA 的片上系统,是现代电子技术和电子系统设计 的汇聚点和发展方向,SOPC 的开发与应用已被广泛用于各种领域。与基于 ASIC 的 SOC 相 比,SOPC 具有更多的特点与吸引力:它不仅在实用中具有开发软件成本低、硬件实现风险 低、产品上市效率高、系统结构可重构及硬件可升级等优势,而且具有易学易用的优势。
2) 在 QuartusII 中设置第三方仿真工具 ModelSim 仿真属性 用菜单 Tools -> options…在 EDA Tool Options 中设置 ModelSim 的可执行文件的路径, 如图 12。