书签 分享 收藏 举报 版权申诉 / 35
上传文档赚钱

类型EDA技术及其应用第4章-应用VHDL设计数字系统-电子琴和音乐播放器的设计课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4300972
  • 上传时间:2022-11-27
  • 格式:PPT
  • 页数:35
  • 大小:300KB
  • 【下载声明】
    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:

    14、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

    15、: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

    16、;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:音乐播放器的设计:音乐播放器的设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY NoteTabs IS PORT (clk :IN STD_LOGIC;ToneIndex:OUT STD_LOG

    17、IC_VECTOR(3 DOWNTO 0);END;ARCHITECTURE one OF NoteTabs IS COMPONENT MUSIC -音符数据音符数据ROM PORT(address:IN STD_LOGIC_VECTOR(7 DOWNTO 0);clock:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;SIGNAL Counter:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN PROCESS(clk,Counter)BEGIN IF(clkEVENT AND clk=1)TH

    18、EN IF Counter=138 THEN Counter=00000000;ELSE Counter Counter,clock=clk,q=ToneIndex);END;设计关键设计关键1:存储和读音符模块:存储和读音符模块项目项目2:音乐播放器的设计:音乐播放器的设计设计关键设计关键2:频率转换模块:频率转换模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ToneTaba IS PORT(Index:IN STD_LOGIC_VECTOR(3 DOWNTO 0);CODE :OUT STD_LOGIC_VECTOR(3 DOWNTO

    19、0);HIGH :OUT STD_LOGIC;en:OUT STD_LOGIC;div_num:OUTinteger range 0 to 4095);END;CASE Index IS -译码电路,查表方式,控制音调的预置数译码电路,查表方式,控制音调的预置数 WHEN 0001=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=010

    20、1;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=1277;en=1;CODE=0010;HIGH div_num=1138;en=1;CODE=0011;HIGH div_num=1074;en=1;CODE=0100;HIGH div_num=957 ;en=1;CODE=0101;HIGH div_num=852 ;en=1;CODE=0110;HIGH div_num=759 ;en=1;CODE=0111;H

    21、IGH div_num=672 ;en=1;CODE=0001;HIGH div_num=0 ;en=0;CODE=0000;HIGH=0;-不响不响 END PROCESS;END;项目项目2:音乐播放器的设计:音乐播放器的设计设计关键设计关键3:数控分频模块:数控分频模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Speakera IS PORT (CLK_1500kHz:IN STD_LOGIC;EN:IN STD_LOGIC;div_num:IN integer rang

    22、e 0 to 4095;Speaker:OUT STD_LOGIC);END;ARCHITECTURE one OF Speakera ISBEGIN PROCESS(CLK_1500kHz,EN)VARIABLE CQI:integer range 0 to 4095;VARIABLE Speaker_reg:STD_LOGIC;BEGIN IF CLK_1500kHzEVENT AND CLK_1500kHz=1 THEN-检测时钟上升沿检测时钟上升沿 IF EN=1 THEN -检测是否允许计数(同步使能)检测是否允许计数(同步使能)IF CQI=0 THEN CQI:=div_num/

    23、2-1;Speaker_reg:=not Speaker_reg;ELSE CQI:=CQI-1;END IF;END IF;END IF;Speaker=Speaker_reg;END PROCESS;END;项目项目2:音乐播放器的设计:音乐播放器的设计存储和存储和读音符模块读音符模块频率转换模块频率转换模块数控分频模块数控分频模块请写出对应的元件例化语句请写出对应的元件例化语句设计关键设计关键4:组合子模块,生成:组合子模块,生成songer模块模块项目项目2:音乐播放器的设计:音乐播放器的设计存储和存储和读音符模块读音符模块频率转换模块频率转换模块数控分频模块数控分频模块Songeri

    24、nstCLK_1500kHzCLK_1500kHzCLK4HZCLK4HZCODE13.0CODE13.0HIGH1HIGH1SpeakerSpeaker设计关键设计关键4:组合子模块,生成:组合子模块,生成songer模块模块项目项目2:音乐播放器的设计:音乐播放器的设计设计关键设计关键5:分频模块,产生:分频模块,产生4Hz和和1.5MHz时钟信号时钟信号项目项目2:音乐播放器的设计:音乐播放器的设计LIBRARY IEEE;-分频模块,从分频模块,从20MHz到到4HZ和和1.5MHzUSE IEEE.STD_LOGIC_1164.ALL;ENTITY freq_div IS PORT(

    25、CLK_30MHz:IN STD_LOGIC;CLK_4Hz :out STD_LOGIC;CLK_1500kHz :out STD_LOGIC);END;ARCHITECTURE one OF freq_div IS signal divider,divider 1:integer range 0 to 187500;signal CLK_1500kHz_tmp:STD_LOGIC;signal CLK_4HZ_tmp:STD_LOGIC;begin CLK_1500kHz=CLK_1500kHz_tmp;process(CLK_30MHz)begin if(CLK_30MHzevent a

    26、nd CLK_30MHz=1)then if divider=9 then divider=0;CLK_1500kHz_tmp=not CLK_1500kHz_tmp;else divider=divider+1;end if;end if;end process;设计关键设计关键5:分频模块,产生:分频模块,产生4Hz和和1.5MHz时钟信号时钟信号项目项目2:音乐播放器的设计:音乐播放器的设计 CLK_4HZ=CLK_4HZ_tmp;process(CLK_1500kHz)begin if(CLK_1500kHzevent and CLK_1500kHz=1)then if divider1=187499 then divider1=0;CLK_4HZ_tmp=not CLK_4HZ_tmp;else divider1=divider1+1;end if;end if;end process;end;设计关键设计关键5:分频模块,产生:分频模块,产生4Hz和和1.5MHz时钟信号时钟信号

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:EDA技术及其应用第4章-应用VHDL设计数字系统-电子琴和音乐播放器的设计课件.ppt
    链接地址:https://www.163wenku.com/p-4300972.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库