第4章 应用VHDL设计数字系统-电子琴和音乐播放器的设计.ppt
-
资源ID:70704983
资源大小:252.50KB
全文页数:24页
- 资源格式: PPT
下载积分:16金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
第4章 应用VHDL设计数字系统-电子琴和音乐播放器的设计.ppt
EDA技术及其应用第4章 应用VHDL设计数字系统 项目项目1:电子琴的设计:电子琴的设计设计目标:设计目标:设计一个电子琴,具有设计一个电子琴,具有8个按键,当按下某一个按键的时个按键,当按下某一个按键的时候,能够演奏候,能够演奏8个音符之一:个音符之一:1、2、3、4、5、6、7、H1视频演示视频演示知识点:知识点:o 熟练掌握计数器的设计方法;熟练掌握计数器的设计方法;o 熟练掌握可变分频器的设计方法;熟练掌握可变分频器的设计方法;o 熟练掌握熟练掌握IF语句的使用;语句的使用;o 熟练掌握熟练掌握CASE语句的使用;语句的使用;项目项目1:电子琴的设计:电子琴的设计项目分析:项目分析:o设计问题:如何发出不同音调的声音?设计问题:如何发出不同音调的声音?需要:可变分频器(数控分配器)需要:可变分频器(数控分配器)项目项目1:电子琴的设计:电子琴的设计项目项目1:电子琴的设计:电子琴的设计项目分析:项目分析:o设计关键设计关键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;p知识回顾:知识回顾:10进制计数器设计进制计数器设计项目项目1:电子琴的设计:电子琴的设计ARCHITECTURE behav OF CNT10 ISBEGIN 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 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 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;设计关键:设计关键:p改进的改进的N进制计数器进制计数器可变分频器,可变分频器,pCOUT占空比占空比50%IF CNTI=N-1 THEN COUT=1;-计计数数等等于于N-1,输输出出进进位信号位信号 ELSE COUT div_num=0 ;en=0;CODE=0000;HIGH div_num=2867;en=1;CODE=0001;HIGH div_num=2554;en=1;CODE=0010;HIGH div_num=2275;en=1;CODE=0011;HIGH div_num=2148;en=1;CODE=0100;HIGH div_num=1913;en=1;CODE=0101;HIGH div_num=1705;en=1;CODE=0110;HIGH div_num=1519;en=1;CODE=0111;HIGH div_num=1433;en=1;CODE=0001;HIGH div_num=0 ;en=0;CODE=0000;HIGH=0;-同时按多个键,同时按多个键,0Hz,不响,不响 END CASE;END PROCESS;END one;设计关键设计关键2:“频率频率”到到“分频数分频数”的转换模块。的转换模块。项目项目1:电子琴的设计:电子琴的设计设计关键设计关键2:“频率频率”到到“分频数分频数”的转换模块。的转换模块。设计关键设计关键3:在顶层原理图中组装各个功能模块。在顶层原理图中组装各个功能模块。项目项目1:电子琴的设计:电子琴的设计项目项目1:电子琴的设计总结:电子琴的设计总结知识点回顾:知识点回顾:o IF语句的使用;语句的使用;o CASE语句的使用;语句的使用;o 计数器的设计;计数器的设计;o 可变分频器的设计;可变分频器的设计;项目项目1:电子琴的设计总结:电子琴的设计总结知识点回顾:知识点回顾:o IF语句的使用;语句的使用;1.IF语句既可以描述组合电路,也可以描述时序电路;语句既可以描述组合电路,也可以描述时序电路;2.完整条件完整条件IF语句用来描述组合电路;语句用来描述组合电路;IF s=0 THEN y=a;ELSE y=b;END IF;IF CLKEVENT AND CLK=1 THEN CNT div_num=0 ;en=0;CODE=0000;HIGH div_num=2867;en=1;CODE=0001;HIGH div_num=2554;en=1;CODE=0010;HIGH div_num=2275;en=1;CODE=0011;HIGH div_num=2148;en=1;CODE=0100;HIGH div_num=1913;en=1;CODE=0101;HIGH div_num=1705;en=1;CODE=0110;HIGH div_num=1519;en=1;CODE=0111;HIGH div_num=1433;en=1;CODE=0001;HIGH div_num=0 ;en=0;CODE=0000;HIGH=0;-同时按多个键,同时按多个键,0Hz,不响,不响 END CASE;项目项目1:电子琴的设计总结:电子琴的设计总结知识点回顾:知识点回顾:o 计数器的设计;计数器的设计;o 可变分频器的设计;可变分频器的设计;项目项目2:课后练习,音乐播放器的设计:课后练习,音乐播放器的设计设计目标:设计目标:o设计一个音乐播放器,具有设计一个音乐播放器,具有“开始播放开始播放”、“暂停播放暂停播放”和和“停止播放停止播放”3个按键;个按键;o当按下当按下“开始播放开始播放”按键的时候,能够按键的时候,能够重新开始重新开始演奏一首演奏一首动听的乐曲;动听的乐曲;o当按下当按下“暂停播放暂停播放”按键的时候能够在按键的时候能够在暂停演奏暂停演奏和和继续演继续演奏奏之间切换;之间切换;o当按下当按下“停止播放停止播放”按键的时候能够按键的时候能够中止播放中止播放。