ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:286.78KB ,
资源ID:18181505      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18181505.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA期末大作业设计Word文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA期末大作业设计Word文档格式.docx

1、= 1290是根据产生该音阶频率所对应的分频比获得的。简易电子琴电路结构模块SPEAKER中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块SPEAKER由端口TONE获得一个2进制数后,将以此值为计数器的预置数,对端口CLK12MHZ输入的频率进行分频,之后由SPKOUT向扬声器输出发声。模块NOTETABS,用于控制音乐的暂停与播放,产生节拍控制(INDEX数据存留时间)和音阶选择信号,即在NOTETABS模块放置一个乐曲曲谱真值表,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。试

2、完成此项设计,并在EDA实验系统上的FPGA目标器件中实现之。5、实验内容:编译适配以上4个示例文件,给出仿真波形,最后进行下载和硬件测试实验。建议使用实验电路模式“3”,用短路帽选择“CLOCK9”的输入频率选择12MHz,此信号作为系统输入信号CLK12MHZ;CLK8HZ与clock2相接,接受4Hz频率;键盘按键0-7作为输入信号控制各音阶。3、实验代码enc16_4library ieee ; use ieee.std_logic_1164.all ; entity enc16_4 is port ( I : in std_logic_vector(7 downto 0);-输入的待

3、编码信号 Y : out std_logic_vector(3 downto 0) ;-编码输出 end enc16_4;architecture one of enc16_4 isSIGNAL L: STD_LOGIC_VECTOR(7 DOWNTO 0); begin Search : PROCESS(I) CASE I IS WHEN 01101100 = Y0000 END CASE; end process ; end one ;ToneLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTI

4、TY Tone IS PORT ( Index : IN STD_LOGIC_VECTOR(3 DOWNTO 0); CODE : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); HIGH : OUT STD_LOGIC; Tone : OUT STD_LOGIC_VECTOR(10 DOWNTO 0);END;ARCHITECTURE one OF Tone ISBEGIN PROCESS(Index) BEGIN CASE Index IS - 译码电路,查表方式,控制音调的预置数 WHEN Tone = CONV_STD_LOGIC_VECTOR(2047,11);-

5、CONV_STD_LOGIC_VECTOR(139,11); CODE = CONV_STD_LOGIC_VECTOR(1,4);HIGH = 0= CONV_STD_LOGIC_VECTOR(347,11);CODE = CONV_STD_LOGIC_VECTOR(2,4); HIGH = CONV_STD_LOGIC_VECTOR(533,11);= CONV_STD_LOGIC_VECTOR(3,4);= CONV_STD_LOGIC_VECTOR(615,11);= CONV_STD_LOGIC_VECTOR(4,4);= CONV_STD_LOGIC_VECTOR(773,11);=

6、 CONV_STD_LOGIC_VECTOR(5,4);= CONV_STD_LOGIC_VECTOR(912,11); CODE = CONV_STD_LOGIC_VECTOR(0,4); HIGH END PROCESS;PS2VHDL- VHDL library Declarations USE IEEE.STD_LOGIC_UNSIGNED.ALL;- The Entity Declarations ENTITY PS2VHDL IS PORT(ClkFilter: IN STD_LOGIC;-1MHzRESET: IN STD_LOGIC;KBDATA:KBCLK:EOC:PDATA

7、: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END PS2VHDL;- The Architecture of Entity Declarations ARCHITECTURE Behavioral OF PS2VHDL ISSIGNAL spdata: STD_LOGIC_VECTOR(10 DOWNTO 0);SIGNAL TT: STD_LOGIC;SIGNAL cnt8: INTEGER RANGE 0 TO 10;BEGIN- Optimize PROCESS( RESET, KBCLK, ClkFilter )VARIABLE Count : STD_LO

8、GIC_VECTOR(3 DOWNTO 0);IF(RESET = OR KBCLK = )THEN TT );ELSIF( ClkFilterEVENT AND ClkFilter = ) THEN IF( Count ) THEN = Count + 1; TT ELSE= END IF;END PROCES- Recevie Recevie: PROCESS( RESET, TT, KBDATA, spdata, cnt8 )IF RESET = THEN cnt8 = 0; spdata ELSIF TTevent AND TT = IF( cnt8 10 ) THEN spdata(

9、cnt8) = KBDATA;= cnt8 + 1;ELSE END PROCESS;- End of recevie PROCESS( RESET, cnt8 )THEN EOC ELSIF cnt8 /= 0 ELSE EOC -PDATA = spdata( 8 downto 1 );END Behavioral;clkdiv10-占空比为1:1的任意偶数倍分频Library IEEE;Use IEEE.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity clkdiv10 is Port( clk: in std_logic

10、; clk_out: out std_logic);end clkdiv10;architecture arch of clkdiv10 issignal count : integer range 0 to 49; -分频倍数-1beginprocess (clk) -分频器 if clkevent and clk= then if count=counthigh then count=0; else countcounthigh/2 then clk_out= else clk_out-count_out PULSE12ENTITY PULSE12 IS PORT ( CLK : D :

11、IN STD_LOGIC_VECTOR(10 DOWNTO 0); FOUT : OUT STD_LOGIC );ARCHITECTURE one OF PULSE12 ISSIGNAL FULL :SIGNAL CNT8 :SIGNAL CNT2 :P_REG: PROCESS(CLK) BEGIN IF CLKEVENT AND CLK = THEN IF CNT8 = 11111111111 CNT8 = D; -当CNT8计数计满时,输入数据D被同步预置给计数器CNT8 FULL -同时使溢出标志信号FULL输出为高电平 ELSE = CNT8 + 1; -否则继续作加1计数 -且输出溢出标志信号FULL为低电平 END IF; END PROCESS P_REG ; P_DIV: PROCESS(FULL) IF FULLEVENT AND FULL = CNT2 = NOT CNT2; -如果溢出标志信号FULL为高电平,D触发器输出取反END PROCESS P_DIV ;FOUT = CNT2;4、实验总结 通过本次实验,使我对使用VHDL编写模块来实现音乐播放有了更深一步的了解,在本次实验中,在原先的基础上加入了播放暂停的功能,并更换了歌曲。使仿真更具有功能性,并且更加熟悉了利用数控分频器设计硬件,受益匪浅。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1