




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豚的拼音课件app
- 2025年北京市民间个人租赁无人机培训借款合同样本
- 2025年度智能家电研发生产三人股份合作合同
- 2025年度高品质不锈钢板材进出口贸易合同书
- 2025保姆家庭营养膳食及健康管理服务合同
- 2025版全株青贮玉米种植与收购农村电商合作合同范本
- 2025年生物质燃料供应与购买框架合同范本
- 2025年度轻钢结构建筑安全检测与维护合同
- 2025年智能家居采购与安装一体化服务合同范本
- 语言文字知识培训总结课件
- 消防监控考试题初级及答案
- 2025年太阳能海水淡化项目经济效益评估报告
- 2025年湖南湘西自治州州直事业单位招聘考试笔试试卷附答案
- 《小学开学第一课》课件
- 2025-2031年中国有源相控阵雷达行业市场发展形势及投资潜力研判报告
- 大货车货运安全知识培训课件
- 消防车辆事故课件
- 2026届四川省宜宾市普通高中高一化学第一学期期末统考试题含解析
- 景区导览智能导览设备市场前景报告
- 职级职等管理办法
- 新教科版五年级科学上册全册课件(精品PPT)
评论
0/150
提交评论