?? table.vhd
字號:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity table is
port(reset:in std_logic; --重置
clk_5:in std_logic; --5Hz
music_begin:in std_logic; --音樂開始
count:out integer range 0 to 1300); --發生控制
end table;
architecture body_table of table is
--音符常量
constant mid_1:integer:=954;constant mid_2:integer:=850;
constant mid_3:integer:=757;constant mid_6:integer:=568;
constant mid_5:integer:=638;constant mid_4:integer:=715;
constant stop: integer:=0;
--constant mid_6:integer:=568;
--constant low_6:integer:=1100;constant low_5:integer:=1210;
signal counter: integer range 32 downto 0;
begin
process(clk_5,music_begin,counter)
begin
if(reset='1') then counter<=0;
elsif(clk_5'event and clk_5='1') then
if(music_begin='1') then
counter<=counter+1;
else counter<=0;
end if;
end if;
end process;
process(counter)
begin
case counter is
--樂譜
when 00=>count<=stop;
when 01=>count<=mid_3;when 02=>count<=mid_3;
when 03=>count<=mid_4;when 04=>count<=mid_5;
when 05=>count<=mid_5;when 06=>count<=mid_4;
when 07=>count<=mid_3;when 08=>count<=mid_2;
when 09=>count<=mid_1;when 10=>count<=mid_1;
when 11=>count<=mid_2;when 12=>count<=mid_3;
when 13=>count<=mid_3;when 14=>count<=mid_2;
when 15=>count<=mid_2;when 16=>count<=stop;
when 17=>count<=mid_3;when 18=>count<=mid_3;
when 19=>count<=mid_4;when 20=>count<=mid_5;
when 21=>count<=mid_5;when 22=>count<=mid_4;
when 23=>count<=mid_3;when 24=>count<=mid_2;
when 25=>count<=mid_1;when 26=>count<=mid_1;
when 27=>count<=mid_2;when 28=>count<=mid_3;
when 29=>count<=mid_2;when 30=>count<=mid_1;
when 31=>count<=mid_1;when 32=>count<=stop;
end case;
end process;
end body_table;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -