FPGA设计实验指导书(2013)
FPGA实验_简单计算机的设计与调试实验指导书

实验3 简单计算机系统的设计与调试一、实验目的1.掌握利用指令集编写汇编语言程序2.掌握将编好的汇编语言程序翻译成机器码程序3.熟悉各类型指令执行的数据通道4.设计和调试一个8位单周期简单计算机系统二、实验任务1. 编程练习先采用汇编语言格式编写程序,检查程序的思路、流程,在无误情况下,转换成机器码。
程序1 :完成将两个固定数据(如0x96, 0x2A6)进行加、减、与、或、比较运算,将运算结果顺序存放在地址从0x40开始的10个RAM单元中。
程序2:完成将两个固定数据(如0x96, 0x2A6)进行加、减运算,将运算结果顺序显示在数码管上。
两个结果显示之间需加一定延时(软件延时,可以通过给一个寄存器赋初值,对这个寄存器进行减运算,直至结果为0)。
程序3:从键盘输入一个表达式,如:206 - 814= ,通过执行ROM中的程序代码,将运算结果显示在数码管上。
2. 调试简单计算机系统A在实验2任务5简单计算机系统A的ROM中存放编程练习中的程序1,并进行系统的仿真和调试,下载到实验板上进行测试、运行。
3. 设计简单计算机系统B在简单计算机系统A的基础上,增加I/O端口及其映射模块、数码管输出接口,将I/O 端口及其映射模块中的 IO0[7..0]、IO1[7..0]与数码管输出接口的 datainL[7..0]、datainH[7..0]相连,构成简单计算机系统B。
在ROM中存放编程练习中的程序2,并进行系统的仿真和调试,下载到实验板上进行测试、运行。
4. 设计简单计算机系统C在简单计算机系统B的基础上,增加4x4键盘输入接口模块,将I/O端口及其映射模块中IO3[7..0]~IO6[7..0]分别与键盘输入接口模块的srcL[7..0]、srcH[7..0]、dstL[7..0]、dstH[7..0]、, aluop[7..0]相连,构成简单计算机系统C,在ROM中存放编程练习中的程序3,并进行系统的仿真和调试,下载到实验板上进行测试、运行。
实验一FPGA设计流程指导

根据顶层模块中注释语句的提示,创建七段译码器模块的实例。
// 自己设计的代码中用到七段数码管时,需要删除这里的赋值语句
// 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,进一步巩固它在大批量、低成本应用解决方案中的地位。
FPGA实验指导书

FPGA实验指导书——DE2开发板使用实验昆明理工大学实验一 DE2的顶层默认程序这个实验为用户提供连接分配和顶层Verilog模块,这个模块也是这本手册所有其他实验的基础性模块。
这个实验产生的编程文件是DE2开发板在出货时作为默认载入开发板的编程文件。
本实验将介绍如何编译工程并把生成的编程文件下载到DE2开发板中。
启动开发板(1)将USB线和电源连接到DE2板上。
(2)按下电源开关,这时电源指示灯会被点亮。
(3)你将看到以下现象:●所有的LED灯都闪烁。
●所有七段数码管从0到F循环显示。
●液晶屏显示“Welcome to the Altera DE2 Board”。
●在VGA显示器上显示欢迎信息。
●将开关SW17置OFF,从LINEOUT插座输出1khz正弦波的声音;将开关SW17置ON并将一个MP3播放器的输出接到DE2板的LINE—IN端口,可从耳机里听到MP3播放的音乐。
●若将麦克风接到DE2板的MIC端口上,这样用户的声音可与MP3播放器混合。
Cyclone II中的顶层verilog模块这部分将介绍一个Quartus II工程中所需要的所有组件。
它将让你了解如何使用Quartus II将代码转换成数据流下载的整个设计流程。
按照以下步骤进行:(1)打开Quartus II 软件。
(2)点击File→Open Project ,如图1.1。
(3)在D:\DE2_System_v1.5\DE2_demonstrations\DE2_Default目录下选中DE2_Default.qpf工程文件打开。
(4)在“Project Navigator”工程导航区可查看该工程的层次、包含的所有文件、设计单元等信息。
其中“File”下列出了整个工程包含的所有文件。
双击顶层设计文件DE2_Default.v,可以看到文件的内容和I/O口的声明。
在对每个引脚声明时加上了详细的注释,以便用户更好的明白每个引脚的功能。
FPGA实验指导书

目录第1章FPGA系统 (1)1.1 系统简介 (1)1.2 系统功能特点 (1)1.3 开发平台标准配置 (2)1.4 功能模块介绍 (2)1.4.1 电源 (2)1.4.2 系统时钟 (3)1.4.3 LED灯 (3)1.4.4 8位拨码开关 (3)1.4.5 数码管显示 (4)1.4.6 键盘阵列 (5)1.4.7 独立矩形波信号源 (5)1.4.8 蜂鸣器 (6)第2章基础门电路及触发器 (8)2.1 实验一基本门电路 (8)2.1.1 实验目的 (8)2.1.2 实验内容 (8)2.1.3 实验原理及说明 (8)2.1.4 实验步骤 (8)2.1.5 参考程序及引脚分配 (9)2.2 实验二基本触发器 (10)2.2.1 实验目的 (10)2.2.2 实验内容 (10)2.2.3 实验原理及说明 (10)2.2.4 实验步骤 (10)2.2.5 参考程序及引脚分配 (11)2.3 实验三3-8译码器 (13)2.3.1 实验目的 (13)2.3.2 实验内容 (13)2.3.3 实验原理 (13)2.3.4 实验步骤 (13)2.3.5 参考程序及引脚分配 (14)2.4 实验四8—3编码器 (15)2.4.1 实验目的 (15)2.4.2 实验内容 (15)2.4.3 实验原理 (15)2.4.4 实验步骤 (15)2.4.5 参考程序及引脚分配 (16)2.5 实验五BCD八段显示译码器 (17)2.5.1 实验目的 (17)2.5.2 实验内容 (17)2.5.4 实验步骤 (17)2.5.5 参考程序及引脚分配 (17)2.6 实验六四选一数据选择器 (19)2.6.1 实验目的 (19)2.6.2 实验内容 (19)2.6.3 实验原理及说明 (19)2.6.4 实验步骤 (19)2.6.5 实验参考程序及引脚分配: (20)2.7 实验七数值比较器 (21)2.7.1 实验目的 (21)2.7.2 实验内容 (21)2.7.3 实验原理及说明 (21)2.7.4 实验步骤 (21)2.7.5 参考程序及引脚分配 (22)2.8 实验八4位二进制加法器 (23)2.8.1 实验目的 (23)2.8.2 实验内容 (23)2.8.3 实验原理及说明 (23)2.8.4 实验步骤 (24)2.8.5 参考程序及引脚分配 (24)2.9 实验九4位二进制乘法器 (26)2.9.1 实验目的 (26)2.9.2 实验内容 (26)2.9.3 实验原理及说明 (26)2.9.4 实验步骤 (27)2.9.5 参考程序及引脚分配 (27)第3章逻辑电路 (31)3.1 实验十移位寄存器 (31)3.1.1 实验目的 (31)3.1.2 实验内容 (31)3.1.3 实验原理 (31)3.1.4 实验步骤 (31)3.1.5 参考程序及引脚分配 (31)3.2 实验十一串行并行转换 (33)3.2.1 实验目的 (33)3.2.2 实验内容 (33)3.2.3 实验原理及说明 (33)3.2.4 实验步骤 (34)3.2.5 参考程序及引脚分配 (34)3.3 实验十二单时钟同步可逆计数器 (35)3.3.1 实验目的 (35)3.3.2 实验内容 (35)3.3.3 实验原理及说明 (36)3.3.5 参考程序及引脚分配 (36)3.4 实验十三顺序脉冲发生及其检测 (38)3.4.1 实验目的 (38)3.4.2 实验内容 (38)3.4.3 实验原理及说明 (38)3.4.4 实验步骤 (39)3.4.5 参考程序及引脚分配 (39)3.5 实验十四按键数码管循环左移显示 (41)3.5.1 实验目的 (41)3.5.2 实验内容 (41)3.5.3 实验原理 (41)3.5.4 实验步骤 (42)3.5.5 参考程序和引脚分配 (42)3.6 实验十五电子时钟 (45)3.6.1 实验目的 (45)3.6.2 实验内容 (45)3.6.3 实验原理 (46)3.6.4 实验步骤 (46)3.6.5 参考程序及引脚分配 (46)3.7 实验十六按键控制 (52)3.7.1 实验目的 (52)3.7.2 实验内容 (52)3.7.3 实验原理 (52)3.7.4 实验步骤 (53)3.7.5 参考程序及引脚分配 (53)第4章FPGA综合应用 (60)4.1 实验十七数字密码锁 (60)4.1.1 实验目的 (60)4.1.2 实验内容 (60)4.1.3 实验原理 (60)4.1.4 实验步骤 (61)4.1.5 参考程序及引脚分配 (61)4.2 实验十八智力抢答器 (66)4.2.1 实验目的 (66)4.2.2 实验内容 (66)4.2.3 实验原理及说明 (66)4.2.4 实验步骤 (67)4.2.5 参考程序及引脚分配 (68)4.3 实验十九自动售货机 (74)4.3.1 实验目的 (74)4.3.2 实验内容 (74)4.3.3 实验原理 (74)4.3.4 实验步骤 (75)4.3.5 参考程序和引脚分配 (75)4.4 实验二十数字频率计 (80)4.4.1 实验目的 (80)4.4.2 实验内容 (80)4.4.3 实验原理 (80)4.4.4 实验步骤 (81)4.4.5 参考程序及引脚分配 (81)第1章 FPGA系统1.1系统简介FPGA系统教学开发平台采用国际著名可编程逻辑器件公司Altera 的Cyclone系列5万门芯片为核心,整个平台采用模块化设计,各种模块可以自由组合,同时提供丰富的扩展接口,非常适合于FPGA初学者。
FPGA实验指导书(1)

实验一组合逻辑3-8译码器的设计 .................... 错误!未定义书签。
实验二基于FPGA的数字钟的设计 ................... 错误!未定义书签。
实验三基于NIOS的交通灯实验 .......................... 错误!未定义书签。
实验四静态图像显示 ............................................. 错误!未定义书签。
实验一组合逻辑3-8译码器的设计一、实验目的:1、通过3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、初步了解可编程器件设计的全过程。
二、实验步骤:1、打开QuartusII软件。
2、选择路径。
选择File/New Project Wizard,指定工作目录,指定工程和顶层设计实体称;注意:工作目录名不能有中文。
3、添加设计文件。
将设计文件加入工程中。
单击“Next”,如果有已经建立好的VHDL 或者原理图等文件可以在File name中选择路径然后添加,或者选择Add All添加所有可以添加的设计文件(.VHDL ,.Verilog原理图等)。
如果没有直接点击“Next”,等建立好工程后再添加也可,这里我们暂不添加。
4、选择FPGA器件。
Family选择Cyclone II,Available device选EP2C35F484C8,Packge选择Any,Pin Count 选择484,Speed grade选择Any;点击“Next”。
5、选择外部综合器、仿真器和时序分析器。
Quartus II支持外部工具,可通过选中来指定工具的路径。
这里我们不做选择,默认使用Quartus II自带的工具。
6、结束设置。
单击“Next”,弹出“工程设置统计”窗口,上面列出了工程的相关设置情况。
最后单击“Finish”,结束工程设置。
7、建立原理图文件。
电子系统设计实验指导书(FPGA基础篇Vivado版)

实验指导书(FPGA 基础篇 Vivado 版)
东南大学 电子科学 ........................................................................................................................................................... 1
安全使用规范
东南大学 电子科学与工程学院
无论何时,外部电源供电与 USB 两种供电方式只能用其中一种,避免因为电压有所差别而烧坏电路板。 采用电压高于5.5V的任何电源连接器可能造成永久性的损害。 插拔接插件前请关闭电路板总开关,否则易损坏器件。 电路板应在绝缘平台上使用,否则可能引起电路板损坏。 不同编码机制不要混接。 安装设备需防止静电。 液晶显示器件或模块结雾时,不要通电工作,防止电极化学反应,产生断线。 遇到正负极连接时需谨慎,避免接反引起开发板的损坏。 保持电路板的表面清洁。 小心轻放,避免不必要的硬件损伤。
实验目的 ....................................................................................................................................................... 17 实验内容 ....................................................................................................................................................... 17 实验要求 ....................................................................................................................................................... 17 实验步骤 ....................................................................................................................................................... 17 实验结果 ....................................................................................................................................................... 22
《FPGA设计与应用》实验指导书全(Verilog版)

《FPGA设计与应用》实验指导书熊利祥编武汉理工大学华夏学院2011年9月前言一、实验课目的数字电路与系统设计实验课是电子工程类专业教学中重要的实践环节,包括了ISE开发环境基本操作及FPGA的基本原理、基带传输系统的设计、Uart串口控制器电路的设计、PS/2接口的设计、VGA显示接口设计。
要求学生通过实验学会正确使用EDA技术,掌握FPGA器件的开发,熟练使用ISE开发环境,掌握Verilog语言的编程,掌握数字电路和系统的设计。
通过实验,使学生加深对课堂专业教学内容的理解,培养学生理论联系实际的能力,实事求是,严谨的科学作风,使学生通过实验结果,利用所学的理论去分析研究EDA技术。
培养学生使用Basys 2开发板的能力以及运用实验方法解决实际问题的能力。
二、实验要求:1.课前预习①认真阅读实验指导书,了解实验内容;②认真阅读有关实验的理论知识;③读懂程序代码。
2.实验过程①按时到达实验室;②认真听取老师对实验内容及实验要求的讲解;③认真进行实验的每一步,观察程序代码与仿真结果是否相符;④将实验过程中程序代码和仿真结果提交给老师审查;⑤做完实验后,整理实验设备,关闭实验开发板电源、电脑电源后方可离开。
3.实验报告①按要求认真填写实验报告书;②认真分析实验结果;③按时将实验报告交给老师批阅。
三、实验学生守则1.保持室内整洁,不准随地吐痰、不准乱丢杂物、不准大声喧哗、不准吸烟、不准吃东西;2.爱护公务,不得在实验桌及墙壁上书写刻画,不得擅自删除电脑里面的文件;3.安全用电,严禁触及任何带电体的裸露部分,严禁带电接线和拆线;4.任何规章或不按老师要求操作造成仪器设备损坏须论价赔偿。
目录实验一Uart通用串口接口的设计 (4)实验二PS/2接口的设计 (28)实验三VGA显示接口设计 (30)附录一 basys 2开发板资料 (36)实验一 Uart串口控制接口电路的设计一、实验目的1.掌握分频模块的设计方法。
可编程逻辑器件FPGA实验指导书

可编程逻辑器件(FPGA)实验指导书北京航空航天大学电工电子中心2014-10-22目录一、可编程逻辑器件概述 (1)1.1可编程逻辑器件发展及应用意义 (1)1.2可编程逻辑器件FPGA/CPLD结构简介 (1)二、可编程逻辑器件应用实质和编程原则 (6)2.1选择可编程逻辑器件的实质(或目的或目标) (6)2.2可编程逻辑器件设计流程 (6)2.3硬件描述语言分类 (8)三、VHDL程序设计基本结构 (9)3.1实体(ENTITY) (9)3.2结构体(ARCHITECTURE) (11)3.3子程序(FUNCTION PROCEDURE) (12)3.4集合包(PACKAGE) (13)3.5库(LIBRARY) (14)3.6配置(CONGIFURATION) (15)四、VHDL语法和语句简介 (16)4.1数据类型 (16)1、标准数据类型 (16)2、标准逻辑类型 (16)3、用户自定义数据类型 (16)4.2VHDL语言运算符 (17)1、基本运算符 (17)2、关系运算符 (17)3、算术运算符 (17)4、其他运算符 (18)4.3赋值语句 (18)4.4 IF语句 (19)4.5 CASE语句 (20)4.6进程(PROCESS)语句 (21)4.7并行过程调用语句CONCURRENT PROCEDURE CALLS STATEMENT (23)1、并行信号赋值语句 (23)2、条件信号赋值语句 (23)3、选择信号赋值语句 (24)4.8元件例化语句 COMPONENT I NSTANTIATIONS (24)4.9 LOOP语句 (26)4.10跳出循环语句(NEXT、EXIT语句) (27)4.11 RETURN语句 (27)4.12 NULL语句 (28)五、状态机 (29)5.1、状态机类型定义语句 (29)5.2时序电路时钟的表述方法 (31)六、实验篇 (33)6.1、门电路系列实验(任选一个实验) (36)6.2、组合逻辑系列实验(任选一个实验) (36)6.3、触发器系列实验(任选一个实验,规则自已分析确定) (36)6.4、时序逻辑系列实验(任选一个实验,规则自已分析确定) (36)6.5、存储器设计系列实验(任选一个实验,规则自已分析确定) (37)6.6、状态机逻辑系列实验(任选一个实验) (37)6.7、综合系统逻辑系列实验(任选一个实验,规则自已分析确定) (37)七、FPGA实验平台简介 (38)7.1、A LTERA FPGA EP1C6Q240特性 (38)1、Cyclone系列器件特性 (38)2、Cyclone系列器件可选封装和I/O引脚数 (39)3、Cyclone 系列器件I/O Banks布局图 (39)4、Cyclone device IOEs 支持标准接口 (39)5、Cyclone FPGA EP1C6Q240器件特点 (40)6、Cyclone EP1C6(12)Q模块分布图 (40)7、Cyclone EP1C6Q资源分配 (40)8、Cyclone EP1C6240C8引脚布局图 (41)7.2、实验平台硬件接口电路功能 (45)1、电源单元 (46)2、输入单元 (46)3、输出单元 (46)4、接口单元 (47)5、扩展单元 (47)7.3、输入有源信号 (47)1、电源 (47)2、逻辑电平输入信号——8bit DIP 开关×3 (47)3、单脉冲输入信号 (48)4、连续脉冲输入信号 (49)5、4X4键盘输入信号 (50)7.4、显示方式(供输出信号选择不同显示效果) (51)1、LED显示方式 (51)2、七段数码管显示方式 (52)3、米字型数码管显示方式 (53)4、8X8点阵显示方式 (54)5、LCD显示方式 (55)7.5、实验平台FPGA EP1C6Q240C8引脚与负载区各接口电路之间对应关系 (56)7.6、集成开发环境使用 (57)1、文本编辑源程序文件步骤 (58)2、原理图和图表模块编辑步骤 (83)3、混合编辑(自底向上)步骤 (103)4、混合编辑(自顶向下)步骤 (103)一、可编程逻辑器件概述1.1可编程逻辑器件发展及应用意义可编程逻辑器件发展--从PROM(Programmable Read Only Memory)、PLA(Programmable Logic Array)、PAL(Programmable Array Logic)、可重复编程的GAL(Generic Array Logic)、到采用大规模集成电路技术的EPLD(Erasable Programmable Logic Device),直到CPLD(Complex Programmable Logic Device)和FPGA(Field Programmable Gate Array)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《FPGA设计》实验指导书安全操作注意事项1、接插下载电缆前,请务必关闭实验箱开关,避免损坏下载电缆或实验箱器件。
2、操作过程中应防止静电。
3、保持实验箱和电路板的表面清洁。
4、小心轻放,避免不必要的硬件损伤或者人身受伤。
实验箱简介实验一简单组合逻辑设计一、实验目的和任务1、熟习Quartus II软件的使用;2、掌握用原理图输入法和硬件描述语言(Verilog HDL)两种方法来设计逻辑电路;3、通过电路的仿真及验证,进一步了解4选1数据选择器的功能;二、实验内容1、用原理图输入法来设计4选1数据选择器参照按图1-1所示来编辑完成4选1数据选择器的原理图输入,其中a、b、c、d 为数据输入端,sel[1]、sel[0]为控制输入端,q为4选1数据输出端。
存盘仿真后,观察仿真波形,以验证数据选择器的功能。
图1-1 4选1数据选择器原理图2、用Verilog HDL硬件描述语言来设计4选1数据选择器用QuartusII中的文本编辑器,编辑输入4选1数据选择器源程序:module m41( a, b, c, d, sel, q);input a,b,c,d;input [1:0]sel;output q;reg q;always @( sel)case(sel)2’b00: q=a;2’b01: q=b;2’b11: q=d; endcase endmodule程序中的a 、b 、c 、d 依然为数据输入端,sel[1]、sel[0]为控制输入端,q 为4选1数据输出端。
同样存盘后进行仿真,并观察仿真波形,以验证数据选择器的功能。
三、实验仪器、设备及材料电脑、EDA 软件、实验箱、下载电缆。
四、实验原理4选1数据选择器的原理框图及真值表如图1-2及表1-1所示,sel[1:0]可能出现四种组合情况: 00 01 10 11,它分别对应选通四个不同的数据输入a 、b 、c 、d ,从q 端输出。
结合以前所学数字电路的知识,可由真值表得出利用“与非门”实现的逻辑电路,进而可用QuartusII 原理图输入方法,设计出该4选1数据选择器;如应用EDA 技术所学的Verilog HDL 硬件描述语言来描述该电路功能,即可设计出该4选1数据选择器的源程序。
图1-2 4选1数据选择器的原理框图q Sel[1]输出选择输入0a 01b 00c 11d1Sel[0]表1-1 真值表五、重点、难点da b c件描述语言(Verilog HDL)两种方法来设计该逻辑电路。
其难点是要仿真出4选1数据选择器的波形,然后通过观测仿真波形,来验证该数据选择器的功能。
六、实验步骤(一)原理图输入法的设计步骤:(1)进入Windows 操作系统,双击Quartus II图标,启动软件。
1、单击File \ New Project Wizard菜单,输入文件名路径与设计项目的名字mux41,点击finish, 完成设计项目建立。
点击Assignment \ Device菜单,选择器件(本设计选用cyclone 系列的EP1C12Q240C8)。
2、启动菜单File \ New,选择Block Diagram/Schematic File,点OK,启动原理图编辑器。
画出图1-1(具体方法见后面说明)。
默认存盘名为mux41,保存。
(2)设计的输入1. 在原理图空白处双击,会出现元件选择对话框,在name处输入元件名,点OK完成元件放置。
依次放置4个三输入端与门(and3)、1个四输入端或门(or4),2个非门(not)器件、及6个输入端(input)、1个输入端(output)在原理图上;2. 添加连线到器件的管脚上把鼠标移到元件引脚附近,则鼠标光标自动由箭头变为十字,按住鼠标右键拖动,即可画出连线,参照图1连好相应元件的输入、输出脚。
3.保存原理图单击保存按钮。
原理图文件出现在红色箭头所指的地方。
(3)编译点击菜单栏上红色箭头所指的工具图标,完成编译。
图1-3 编译编译没有错误可以进行仿真。
点击 File \ New菜单。
选择other files中的vector waveform file。
画出输入波形,执行仿真命令,启动仿真并观察仿真波形,进行设计电路的功能验证。
点击开始仿真图1-4 新建波形文件的选择对话框(二)用Verilog HDL语言完成的设计步骤:(1)、运行Quartus II软件,先建立一个新的项目。
;(2)、启动File \ New菜单命令(如图1-5)(3)、选择verilog hdl file,点击OK后,键入上面“二、实验内容”中的程序。
(4)、以默认文件名和路径保存。
(5)参照原理图输入设计进行仿真,并观察仿真波形,以验证所设计电路的功能。
七、实验报告要求1. 对于原理图设计要求有设计过程。
2. 详细论述实验步骤。
八、实验注意事项1. 使用原理图设计时,其文件名[mux41.gdf]要与仿真的波形文件名[mux41.vwf]相同,只是文件的后缀不同;使用Verilog HDL语言设计时,其文件名(m4_1.V)要与模块名[module m4_1( a, b, c, d, sel, q);]相同,且仿真的波形文件名[m4_1.vwf]也要相同。
2. 用原理图输入法和Verilog HDL语言两种方法所做的设计,一定要建两个不同的工程,最好放在不同的目录中,且目录名不要出现中文字符。
3.在Waveform Editor仿真时,应先在菜单选项的Edit/ Grid Size…中所弹出的对话框中将Grid Size:改为1.0us;并菜单选项的Edit/ End Time…中所弹出的对话框中将Grid Size改为100.0us,以方便观察、理解仿真得到的波形。
九、思考题1. 如何用设计好的4选1数据选择器,来实现8选1数据选择器的设计(用原理图输入法来设计),试给出设计与仿真的结果。
2.谈谈使用原理图输入法和Verilog HDL语言设计两种方法的优劣心得。
实验二组合逻辑电路设计一、实验目的1、继续学习Verilog HDL基本语法;2、巩固Quartus II环境下的Verilog HDL编程设计的基础二、主要仪器设备EDA实验系统1台PC机三、实验内容1、设计一个四线至二线编码器,其真值表如下:表2.1 四线至二线编码器的真值表2、设计一个2位信号的比较器,该比较器的电路符号如图2.1所示。
图2.1 比较器电路符号引脚说明:A、B皆为二位信号;CLK为时钟脉冲输入;RST为清除控制信号。
AGTB:当A>B时,其值为1,否则为0;AEQB:当A=B时,其值为1,否则为0;ALTB:当A<B时,其值为1,否则为0;3、设计一个八位全加器。
四、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,管脚分配,硬件测试结果等内容。
实验三一般计数器的设计及ModelSim 仿真测试一、实验目的1、掌握一般计数器的设计方法;2、了解ModelSim 仿真测试方法。
二、主要仪器设备EDA实验系统1台PC机三、实验内容1、设计一个8421BCD十进制计数器,并将计数结果在LED或数码管上显示。
2、利用ModelSiml工具进行仿真测试。
四、ModelSim仿真步骤见参考资料《ModelSim操作简介》五、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。
实验四时序逻辑电路设计一、实验目的理解触发器和计数器的概念,掌握时序器件的Verilog HDL语言程序设计的方法二、主要仪器设备EDA实验系统1台PC机三、实验内容设计以下内容:1、基本的D触发器;2、同步复位的D触发器;3、异步复位的D触发器;4、同步置位/复位的D触发器;5、设计一个简单的加法或减法计数器,并用LED或数码管显示四、实验报告根据以上实验内容写出实验报告,包括程序设计,管脚分配,用示波器观察D触发器波型;计数器用LED或数码管显示,并提交其仿真结果及分析。
实验五有限状态机(FSM)的设计一、实验目的1、了解FSM的应用范围和两种类型的不同特点;2、掌握FSM的电路结构和设计要点。
二、主要仪器设备EDA实验系统一台三、实验原理FSM适合于设计数字系统的控制模块。
用Verilog HDL的case/if-else等语句能很好地描述基于状态机的设计。
状态机可以认为是组合逻辑和时序逻辑的特殊组合。
时序逻辑部分用于存贮状态,组合电路用于状态译码和产生输出信号。
状态机的下一个状态不仅与输入信号有关,还与状态寄存器当前所处的状态有关。
状态机分为Mealy和Moore两种类型,前者的输出只是当前状态的函数,也就是状态的转换与输入信号无关,后者的输出则是当前状态和当前输入的函数,即状态的转换与输入信号有关。
状态机的表示方法:状态图、状态表和流程图。
四、实验内容检测一个5位二进制序列“10010”五、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。
实验六基于模块多层次引用的结构化电路设计一、实验目的1、了解复杂电路与系统的“top-down”设计思想;2、掌握简单多层次电路的描述方法。
二、主要仪器设备EDA/SOPC实验系统1台三、实验原理1、多层次结构电路的设计复杂数字系统可采用“top-down”的方法进行设计:首先把系统分为几个模块,每个模块在分为几个子模块,依次类推,知道易于实现为止。
这种“top-down”的方法能够把复杂的设计分为许多简单的设计来实现,同时也适合于多人进行合作开发。
多层次结构电路的描述既可以采用文本方式,也可以采用图形和文本混合设计的方式。
被调用模块的指定方式:1)文件复制方式;2)使用`include语句;3)库管理方式。
2、设计实例分析这个实例的功能是将并行数据转化为串行数据送交外部电路编码,并将解码后得到的串行数据转化为并行数据交由CPU处理。
显而易见,这实际上是两个独立的逻辑功能,分别设计为独立的模块,然后再合并为一个模块显得目的明确、层次清晰。
模块源代码// ---------------- p_to_s.v ---------------------------------module p_to_s(D_in,T0,data,SEND,ESC,ADD_100);output D_in,T0; // D_in是串行输出,T0是移位时钟并给// CPU中断,以确定何时给出下个数据。
input [7:0] data; //并行输入的数据。
input SEND,ESC,ADD_100; //SEND、ESC共同决定是否进行并到串//的数据转化。
ADD_100决定何时置数。
wire D_in,T0;reg [7:0] DATA_Q,DATA_Q_buf;assign T0 = ! (SEND & ESC); //形成移位时钟。