最新Verilog HDL数字设计实训教程第3章 数字系统应用类实训项目(共51张PPT课件).pptx
《最新Verilog HDL数字设计实训教程第3章 数字系统应用类实训项目(共51张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新Verilog HDL数字设计实训教程第3章 数字系统应用类实训项目(共51张PPT课件).pptx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Verilog HDL数字数字(shz)设计实训教程设计实训教程西安电子科技大学出版社西安电子科技大学出版社第一页,共五十一页。第第1章章 Verilog HDL数字设计数字设计(shj)实训基础实训基础第第2章章 接口类实训项目接口类实训项目(xingm)第第3章章 数字系统数字系统(xtng)应用类实训项目应用类实训项目第第4章章 NiosII处理器实训项目处理器实训项目第二页,共五十一页。第3章 数字(shz)系统应用类实训项目 3.1 序列检测器设计序列检测器设计 3.2 多功能计算器设计多功能计算器设计 3.3 求最大公因数设计求最大公因数设计 3.4 多功能数字钟设计多功能数字钟设
2、计 3.5 音乐音乐(ynyu)播放器设计播放器设计 3.6 小结小结 第三页,共五十一页。3.1 序列序列(xli)检测器设计检测器设计 1. 设计要求设计要求 试设计一个试设计一个“1101”序列检测器,每当序列检测器,每当1101连续出现时,检连续出现时,检测输出测输出1,控制,控制LED点亮。例如:序列点亮。例如:序列“11110110100110100110100”经经FPGA处理后,则先后处理后,则先后亮亮4次次LED灯。灯。要求:要求:(1)使用按键)使用按键2来输入来输入1和和0;(2)使用按键)使用按键3作为序列的时钟信号,每按一次,则将按键作为序列的时钟信号,每按一次,则将
3、按键2确定确定(qudng)的二进制码串入序列中。的二进制码串入序列中。(3)检测出)检测出“1101”序列后,第序列后,第4个个led灯点亮,否则该灯点亮,否则该led灯灯灭。灭。第四页,共五十一页。3.1 序列序列(xli)检测器设计检测器设计 2. 设计说明设计说明 图图3-1 “1101”序列序列(xli)检测器状态图检测器状态图第五页,共五十一页。3.1 序列序列(xli)检测器设计检测器设计 3. 设计设计(shj)模块模块 图图3-2 序列序列(xli)检测器检测器模块模块端口框端口框图图 第六页,共五十一页。3.1 序列序列(xli)检测器设计检测器设计 3. 设计设计(shj
4、)模块模块 2个模个模块的功能:块的功能: 模块模块U1用于产生二进制码和序列移入时钟,同时用于产生二进制码和序列移入时钟,同时(tngsh)将产生的二进制码送数码管显示;将产生的二进制码送数码管显示; 模块模块U2进行序列检测,若检测到事先设定的二进进行序列检测,若检测到事先设定的二进制码,就会控制制码,就会控制led点亮。点亮。 第七页,共五十一页。3.1 序列序列(xli)检测器设计检测器设计 4. 代码代码(di m)说明说明 (1)顶层模块)顶层模块sequence_top调用了两个模块。模块调用了两个模块。模块key_sequence用于产生二进制码和序列移入时钟,同时将用于产生二
5、进制码和序列移入时钟,同时将产生的二进制码送数码管显示;模块产生的二进制码送数码管显示;模块serial_detected用于进用于进行序列检测行序列检测(jin c),若检测,若检测(jin c)到事先设定的二进制码,就到事先设定的二进制码,就会控制会控制led点亮。点亮。(2) serial_detected在进行序列检测时,使用了包含在进行序列检测时,使用了包含4个个状态的状态机予以实现,该状态机代码就是由图状态的状态机予以实现,该状态机代码就是由图3-1所示的状所示的状态图转化而成。态图转化而成。第八页,共五十一页。3.1 序列序列(xli)检测器设计检测器设计 5. 仿真仿真(fn
6、zhn)分析分析 图图3-3 序列检测序列检测(jin c)模块模块仿真波形图仿真波形图 第九页,共五十一页。3.1 序列序列(xli)检测器设计检测器设计 6. 硬件硬件(yn jin)验证验证 图图3-4 引脚锁定引脚锁定(su dn)第十页,共五十一页。3.1 序列序列(xli)检测器设计检测器设计 7. 扩展扩展(kuzhn)部分部分 请读者思考请读者思考并实现以下扩展功能:并实现以下扩展功能:(1)在检测出序列的基础上,对检测出现的次数进行)在检测出序列的基础上,对检测出现的次数进行累加计数,并将计数结果显示在数码管上。累加计数,并将计数结果显示在数码管上。(2)使用)使用2只数码管
7、显示最近两次输入的数据,这样只数码管显示最近两次输入的数据,这样(zhyng)可使序列移入效果更直观。可使序列移入效果更直观。 第十一页,共五十一页。3.2 多功能计算器设计多功能计算器设计(shj) 1. 设计要求设计要求 实现多功能计算器,具体要求如下实现多功能计算器,具体要求如下(rxi): 该计算器可以实现加法、减法、乘法该计算器可以实现加法、减法、乘法3种功能:种功能:3种种功能由按键功能由按键2进行选择;进行选择;2个运算数由键个运算数由键1和键和键3产生,产生,每按一次键则使相应的运算数加每按一次键则使相应的运算数加1;加、减、乘均产生;加、减、乘均产生一个结果,当按下键一个结果
8、,当按下键4时,产生运算结果并将结果显示时,产生运算结果并将结果显示液晶上,显示格式分别为液晶上,显示格式分别为“3+2= 5”、“8-14=-7”、“3x5=15”;要求参与运算的;要求参与运算的2个数为个数为9以内的整数。以内的整数。 第十二页,共五十一页。3.2 多功能计算器设计多功能计算器设计(shj) 2. 设计说明设计说明 由于开发板资源有限,仅有由于开发板资源有限,仅有4个按键,计算器的功能全个按键,计算器的功能全部通过部通过4个按键来完成,所以为了操作方便,限定参与运个按键来完成,所以为了操作方便,限定参与运算的两个数均为算的两个数均为9以内的整数,同时限定该计算器仅完成加、以
9、内的整数,同时限定该计算器仅完成加、减、乘运算。减、乘运算。 理论上,如果我们按一次键,就对操作数加理论上,如果我们按一次键,就对操作数加1,那么,那么操作数可以是任意的正整数;同理,如果按一次键,就操作数可以是任意的正整数;同理,如果按一次键,就改变改变(gibin)成一种新的运算,那么计算器可以完成很多成一种新的运算,那么计算器可以完成很多种运算。但是,通过按键加种运算。但是,通过按键加1来改变操作数或改变运算种来改变操作数或改变运算种类,比较麻烦,所以我们对操作数以及运算种类均作了限定,类,比较麻烦,所以我们对操作数以及运算种类均作了限定,操作数限定为操作数限定为9以内的整数,运算仅限于
10、加、减、乘。以内的整数,运算仅限于加、减、乘。第十三页,共五十一页。3.2 多功能计算器设计多功能计算器设计(shj) 3. 设计设计(shj)模块模块 图图3-5 计算器计算器模块模块(m kui)端口框端口框图图第十四页,共五十一页。3.2 多功能计算器设计多功能计算器设计(shj) 3. 设计设计(shj)模块模块 4个模个模块的功能:块的功能: 模块模块U1为分频器,得到为分频器,得到200Hz的频率,该频率用于的频率,该频率用于U2、U4等模块;等模块; 模块模块U2使用按键来设置计算器的功能以及设置参与计算使用按键来设置计算器的功能以及设置参与计算的的2个数据;个数据; 模块模块U
11、3根据计算器的功能以及参与计算的数据,完成根据计算器的功能以及参与计算的数据,完成运算,并将结果运算,并将结果(ji gu)转换成适宜在转换成适宜在LCD上显示的数据;上显示的数据; 模块模块U4实现将结果显示在液晶屏上。实现将结果显示在液晶屏上。 第十五页,共五十一页。3.2 多功能计算器设计多功能计算器设计(shj) 4. 代码代码(di m)说明说明 (1)在在calculator _top模块模块中,可以看到调用了中,可以看到调用了4个模块。模块个模块。模块divf_cal为为分频器,得到分频器,得到200Hz的频率,该频率用于的频率,该频率用于key_cal、lcd_1602_cal
12、等模块;模等模块;模块块key_cal使用按键来设置计算器的功能以及设置参与计算的使用按键来设置计算器的功能以及设置参与计算的2个数据个数据(shj);模;模块块calculator根据计算器的功能以及参与计算的数据,进行运算,并将结果转根据计算器的功能以及参与计算的数据,进行运算,并将结果转换成适宜在换成适宜在LCD上显示的数据;模块上显示的数据;模块lcd_1602_cal用于将结果显示在液晶屏上用于将结果显示在液晶屏上.(2)4个按键的功能:个按键的功能:3种功能由按键种功能由按键2进行选择,每按一次键进行选择,每按一次键2就改变一种功能,就改变一种功能,3种功能依次循环选择;种功能依次
13、循环选择;2个运算数由键个运算数由键1和键和键3产生,每按一次键则使相应的产生,每按一次键则使相应的运算数加运算数加1;键;键4则启动计算并得到计算结果。则启动计算并得到计算结果。请读者参照请读者参照key_cal模块认真模块认真体会。体会。(3)动态数据在液晶上显示的方法,由状态机来完成,请读者参照)动态数据在液晶上显示的方法,由状态机来完成,请读者参照lcd_1602_cal模块模块的代码及其注释认真体会。的代码及其注释认真体会。第十六页,共五十一页。3.2 多功能计算器设计多功能计算器设计(shj) 5. 仿真仿真(fn zhn)分析分析 图图3-6 calculator模块模块(m k
14、ui)仿真波形仿真波形图图第十七页,共五十一页。3.2 多功能计算器设计多功能计算器设计(shj) 6. 硬件硬件(yn jin)验证验证 图图3-7 引脚锁定引脚锁定(su dn)第十八页,共五十一页。3.2 多功能计算器设计多功能计算器设计(shj) 7. 扩展扩展(kuzhn)部分部分 请读者思考请读者思考并实现以下扩展功能:并实现以下扩展功能:(1)本小节设计的多功能计算器,仅包含加、减、乘法,请读者在此基础)本小节设计的多功能计算器,仅包含加、减、乘法,请读者在此基础上完成除法运算功能。要求:(上完成除法运算功能。要求:(i)除法中除数为)除法中除数为0,则需要报错,并将错误,则需要
15、报错,并将错误信息信息“E”显示在液晶上;(显示在液晶上;(ii)除法产生商和余数)除法产生商和余数2个结果个结果(ji gu),除法在液,除法在液晶上显示的格式为晶上显示的格式为“13/5=23”,即要求商和余数之间使用,即要求商和余数之间使用“”隔开;隔开;要求参与运算的要求参与运算的2个数为个数为9以内的整数。以内的整数。(2)本小节设计的多功能计算器,对参与计算的操作数限定为)本小节设计的多功能计算器,对参与计算的操作数限定为9以内的以内的整数,事实上对于更大的数,其实现原理是一样的。将读者将参与计算整数,事实上对于更大的数,其实现原理是一样的。将读者将参与计算的操作数扩展到的操作数扩
16、展到1000以内,并将结果显示在液晶上。以内,并将结果显示在液晶上。第十九页,共五十一页。3.3 求最大公因数设计求最大公因数设计(shj) 1. 设计设计(shj)要求要求 实现求最大公因数,具体要求如下:实现求最大公因数,具体要求如下: 对任意输入的两个正整数,能够得到它们的最大公因对任意输入的两个正整数,能够得到它们的最大公因数,数,2个数由键个数由键1和键和键2产生,键产生,键4则启动求最大公因则启动求最大公因数并将结果显示液晶上,显示格式分别为数并将结果显示液晶上,显示格式分别为“8G4=4”,要求输入的要求输入的2个数均为个数均为9以内的整数。以内的整数。第二十页,共五十一页。图图
17、3-8 GCD系统系统(xtng)框图框图2. 设计说明设计说明 第二十一页,共五十一页。3.3 求最大公因数设计求最大公因数设计(shj) 2. 设计说明设计说明 图图3-9 状态图转换状态图转换(zhunhun)模板模板 第二十二页,共五十一页。3.3 求最大公因数设计求最大公因数设计(shj) 2. 设计说明设计说明 图图3-10求最求最大公约数的大公约数的状态图(左)状态图(左)及化简后的及化简后的状态图(右)状态图(右) 第二十三页,共五十一页。3.3 求最大公因数设计求最大公因数设计(shj) 3. 设计设计(shj)模块模块 图图3-11 GCD模块模块(m kui)端口框端口框
18、图图 第二十四页,共五十一页。3.3 求最大公因数设计求最大公因数设计(shj) 3. 设计设计(shj)模块模块 使用使用4个模块个模块实现实现: 模块模块U1为分频器,得到为分频器,得到200Hz的频率,该频率用于的频率,该频率用于U2、U3、U4等模块;等模块; 模块模块U2使用按键使用按键(n jin)来设置参与运算的来设置参与运算的2个数据;个数据; 模块模块U3根据求最大公因数的算法,完成运算,并将根据求最大公因数的算法,完成运算,并将结果转换成适宜在结果转换成适宜在LCD上显示的数据;上显示的数据; 模块模块U4实现将结果显示在液晶屏上。实现将结果显示在液晶屏上。 第二十五页,共
19、五十一页。3.3 求最大公因数设计求最大公因数设计(shj) 4. 代码代码(di m)说明说明 (1)在在gcd_top模块中,可以看到调用了模块中,可以看到调用了4个模块。模块个模块。模块divf_gcd为分频器,得到为分频器,得到200Hz的频率,该频率用于的频率,该频率用于key_gcd 、gcd 、lcd_gcd等模块;模块等模块;模块key_gcd实现求最大公因数的算法,完成运算,实现求最大公因数的算法,完成运算,并将结果转换成适宜在并将结果转换成适宜在LCD上显示的数据;模块上显示的数据;模块lcd_gcd 实现将结果实现将结果显示在液晶屏上。显示在液晶屏上。(2)4个按键,仅用
20、到了个按键,仅用到了3个按键:个按键:2个运算数由键个运算数由键1和键和键2产生,每按产生,每按一次键则使相应的运算数加一次键则使相应的运算数加1;键;键4则启动计算并得到计算结果。则启动计算并得到计算结果。按键的处按键的处理以及使用,请参考理以及使用,请参考key_gcd模块。模块。(3)动态数据在液晶上显示的方法,与多功能计算器中的方法类似,也)动态数据在液晶上显示的方法,与多功能计算器中的方法类似,也由状态机来完成,请读者参照由状态机来完成,请读者参照(cnzho)lcd_gcd模块的代码及其模块的代码及其注释认真注释认真体会。体会。第二十六页,共五十一页。3.3 求最大公因数设计求最大
21、公因数设计(shj) 5. 仿真仿真(fn zhn)分析分析 图图3-12 gcd模块模块(m kui)仿真波形图仿真波形图 第二十七页,共五十一页。3.3 求最大公因数设计求最大公因数设计(shj) 6. 硬件硬件(yn jin)验证验证 图图3-13 引脚锁定引脚锁定(su dn)第二十八页,共五十一页。3.3 求最大公因数设计求最大公因数设计(shj) 6. 扩展扩展(kuzhn)部分部分 请读者思考请读者思考并实现以下扩展功能:并实现以下扩展功能: (1)输入为)输入为0是一种异常情况,请读者在程序中是一种异常情况,请读者在程序中添加添加“输入为输入为0”的异常处理代码。的异常处理代码
22、。 (2)尝试将输入的)尝试将输入的2个数扩展为个数扩展为99以内的整数以内的整数(zhngsh),2个数仍由键个数仍由键1和键和键2产生,在液晶上的显示格产生,在液晶上的显示格式为式为“36G24=12”。第二十九页,共五十一页。3.4 多功能数字钟设计多功能数字钟设计(shj) 1. 设计要求设计要求 实现一个多功能数字钟(含跑表功能),如图实现一个多功能数字钟(含跑表功能),如图3-14所示,所示,具体要求如下:具体要求如下:(1)计时功能:包括时、分、秒、百分秒的计时,)计时功能:包括时、分、秒、百分秒的计时,可以实现一可以实现一天天以内精确至百分之一秒的计以内精确至百分之一秒的计时时
23、,并将结果显示在液晶上。,并将结果显示在液晶上。(2)定时功能:可设定闹钟定时的小时和分钟值。)定时功能:可设定闹钟定时的小时和分钟值。(3)校时功能:)校时功能:根据当前根据当前准确准确时间时间对小时、分钟能手动调整以校准时间。通过按键来修改小对小时、分钟能手动调整以校准时间。通过按键来修改小时、时、分分钟值,完成钟值,完成对小时、分钟对小时、分钟的的校准校准。(4)复位和暂停功能:这一功能是针对)复位和暂停功能:这一功能是针对(zhndu)数字跑表的,数字钟不需要这个功能。数字跑表的,数字钟不需要这个功能。 图图3-14 多功能数字钟多功能数字钟 第三十页,共五十一页。3.4 多功能数字钟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新Verilog HDL数字设计实训教程第3章 数字系统应用类实训项目共51张PPT课件 最新 Verilog HDL 数字 设计 教程 系统 应用 类实训 项目 51 PPT 课件
链接地址:https://www.taowenge.com/p-24773010.html
限制150内