
EDA技术与SOPC基础实验指导书目录实验1交通灯故障报警器设计实验4.5实验2简易电子琴设计实验38位数码管动态显示实验.8实验44位十进制计数器设计实验,1315实验5电子时钟设计实验实验6.17简易数字频率计设计.. 21实验 7 基于RPR220报警器系统设计实验8..24正弦信号发生器设计..实验9.33VGA彩条显示控制器设计..37实验10PIO电平中断实验实验 11PIO沿中断实验45实验12DS18B20温度传感器实验:49实验13TFT_LCD显示设计实验..56补充学习资料.59第2章.60QuartusI应用向导.602. 1QuartusII软件的安装.632.2原理图输入法应用向导.2.3文本输入法应用向导.83QuartusII与Modelsim联合仿真852.42.5SignalTap II嵌入式逻辑分析仪91.922.5.1新建counter计数器设计工程2.5.2新建SignalTapII仿真文件92..922.5.3编辑SignalTapII仿真文件.. 952.5.4保存文件,..952.5.4运行仿真查看结果..962.6In-SystemMemoryContentEditor工具..972.7JTAG模式固化代码方法.972.7.1SOF文件转换为JIC文件.2.7.2JTAG烧写JIC文件1002
EDA 技术与 SOPC 基础实验指导书 2 目 录 实验 1 交通灯故障报警器设计实验. 4 实验 2 简易电子琴设计. 5 实验 3 8 位数码管动态显示实验 . 8 实验 4 4 位十进制计数器设计实验 . 13 实验 5 电子时钟设计实验. 15 实验 6 简易数字频率计设计. 17 实验 7 基于 RPR220 报警器系统设计. 21 实验 8 正弦信号发生器设计. 24 实验 9 VGA 彩条显示控制器设计 . 33 实验 10 PIO 电平中断实验 . 37 实验 11 PIO 沿中断实验 . 45 实验 12 DS18B20 温度传感器实验 . 49 实验 13 TFT_LCD 显示设计实验 . 56 补充学习资料 . 59 第 2 章 Quartus II 应用向导. 60 2.1 QuartusII 软件的安装 . 60 2.2 原理图输入法应用向导. 63 2.3 文本输入法应用向导. 83 2.4 Quartus II 与 Modelsim 联合仿真. 85 2.5 Signal Tap II 嵌入式逻辑分析仪 . 91 2.5.1 新建 counter 计数器设计工程 . 92 2.5.2 新建 SignalTap II 仿真文件 . 92 2.5.3 编辑 SignalTap II 仿真文件 . 92 2.5.4 保存文件 . 95 2.5.4 运行仿真查看结果 . 95 2.6 In-System Memory Content Editor 工具 . 96 2.7 JTAG 模式固化代码方法 . 97 2.7.1 SOF 文件转换为 JIC 文件. 97 2.7.2 JTAG 烧写 JIC 文件. 100

EDA技术与SOPC基础实验指导书习题.101第3章VerilogHDL入门项目设计,1033. 1项目1:永远的LED..1033. 2项目2:3-8译码器1103.3项目3:4选1多路选择器,1173.4项目4:触发器设计.1243.5项目5:计数器设计..1293.6项目6:分频器设计1331373.7项目7:秒表电路设计实现1463.8项目8:序列检测器设计3.9项目9:ADC0809采样控制器设计151.1583. 10项目10:Testbench测试平台设计3.10.1测试平台的格式1603.10.2时延:161initial和always的区别,3.10.3161观察与保存波形与值1633.10.43
EDA 技术与 SOPC 基础实验指导书 3 习 题. 101 第 3 章 Verilog HDL 入门项目设计. 103 3.1 项目 1:永远的 LED. 103 3.2 项目 2:3-8 译码器. 110 3.3 项目 3:4 选 1 多路选择器. 117 3.4 项目 4:触发器设计 . 124 3.5 项目 5:计数器设计 . 129 3.6 项目 6:分频器设计 . 133 3.7 项目 7:秒表电路设计实现 . 137 3.8 项目 8:序列检测器设计 . 146 3.9 项目 9:ADC0809 采样控制器设计. 151 3.10 项目 10:Testbench 测试平台设计. 158 3.10.1 测试平台的格式 . 160 3.10.2 时延 . 161 3.10.3 initial 和 always 的区别. 161 3.10.4 观察与保存波形与值 . 163

EDA技术与SOPC基础实验指导书实验1交通灯敌障报警器设计实验一、实验目的熟练掌握EDA开发工具QuartusII的原理图输入设计方法;◆熟练掌握EDA开发工具QuartusII的文本设计方法:◆熟练掌握QuartusII自带仿真器的使用方法◆熟练掌握EDA的层次化设计方法:二、实验设备PC机、QuartusII13.0开发软件、实验开发板。三、实验任务◆用QuartusII原理图实现一个交通等故障报警器设计电路并仿真;◆用VerilogHDL设计一个交通等故障报警器设计电路并仿真;四、实验原理交通灯故障报警器是利用门电路构建的简单电路,工作原理非常简单,交通灯有红、黄、绿三个等,在同一时刻,整个交通灯系统只充许一个灯亮,如果同一时刻,红、黄、绿三个灯亮了两个灯或者亮了三个灯或者三个灯都不亮的时候,说明交通灯系统发生了故障。4
EDA 技术与 SOPC 基础实验指导书 4 实验 1 交通灯故障报警器设计实验 一、实验目的 ◆ 熟练掌握 EDA 开发工具 Quartus II 的原理图输入设计方法; 熟练掌握 EDA 开发工具 Quartus II 的文本设计方法; ◆ 熟练掌握 Quartus II 自带仿真器的使用方法; ◆ 熟练掌握 EDA 的层次化设计方法; 二、实验设备 PC 机、Quartus II 13.0 开发软件、实验开发板。 三、实验任务 ◆ 用 Quartus II 原理图实现一个交通等故障报警器设计电路并仿真; ◆用 Verilog HDL 设计一个交通等故障报警器设计电路并仿真; 四、实验原理 交通灯故障报警器是利用门电路构建的简单电路,工作原理非常简单,交通灯有 红、黄、绿三个等,在同一时刻,整个交通灯系统只允许一个灯亮,如果同一时刻, 红、黄、绿三个灯亮了两个灯或者亮了三个灯或者三个灯都不亮的时候,说明交通灯 系统 发生了故障

EDA技术与SOPC基础实验指导书实验2盾易电子琴设计一、实验目的了解蜂鸣器发声的简单工作原理及控制方法;◆熟练掌握数控分频器的VerilogHDLL设计方法:◆进一步掌握层次化设计方法:二、实验设备PC机、QuartusII13.0开发软件、实验开发板。三、实验任务应用开发板上的独立按键来模拟电子琴琴键功能,即每个键对应能发出一种标准音符声音,通过蜂鸣器发声实现一个简易电子琴。四、实验原理电子琴是一种能弹奏乐曲的器件,乐曲往往是由两个参数来表达的,即音调(组成乐曲的每个音符的频率值)和音长(每个音符持续时间)。对于交流蜂鸣器而言,输入的信号的频率高低会决定音调的高低,乐曲中的音调总共分为高音、中音和低音,每种音符又有7个音调,而每个音调所对应的信号频率值是固定的,通过查阅相关资料,可以得到例如中音的音名与其频率值的关系见表2.1所示。表2.1中音音名与频率关系音名音名频率(Hz)频率(Hz)523784中音1中音5587中音2中音6880中音3659中音7988中音4699高音11047从该表中可以看出,要想在蜂鸣器上发出标准的音调,那么只需要能产生对应的5
EDA 技术与 SOPC 基础实验指导书 5 实验 2 简易电子琴设计 一、实验目的 ◆ 了解蜂鸣器发声的简单工作原理及控制方法; ◆ 熟练掌握数控分频器的 Verilog HDLL 设计方法; ◆ 进一步掌握层次化设计方法; 二、实验设备 PC 机、Quartus II 13.0 开发软件、实验开发板。 三、实验任务 应用开发板上的独立按键来模拟电子琴琴键功能,即每个键对应能发出一种标准 音符声音,通过蜂鸣器发声实现一个简易电子琴。 四、实验原理 电子琴是一种能弹奏乐曲的器件,乐曲往往是由两个参数来表达的,即音调(组 成乐曲的每个音符的频率值)和音长(每个音符持续时间)。对于交流蜂鸣器而言, 输入的信号的频率高低会决定音调的高低,乐曲中的音调总共分为高音、中音和低音, 每种音符又有 7 个音调,而每个音调所对应的信号频率值是固定的,通过查阅相关资 料,可以得到例如中音的音名与其频率值的关系见表 2.1 所示。 表 2.1 中音音名与频率关系 音名 频率(Hz) 音名 频率(Hz) 中音 1 523 中音 5 784 中音 2 587 中音 6 880 中音 3 659 中音 7 988 中音 4 699 高音 1 1047 从该表中可以看出,要想在蜂鸣器上发出标准的音调,那么只需要能产生对应的

EDA技术与SOPC基础实验指导书频率信号送入到蜂鸣器即可。如何能得到一些列不同的频率信号呢,此时,完全可以利用数控分频器来对一基准信号实现分频而得到。设计数控分频器最关键一点是要控制好准确的分频比R,由分频比的概念(输入信号和输出信号之间的频率倍数)可以快速计算出每个音调所需的分频比大小。在该实验中,开发板所提供的基准时钟信号是50MHz,现以中音1为例,R=50M/523=95602,依次类推,可以计算出每个音调所对应的分频比大小,然后通过按键把每个音调所需要的分频比大小送入到数控分频器中,即能实现对应按键输出一个标准音调的功能。其中,蜂鸣器电路结构如图2.1所示。SV2Q1R88550PIN13210KFR14100Buza图2.1蜂鸣器电路结构图五、实验步骤1.计算各个音调对应的分频比:2.建立项目工程,编写VerilogHDLL程序代码实现数控分频器的设计:3.综合,选择目标芯片,按照表2.2锁定引脚:4.下载,验证设计是否成功:6
EDA 技术与 SOPC 基础实验指导书 6 频率信号送入到蜂鸣器即可。如何能得到一些列不同的频率信号呢,此时,完全可以 利用数控分频器来对一基准信号实现分频而得到。设计数控分频器最关键一点是要控 制好准确的分频比 R,由分频比的概念(输入信号和输出信号之间的频率倍数)可以 快速计算出每个音调所需的分频比大小。 在该实验中,开发板所提供的基准时钟信号是 50MHz,现以中音 1 为例, R=50M/523=95602,依次类推,可以计算出每个音调所对应的分频比大小,然后通过按 键把每个音调所需要的分频比大小送入到数控分频器中,即能实现对应按键输出一个 标准音调的功能。 其中,蜂鸣器电路结构如图 2.1 所示。 图 2.1 蜂鸣器电路结构图 五、实验步骤 1.计算各个音调对应的分频比; 2.建立项目工程,编写 Verilog HDLL 程序代码实现数控分频器的设计; 3.综合,选择目标芯片,按照表 2.2 锁定引脚; 4.下载,验证设计是否成功;

EDA技术与SOPC基础实验指导书表2.2管脚分配表管管端口名FPGA端口名FPGAclkKEY[]PIN_143PIN_153PIN_132KEY[1]PIN_158buzzerKEY[2]PIN_160KEY[3]PIN_159KEY[4]PIN_156KEY[5]PIN_141KEY[6]PIN_17KEY[7]PIN_197
EDA 技术与 SOPC 基础实验指导书 7 表 2.2 管脚分配表 端口名 FPGA 管 脚号 端口名 FPGA 管 KEY[0] PIN_143 Clk 脚号PIN_153 KEY[1] PIN_158 buzzer PIN_132 KEY[2] PIN_160 KEY[3] PIN_159 KEY[4] PIN_156 KEY[5] PIN_141 KEY[6] PIN_17 KEY[7] PIN_19

EDA技木与SOPC基础实验指导书实验38佳数码管动态显示实验一、实验目的→了解数码管电路结构及工作特性;熟练掌握控制数码管动态扫描VerilogHDL方法学会用分频器来控制扫描时间的方法:二、实验设备PC机、QuartusII13.0开发软件、实验开发板。三、实验任务设计实现在数码管上显示任意0~9的数字设计实现在8个数码管上依次显示数字1、2、3、4、5、6、7、8四、实验原理1.LED数码管概述led数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。1ed数码管常用段数一般为7段(A、B、C、D、E、F、G)另加一个小数点(DP),其内部管脚定义如图3.1所示:AEBGEcODPD图3.1数码管内部管脚定义1ed数码管根据LED的接法不同分为共阴和共阳两类,数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的8
EDA 技术与 SOPC 基础实验指导书 8 实验 3 8 位数码管动态显示实验 一、实验目的 ◆ 了解数码管电路结构及工作特性; ◆ 熟练掌握控制数码管动态扫描 Verilog HDL 方法; ◆ 学会用分频器来控制扫描时间的方法; 二、实验设备 PC 机、Quartus II 13.0 开发软件、实验开发板。 三、实验任务 ◆ 设计实现在数码管上显示任意 0~9 的数字 ◆ 设计实现在 8 个数码管上依次显示数字 1、2、3、4、5、6、7、8 四、实验原理 1. LED 数码管概述 led 数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8” 字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led 数 码管常用段数一般为 7 段(A、B、C、D、E、F、G)另加一个小数点(DP),其内部管脚 定义如图 3.1 所示: 图 3.1 数码管内部管脚定义 led 数码管根据 LED 的接法不同分为共阴和共阳两类,数码管要正常显示,就要 用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的

EDA技术与SOPC基础实验指导书驱动方式的不同,可以分为静态式和动态式两类。静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个FPGA的I/O端口进行驱动,或者使用如BCD码二一十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/0端口多。动态驱动是将所有数码管的8个显示笔划"a,b,c,d,ef,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当FPGA输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于FPGA对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2mS,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/0端口,而且功耗更低。2.开发板数码管电路结构U633VSEG7powerPIN238115X8工AYO1风PIN2372BY12PIN23631CY23V34Header2HY35Y4GND!S10Y5GND一169Y6VCC7XI63V3HE3Y774LS1389
EDA 技术与 SOPC 基础实验指导书 9 驱动方式的不同,可以分为静态式和动态式两类。 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个 FPGA 的 I/O 端口进行驱动,或者使用如 BCD 码二-十进制译码器译码进行驱动。静态驱动 的优点是编程简单,显示亮度高,缺点是占用 I/O 端口多。 动态驱动是将所有数码管的 8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一 起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O 线控制,当FPGA输出字形码时,所有数码管都接收到相同的字形码,但究竟是那 个数码管会显示出字形,取决于FPGA对位选通 COM 端电路的控制,所以我们只要 将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会 亮。通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这就 是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 1~2ms,由于人的视觉暂 留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描 的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效 果和静态显示是一样的,能够节省大量的 I/O 端口,而且功耗更低。 2. 开发板数码管电路结构

EDA技术与SOPC基础实验指导书平0420-DIRVCC197SEGAPN.62OEAO18R347SEG_BFIN.S33307SEG_AOUTA1BO7SEG_CFIN.417R353307SEGBOUT4B1A216R377SEGDPIN353307SEGCOUTA3B2157SEG_EPIN26R383307SEGDOUTB3A4PN147SBG_F7R403307SEGEOUTB4A57SEGG13R413307SEGFOUTPIN2408A6BS127SEGDPPN2399R433307SEG.GOUTA7B61011R443307SEGDPB7GND74HC245GNDLoomOEnovnomX2x0x60CCLEDSEGZLED SEGZa-SSC93-S8.8.8.8PPA.8S3S3S1S2SSS1S2SA0341LED42525ooZTX47SEG_EOUT7SEG_DOUT7SEG_DP7SEG_COUT7SEG_GOUT7SEG_EOUT7SEG_DOUT7SEG_DP7SEG_COUT7SEG_GOUTX8图3.28位共阳数码管电路结构本实验中使用到的8位数码管的硬件电路结构如图5.2所示。在该图中8位数码管是由两个四位一体共阳数码管构成。为了减少I/0口的占用数量,8个数码管的选通控制开关(位选)通过一个74LS138译码器芯片来转换,即用3-8译码器来实现对选通控制信号的使能,74LS138的功能表如表3.1所示。10
EDA 技术与 SOPC 基础实验指导书 10 图 3.2 8 位共阳数码管电路结构 本实验中使用到的 8 位数码管的硬件电路结构如图 5.2 所示。在该图中 8 位数码 管是由两个四位一体共阳数码管构成。为了减少 I/O 口的占用数量,8 个数码管的选 通控制开关(位选)通过一个 74LS138 译码器芯片来转换,即用 3-8 译码器来实现对 选通控制信号的使能,74LS138 的功能表如表 3.1 所示

EDA技木与SOPC基础实验指导书表3.13-8译码器真值表DM74LS138OutputsSelectCBAY1Y2Y3Y4Y7YOY5Y6HHHHHHHH++XHHHHHHHXXHXHHHH-HHHHH<HHHHHHHHLHHHHHH一HHLHHHH人HHHHHHHHHHHLHHHHHHLHHHHHHHHHHLHHF这里的数码管的控制原理主要是通过3-8译码器实现位选控制信号的选择,例如当CBA=“000”时,此时便把第1个数码管的位选使能;当CBA=“001”时,此时便把第2个数码管的位选使能;以此类推,当CBA=“111”时,此时便把第8个数码管的位选使能.当使能数码管后,只需要往段码端口送入相应内容的字形码便可以轻松实现数字显示。当要实现动态扫描显示时,只需通过控制扫描信号相应的频率,让数码管的位选使能端在一定的时间间隔内进行循环使能有效,这样就能实现动态显示。一般扫描信号的频率设置为1KHz即可。五、实验步骤1.新建工程2.新建VerilogHDL文本3.综合4.下载11
EDA 技术与 SOPC 基础实验指导书 11 表 3.1 3-8 译码器真值表 这里的数码管的控制原理主要是通过 3-8 译码器实现位选控制信号的选择,例如 当 CBA=“000”时,此时便把第 1 个数码管的位选使能;当 CBA=“001”时,此时便把 第 2 个数码管的位选使能;以此类推,当 CBA=“111”时,此时便把第 8 个数码管的 位选使能.当使能数码管后,只需要往段码端口送入相应内容的字形码便可以轻松实现 数字显示。 当要实现动态扫描显示时,只需通过控制扫描信号相应的频率,让数码管的位选 使能端在一定的时间间隔内进行循环使能有效,这样就能实现动态显示。一般扫描信 号的频率设置为 1KHz 即可。 五、实验步骤 1. 新建工程 2. 新建 Verilog HDL 文本 3. 综合 4. 下载