EDA技术及其应用第4章-应用VHDL设计数字系统-电子琴和音乐播放器的设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《EDA技术及其应用第4章-应用VHDL设计数字系统-电子琴和音乐播放器的设计课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术 及其 应用 VHDL 设计 数字 系统 电子琴 音乐 播放 课件
- 资源描述:
-
1、EDA技术及其应用第4章 应用VHDL设计数字系统 项目项目1:电子琴的设计:电子琴的设计设计目标:设计目标:设计一个电子琴,具有设计一个电子琴,具有8个按键,当按下某一个按键的时个按键,当按下某一个按键的时候,能够演奏候,能够演奏8个音符之一:个音符之一:1、2、3、4、5、6、7、H1视频演示视频演示知识点:知识点:o 熟练掌握计数器的设计方法;熟练掌握计数器的设计方法;o 熟练掌握可变分频器的设计方法;熟练掌握可变分频器的设计方法;o 熟练掌握熟练掌握IF语句的使用;语句的使用;o 熟练掌握熟练掌握CASE语句的使用;语句的使用;项目项目1:电子琴的设计:电子琴的设计项目分析:项目分析:
2、o设计问题设计问题1:如何发出不同音调的声音?:如何发出不同音调的声音?l设计关键设计关键1:可变分频器可变分频器/数控分配器。数控分配器。CNT_NinstCLKCLKRSTRSTENENN11.0N11.0CNT11.0CNT11.0COUTCOUT项目项目1:电子琴的设计:电子琴的设计项目分析:项目分析:o设计问题设计问题2:按下不同按键时,如何得到不同的分频数?:按下不同按键时,如何得到不同的分频数?l设计关键设计关键2:向可变分频器(数控分配器)提供分频数字,需要一个向可变分频器(数控分配器)提供分频数字,需要一个“按键按键”到到“分频数分频数”的转换模块。的转换模块。CNT_Nin
3、stCLKCLKRSTRSTENENN11.0N11.0CNT11.0CNT11.0COUTCOUT18?converterinstkey7.0key7.0enendiv_num11.0div_num11.0CODE3.0CODE3.0HIGHHIGH项目项目1:电子琴的设计:电子琴的设计项目分析:项目分析:o设计关键设计关键1:可变分频器(数控分配器)可变分频器(数控分配器)!CNT_NinstCLKCLKRSTRSTENENN11.0N11.0CNT11.0CNT11.0COUTCOUT项目项目1:电子琴的设计:电子琴的设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1
4、164.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进制计数器设计进制计数器设计CNT10instCLKCLKRSTRSTENENCNT3.0CNT3.0COUTCOUT项目项目1:电子琴的设计:电子琴的设计ARCHITECTURE behav OF CNT10 ISBEGIN PROCESS(CLK,RST,EN)
5、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;EN
6、D 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 -检测时
7、钟上升沿检测时钟上升沿 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 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;COD
8、E=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 ain,b=bin,co=d,so=e);-元件例化语句元件例化语句 u2:h_adder PORT MAP(a=e,b=cin,co=f,so=sum);u3:or2a PORT M
9、AP(a=d,b=f,c=cout);END ARCHITECTURE fd1;I113aincoutcoutainbinsumcinbinsumcinf_adderor2afedu3u2u1baccosoBcosoBh_adderAh_adderA项目项目1:电子琴的设计总结:电子琴的设计总结知识点回顾:知识点回顾:o IF语句的使用;语句的使用;o CASE语句的使用;语句的使用;o 计数器的设计;计数器的设计;o 可变分频器的设计;可变分频器的设计;项目项目1:电子琴的设计总结:电子琴的设计总结知识点回顾:知识点回顾:o IF语句的使用;语句的使用;oIF语句既可以描述组合电路,也可以描
10、述时序电路;语句既可以描述组合电路,也可以描述时序电路;o完整条件完整条件IF语句用来描述组合电路;语句用来描述组合电路;CNT_NCLKCLKCNT11.0CNT11.0IF 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;COD
11、E=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:音乐播放器的设计:音乐播
12、放器的设计设计目标:设计目标:o设计一个音乐播放器,可以播放一首歌曲;设计一个音乐播放器,可以播放一首歌曲;拓展设计:拓展设计:o设计一个音乐播放器,可以播放多首歌曲;设计一个音乐播放器,可以播放多首歌曲;o具有具有“播放播放/停止停止”、“暂停播放暂停播放”和和2个按键;个按键;o当第一次按下当第一次按下“播放播放/停止停止”按键的时候,能够按键的时候,能够重头开始重头开始演奏一首动听的乐曲,第二次按下键,就停止播放;演奏一首动听的乐曲,第二次按下键,就停止播放;o当按下当按下“暂停播放暂停播放”按键的时候能够在按键的时候能够在暂停演奏暂停演奏和和继续演继续演奏奏之间切换;之间切换;项目项目
13、2:音乐播放器的设计:音乐播放器的设计存储和存储和读音符模块读音符模块频率转换模块频率转换模块数控分频模块数控分频模块项目项目2:音乐播放器的设计:音乐播放器的设计4-5 乐曲硬件演奏电路设计乐曲硬件演奏电路设计 ROM中的数据文件中的数据文件music.mifWIDTH=4;-“梁祝梁祝”乐曲演奏数据乐曲演奏数据DEPTH=256;ADDRESS_RADIX=DEC;DATA_RADIX=DEC;CONTENT BEGIN-注意实用文件中要展开以下数据,每一组占一行注意实用文件中要展开以下数据,每一组占一行00:3;01:3;02:3;03:3;04:5;05:5;06:5;07:6;08:
展开阅读全文