乐曲演奏电路.pptVIP

  • 9
  • 0
  • 约6.51千字
  • 约 10页
  • 2017-05-28 发布于上海
  • 举报
乐曲演奏电路ppt课件

乐曲演奏电路 乐曲演奏电路结构 顶层结构描述 NoteTabs 乐谱 NoteTabs模块设计 ToneTaba ToneTaba模块设计 Speakera Speakera模块设计 * NoteTabs Clk ToneIndex ToneTaba HIGH Index CODE Tone Speakera Tone SpkS Clk 12MHz 4Hz U1 U2 U3 LIBRARY IEEE; USE IEEE.STD_LODIC_1164.ALL; ENTITY Songer IS PORT (clk12MHz,clk4Hz :IN STD_LOGIC; CODE1 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) HIGH1,SPKOUT : OUT STD_LOGIC); END; ARCHITECTURE one OF Songer IS COMPONENT NoteTabs PORT(clk : IN STD_LOGIC; ToneIndex : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END COMPONENT; COMPONENT ToneTaba 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 COMPONENT; COMPONENT Speakera PORT(clk : IN STD_LOGIC; Tone : IN STD_LOGIC_VECTOR(10 DOWNTO 0); Spks :OUT STD_LOGIC); END COMPONENT; SIGNAL Tone:STD_LOGIC_VECTOR(10 DOWNTO 0); SIGNAL ToneIndex :STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN u1: NoteTabs PORT MAP(clk=clk4Hz,ToneIndex = ToneIndex); u2: ToneTaba PORT MAP(Index= ToneIndex,Tone = Tone, CODE = CODE1, HIGH = HIGH1 ); u3: Speakera PORT MAP(clk=clk12MHz,Tone = Tone ,Spks = SPKOUT); END; CNT8 CLK Counter MUSIC address q inclock ToneIndex clk LPM_ROM 计数器,0 ~138计数。产生ROM地址。 0.25秒为四四拍的4分音符持续时间,确定为乐曲的基本节奏单元。 4Hz 用LPM_ROM定制MUSIC。 LIBRARY IEEE; USE IEEE.STD_LODIC_1164.ALL; USE IEEE.STD_LODIC_UNSIGNED.ALL; ENTITY NoteTabs IS PORT (clk:IN STD_LOGIC; ToneIndex:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END; ARCHITECTURE one OF NoteTabs IS COMPONENT MUSIC --音符数据ROM PORT(address:IN STD_LOGIC_VECTOE(7 DOWNTO 0); inclock:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END COMPONENT; SIGNAL Counter:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN CNT8:PROCESS(clk) BEGIN IF Counter=138 THEN Counter ELSIF (clkENVENT AN

文档评论(0)

1亿VIP精品文档

相关文档