已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA技术及其应用,第4章 应用VHDL设计数字系统,项目1:电子琴的设计,设计目标: 设计一个电子琴,具有8个按键,当按下某一个按键的时候,能够演奏8个音符之一: 1、2、3、4、5、6、7、H1 视频演示 知识点: 熟练掌握计数器的设计方法; 熟练掌握可变分频器的设计方法; 熟练掌握IF语句的使用; 熟练掌握CASE语句的使用;,项目1:电子琴的设计,项目分析: 设计问题:如何发出不同音调的声音?,需要:可变分频器(数控分配器),项目1:电子琴的设计,项目1:电子琴的设计,项目分析: 设计关键1: 可变分频器(数控分配器)!,项目1:电子琴的设计,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10 IS PORT ( CLK,RST,EN : IN STD_LOGIC; CNT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT10;,知识回顾:10进制计数器设计,项目1:电子琴的设计,ARCHITECTURE behav OF CNT10 IS BEGIN PROCESS(CLK, RST, EN) VARIABLE CNTI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST = 1 THEN CNTI := (OTHERS =0) ; -计数器异步复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数(同步使能) IF CNTI 0); -大于等于9,计数值清零 END IF; END IF; END IF; IF CNTI = 9 THEN COUT = 1; -计数等于9,输出进位信号 ELSE COUT = 0; END IF; CNT = CNTI; -将计数值向端口输出 END PROCESS; END behav;,知识回顾:10进制计数器设计,仿真结果:10进制计数器设计,结论: 计数器就可以完成分频器的任务!,项目1:电子琴的设计,项目1:电子琴的设计,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT_N IS PORT ( CLK,RST,EN : IN STD_LOGIC; N : IN STD_LOGIC_VECTOR(11 DOWNTO 0); CNT : OUT STD_LOGIC_VECTOR(11 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT_N;,设计关键:N进制计数器设计可变分频器,项目1:电子琴的设计,ARCHITECTURE behav OF CNT_N IS BEGIN PROCESS(CLK, RST, EN) VARIABLE CNTI : STD_LOGIC_VECTOR(11 DOWNTO 0); BEGIN IF RST = 1 THEN CNTI := (OTHERS =0) ; -计数器异步复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数(同步使能) IF CNTI 0); -大于等于N-1,计数值清零 END IF; END IF; END IF; IF CNTI = N-1 THEN COUT = 1; -计数等于N-1,输出进位信号 ELSE COUT = 0; END IF; CNT = CNTI; -将计数值向端口输出 END PROCESS; END behav;,设计关键:N进制计数器设计可变分频器,设计关键:N进制计数器设计可变分频器,结论: COUT实现了N分频, 但是占空比是1/N,能量不足,无法驱动蜂鸣器工作。,N分频,占空1/N,项目1:电子琴的设计,项目1:电子琴的设计,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT_N IS PORT ( CLK,RST,EN : IN STD_LOGIC; N : IN STD_LOGIC_VECTOR(11 DOWNTO 0); CNT : OUT STD_LOGIC_VECTOR(11 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT_N;,设计关键: 改进的N进制计数器可变分频器, COUT占空比50%,项目1:电子琴的设计,ARCHITECTURE behav OF CNT_N IS BEGIN PROCESS(CLK, RST, EN) VARIABLE CNTI : STD_LOGIC_VECTOR(11 DOWNTO 0); BEGIN IF RST = 1 THEN CNTI := (OTHERS =0) ; -计数器异步复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数(同步使能) IF CNTI 0); -大于等于N/2,计数值清零 END IF; END IF; END IF; IF CNTI CONV_INTEGER(N)/2 THEN COUT = 0; ELSE COUT = 1; END IF; CNT = CNTI; COUT = COUTI; -将计数值向端口输出 END PROCESS; END behav;,设计关键: 改进的N进制计数器可变分频器, COUT占空比50%,IF CNTI = N-1 THEN COUT = 1; -计数等于N-1,输出进位信号 ELSE COUT = 0; END IF;,占空比非50%,占空比接近50%,结论: COUT实现了N分频, 当N比较大时,占空比是接近50%,能量足以驱动蜂鸣器工作。,设计关键: 改进的N进制计数器可变分频器, COUT占空比50%,项目1:电子琴的设计,项目1:电子琴的设计,项目分析: 设计关键2: 向可变分频器(数控分配器)提供分频数字,需要一个“频率”到“分频数”的转换模块。,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY converter IS PORT ( key : IN STD_LOGIC_VECTOR (7 DOWNTO 0) ; en : OUT STD_LOGIC; div_num : OUT integer range 0 to 4095; CODE : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ; HIGH : OUT STD_LOGIC ); END entity converter ;,设计关键2: “频率”到“分频数”的转换模块。,项目1:电子琴的设计,ARCHITECTURE one OF converter IS BEGIN PROCESS(converter ) BEGIN CASE key IS - 译码电路,查表方式,控制音调的预置数 WHEN “00000000“ = div_num div_num div_num div_num div_num div_num div_num div_num div_num div_num=0 ; en = 0; CODE=“0000“; HIGH =0; - 同时按多个键,0Hz,不响 END CASE; END PROCESS; END one;,设计关键2: “频率”到“分频数”的转换模块。,项目1:电子琴的设计,设计关键2: “频率”到“分频数”的转换模块。,设计关键3: 在顶层原理图中组装各个功能模块。,项目1:电子琴的设计,项目1:电子琴的设计总结,知识点回顾: IF语句的使用; CASE语句的使用; 计数器的设计; 可变分频器的设计;,项目1:电子琴的设计总结,知识点回顾: IF语句的使用; IF语句既可以描述组合电路,也可以描述时序电路; 完整条件IF语句用来描述组合电路;,IF s = 0 THEN y = a ; ELSE y = b ; END IF;,IF CLKEVENT AND CLK = 1 THEN CNT = CNT + 1 ; END IF;,不完整条件IF语句用来描述时序电路;,项目1:电子琴的设计总结,知识点回顾: CASE语句的使用; CASE语句最适合于描述译码器电路; 不完整的CASE语句会生成不必要的锁存器;,CASE key IS - 译码电路,查表方式,控制音调的预置数 WHEN “00000000“ = div_num div_num div_num div_num div_num div_num div_num div_num div_num div_num=0 ; en = 0; CODE=“0000“; HIGH =0; - 同时按多个键
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国整流系统行业市场前景预测及投资价值评估分析报告
- 中国旋流除污器行业市场前景预测及投资价值评估分析报告
- 中国机器人RV减速器行业市场前景预测及投资价值评估分析报告
- 中国动态血压监测仪行业市场发展趋势与前景展望战略研究报告
- 中国气凝胶衣服行业市场前景预测及投资价值评估分析报告
- 中国汽车水泵叶轮行业市场前景预测及投资价值评估分析报告
- 信贷审批副经理信贷审批效率提升方案
- 2025年大学《犯罪学-网络犯罪学》考试备考题库及答案解析
- 2025年大学《土地整治工程-测量学与遥感技术》考试参考题库及答案解析
- 2025年大学《材料智能技术-机器学习基础》考试备考题库及答案解析
- 2025年无人机驾驶员(五级)理论考试题及答案
- 养老院垃圾分类与处理
- 乌鲁木齐市既有建筑改造消防设计与审查指南
- 2026届北京首师附大兴北校区化学九上期中质量检测试题含解析
- 文科物理(兰州大学)学习通网课章节测试答案
- 组装型企业计划方案(3篇)
- IMPA船舶物料指南(电子版)
- 养老综合体运营团队组建管理方案
- 反家暴课件教学课件
- 2025-2030中国游戏MCN机构商业化模式与内容监管
- 输液泵教学培训课件
评论
0/150
提交评论