




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA技术及其应用 第4章应用VHDL设计数字系统 项目1 电子琴的设计 设计目标 设计一个电子琴 具有8个按键 当按下某一个按键的时候 能够演奏8个音符之一 1 2 3 4 5 6 7 H1视频演示知识点 熟练掌握计数器的设计方法 熟练掌握可变分频器的设计方法 熟练掌握IF语句的使用 熟练掌握CASE语句的使用 项目1 电子琴的设计 项目分析 设计问题1 如何发出不同音调的声音 设计关键1 可变分频器 数控分配器 项目1 电子琴的设计 项目分析 设计问题2 按下不同按键时 如何得到不同的分频数 设计关键2 向可变分频器 数控分配器 提供分频数字 需要一个 按键 到 分频数 的转换模块 项目1 电子琴的设计 项目分析 设计关键1 可变分频器 数控分配器 项目1 电子琴的设计 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYCNT10ISPORT CLK RST EN INSTD LOGIC CNT OUTSTD LOGIC VECTOR 3DOWNTO0 COUT OUTSTD LOGIC ENDCNT10 知识回顾 10进制计数器设计 项目1 电子琴的设计 ARCHITECTUREbehavOFCNT10ISBEGINPROCESS CLK RST EN VARIABLECNTI STD LOGIC VECTOR 3DOWNTO0 BEGINIFRST 1 THENCNTI OTHERS 0 计数器异步复位ELSIFCLK EVENTANDCLK 1 THEN 检测时钟上升沿IFEN 1 THEN 检测是否允许计数 同步使能 IFCNTI 0 大于等于9 计数值清零ENDIF ENDIF ENDIF IFCNTI 9THENCOUT 1 计数等于9 输出进位信号ELSECOUT 0 ENDIF CNT CNTI 将计数值向端口输出ENDPROCESS ENDbehav 知识回顾 10进制计数器设计 仿真结果 10进制计数器设计 结论 计数器就可以完成分频器的任务 项目1 电子琴的设计 项目1 电子琴的设计 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYCNT NISPORT CLK RST EN INSTD LOGIC N INSTD LOGIC VECTOR 11DOWNTO0 CNT OUTSTD LOGIC VECTOR 11DOWNTO0 COUT OUTSTD LOGIC ENDCNT N 设计关键 N进制计数器设计 可变分频器 项目1 电子琴的设计 ARCHITECTUREbehavOFCNT NISBEGINPROCESS CLK RST EN VARIABLECNTI STD LOGIC VECTOR 11DOWNTO0 BEGINIFRST 1 THENCNTI OTHERS 0 计数器异步复位ELSIFCLK EVENTANDCLK 1 THEN 检测时钟上升沿IFEN 1 THEN 检测是否允许计数 同步使能 IFCNTI 0 大于等于N 1 计数值清零ENDIF ENDIF ENDIF IFCNTI N 1THENCOUT 1 计数等于N 1 输出进位信号ELSECOUT 0 ENDIF CNT CNTI 将计数值向端口输出ENDPROCESS ENDbehav 设计关键 N进制计数器设计 可变分频器 设计关键 N进制计数器设计 可变分频器 结论 COUT实现了N分频 但是占空比是1 N 能量不足 无法驱动蜂鸣器工作 N分频 占空1 N 项目1 电子琴的设计 项目1 电子琴的设计 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYCNT NISPORT CLK RST EN INSTD LOGIC N INSTD LOGIC VECTOR 11DOWNTO0 CNT OUTSTD LOGIC VECTOR 11DOWNTO0 COUT OUTSTD LOGIC ENDCNT N 设计关键 改进的N进制计数器 可变分频器COUT占空比50 项目1 电子琴的设计 ARCHITECTUREbehavOFCNT NISBEGINPROCESS CLK RST EN VARIABLECNTI STD LOGIC VECTOR 11DOWNTO0 BEGINIFRST 1 THENCNTI OTHERS 0 计数器异步复位ELSIFCLK EVENTANDCLK 1 THEN 检测时钟上升沿IFEN 1 THEN 检测是否允许计数 同步使能 IFCNTI 0 大于等于N 2 计数值清零ENDIF ENDIF ENDIF IFCNTI CONV INTEGER N 2THENCOUT 0 ELSECOUT 1 ENDIF CNT CNTI COUT COUTI 将计数值向端口输出ENDPROCESS ENDbehav 设计关键 改进的N进制计数器 可变分频器COUT占空比50 占空比非50 占空比接近50 结论 COUT实现了N分频 当N比较大时 占空比是接近50 能量足以驱动蜂鸣器工作 设计关键 改进的N进制计数器 可变分频器COUT占空比50 项目1 电子琴的设计 项目1 电子琴的设计 项目分析 设计关键2 向可变分频器 数控分配器 提供分频数字 需要一个 按键 到 分频数 的转换模块 项目1 电子琴的设计 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYconverterISPORT key INSTD LOGIC VECTOR 7DOWNTO0 en OUTSTD LOGIC div num OUTintegerrange0to4095 CODE OUTSTD LOGIC VECTOR 3DOWNTO0 HIGH OUTSTD LOGIC ENDentityconverter 设计关键2 按键 到 分频数 的转换模块 项目1 电子琴的设计 ARCHITECTUREoneOFconverterISBEGINPROCESS converter BEGINCASEkeyIS 译码电路 查表方式 控制音调的预置数WHEN 00000000 div numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv num 0 en 0 CODE 0000 HIGH 0 同时按多个键 0Hz 不响ENDCASE ENDPROCESS ENDone 设计关键2 按键 到 分频数 的转换模块 项目1 电子琴的设计 设计关键2 按键 到 分频数 的转换模块 设计关键3 在顶层原理图中组装各个功能模块 项目1 电子琴的设计 思考 原理图作为顶层设计文件有什么优点和缺点 如何使用 元件例化 语句完成模块调用和信号线连接 顶层程序设计怎样设计 VHDL程序作为顶层设计有什么优缺点 4 31位全加器的VHDL描述 4 3 1半加器描述 LIBRARYIEEE 1位二进制全加器顶层设计描述USEIEEE STD LOGIC 1164 ALL ENTITYf adderISPORT ain bin cin INSTD LOGIC cout sum OUTSTD LOGIC ENDENTITYf adder ARCHITECTUREfd1OFf adderISCOMPONENTh adder 调用半加器声明语句PORT a b INSTD LOGIC co so OUTSTD LOGIC ENDCOMPONENT COMPONENTor2aPORT a b INSTD LOGIC c OUTSTD LOGIC ENDCOMPONENT SIGNALd e f STD LOGIC 定义3个信号作为内部的连接线 BEGINu1 h adderPORTMAP a ain b bin co d so e 元件例化语句u2 h adderPORTMAP a e b cin co f so sum u3 or2aPORTMAP a d b f c cout ENDARCHITECTUREfd1 项目1 电子琴的设计总结 知识点回顾 IF语句的使用 CASE语句的使用 计数器的设计 可变分频器的设计 项目1 电子琴的设计总结 知识点回顾 IF语句的使用 IF语句既可以描述组合电路 也可以描述时序电路 完整条件IF语句用来描述组合电路 IFs 0 THENy a ELSEy b ENDIF IFCLK EVENTANDCLK 1 THENCNT CNT 1 ENDIF 不完整条件IF语句用来描述时序电路 项目1 电子琴的设计总结 知识点回顾 CASE语句的使用 CASE语句最适合于描述译码器电路 不完整的CASE语句会生成不必要的锁存器 CASEkeyIS 译码电路 查表方式 控制音调的预置数WHEN 00000000 div numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv num 0 en 0 CODE 0000 HIGH 0 同时按多个键 0Hz 不响ENDCASE 项目1 电子琴的设计总结 知识点回顾 计数器的设计 可变分频器的设计 项目2 音乐播放器的设计 设计目标 设计一个音乐播放器 可以播放一首歌曲 拓展设计 设计一个音乐播放器 可以播放多首歌曲 具有 播放 停止 暂停播放 和2个按键 当第一次按下 播放 停止 按键的时候 能够重头开始演奏一首动听的乐曲 第二次按下键 就停止播放 当按下 暂停播放 按键的时候能够在暂停演奏和继续演奏之间切换 项目2 音乐播放器的设计 存储和读音符模块 频率转换模块 数控分频模块 项目2 音乐播放器的设计 4 5乐曲硬件演奏电路设计 ROM中的数据文件music mifWIDTH 4 梁祝 乐曲演奏数据DEPTH 256 ADDRESS RADIX DEC DATA RADIX DEC CONTENTBEGIN 注意实用文件中要展开以下数据 每一组占一行00 3 01 3 02 3 03 3 04 5 05 5 06 5 07 6 08 8 09 8 10 8 11 9 12 6 13 8 14 5 15 5 16 12 17 12 18 12 19 15 20 13 21 12 22 10 23 12 24 9 25 9 26 9 27 9 28 9 29 9 30 9 31 0 32 9 33 9 34 9 35 10 36 7 37 7 38 6 39 6 40 5 41 5 42 5 43 6 44 8 45 8 46 9 47 9 48 3 49 3 50 8 51 8 52 6 53 5 54 6 55 8 56 5 57 5 58 5 59 5 60 5 61 5 62 5 63 5 64 10 65 10 66 10 67 12 68 7 69 7 70 9 71 9 72 6 73 8 74 5 75 5 76 5 77 5 78 5 79 5 80 3 81 5 82 3 83 3 84 5 85 6 86 7 87 9 88 6 89 6 90 6 91 6 92 6 93 6 94 5 95 6 96 8 97 8 98 8 99 9 100 12 101 12 102 12 103 10 104 9 105 9 106 10 107 9 108 8 109 8 110 6 111 5 112 3 113 3 114 3 115 3 116 8 117 8 118 8 119 8 120 6 121 8 122 6 123 5 124 3 125 5 126 6 127 8 128 5 129 5 130 5 131 5 132 5 133 5 134 5 135 5 136 0 137 0 138 0 END 设计关键1 存储和读音符模块 项目2 音乐播放器的设计 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYNoteTabsISPORT clk INSTD LOGIC ToneIndex OUTSTD LOGIC VECTOR 3DOWNTO0 END ARCHITECTUREoneOFNoteTabsISCOMPONENTMUSIC 音符数据ROMPORT address INSTD LOGIC VECTOR 7DOWNTO0 clock INSTD LOGIC q OUTSTD LOGIC VECTOR 3DOWNTO0 ENDCOMPONENT SIGNALCounter STD LOGIC VECTOR 7DOWNTO0 BEGINPROCESS clk Counter BEGINIF clk EVENTANDclk 1 THENIFCounter 138THENCounterCounter clock clk q ToneIndex END 设计关键1 存储和读音符模块 项目2 音乐播放器的设计 设计关键2 频率转换模块 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYToneTabaISPORT Index INSTD LOGIC VECTOR 3DOWNTO0 CODE OUTSTD LOGIC VECTOR 3DOWNTO0 HIGH OUTSTD LOGIC en OUTSTD LOGIC div num OUTintegerrange0to4095 END CASEIndexIS 译码电路 查表方式 控制音调的预置数WHEN 0001 div numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv numdiv num 0 en 0 CODE 0000 HIGH 0 不响ENDPROCESS END 项目2 音乐播放器的设计 设计关键3 数控分频模块 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYSpeakeraISPORT CLK 1500kHz INSTD LOGIC EN INSTD LOGIC div num INintegerrange0to4095 Speaker OUTSTD LOGIC END ARCHITECTUREoneOFSpeakeraISBEGINPROCESS CLK 1500kHz EN VARIABLECQI integerrange0to4095 VARIABLESpeaker reg STD LOGIC BEGINIFCLK 1500kHz EVENTANDCLK 1500kHz 1 THEN 检测时钟上升沿IFEN 1 THEN 检测是否允许计数 同步使能 IFCQI 0THENCQI div num 2 1 Speaker reg notSpeaker reg ELSECQI CQI 1 ENDIF ENDIF ENDIF Speaker Speaker reg ENDPROCESS END 项目2 音乐播放器的设计 存储和读音符模块 频率转换模块 数控分频模块 请写出对应的元件例化语句 设计关键4 组合子模块 生成songer模块 项目2 音乐播放器的设计 存储和读音符模块 频率转换模块 数控分频模块 设计关键4 组合子模块 生成songer模块 项目2 音乐播放器的设计 设计关键5 分频模块 产生4Hz和1 5MHz时钟信号 项目2 音乐播放器的设计 LI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字内容分发协议示例
- 旅游景区开发建设2025年社会风险分析与旅游产业创新报告
- 2025年银行零售业务数字化营销转型中的金融科技与金融可持续发展报告
- 2030年风电行业投资前景预测:技术创新与市场拓展策略报告
- 备战2025年中考历史真题汇编《旧民主主义革命时期》含答案
- 2025年人社局编外考试题库及答案
- 2025团校入团积极分子题库(含答案)
- 2025年教师招聘之《幼儿教师招聘》每日一练试卷带答案详解(夺分金卷)
- 教师招聘之《小学教师招聘》考前冲刺练习附参考答案详解(黄金题型)
- 教师招聘之《幼儿教师招聘》通关训练试卷详解含答案详解【培优】
- 感恩教师节幼儿园教师节
- 小学科学新教科版三年级上册全册教案(2025秋新版)
- 病人出入院的护理课件
- 电缆安全小知识培训内容课件
- (2025年标准)员工住房安全协议书
- 青海省尖扎县2025年上半年公开招聘辅警试题含答案分析
- 苏教版2025-2026秋三年级数学上册教学计划及课时安排
- 2025浙江温州市公用事业发展集团有限公司面向高校招聘31人(第一批)笔试模拟试题及答案解析
- 色彩的三属性05课件
- 【里斯】年轻一代新能源汽车消费洞察与预测 -新物种 新理念 新趋势(2024-2025)
- 中铁施工管理办法
评论
0/150
提交评论