⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rhythmer.vhd

📁 一个使用VHDL编写的音乐芯片的程序有很好的使用价值
💻 VHD
字号:
library ieee;
use ieee.std_logic_1164.all;
entity rhythmer is
  port(
       clk       :in std_logic;
       tonecode :out integer range 0 to 21);
end rhythmer;

architecture behav of rhythmer is 
    signal counter:integer range 0 to 167;
begin 
    cnt8:process(clk)  --8hz
    begin
      if counter=167 then counter<=0;
        elsif(clk'event and clk='1')then counter<=counter+1;
      end if;
    end process;
search:process(counter)
   begin
  case counter is 
    when 00=>tonecode<=12;
    when 01=>tonecode<=12;
    when 02=>tonecode<=12;
    when 03=>tonecode<=12;
    when 04=>tonecode<=12;
    when 05=>tonecode<=11;
    when 06=>tonecode<=10;
    when 07=>tonecode<=11;
    
    when 08=>tonecode<=12;
    when 09=>tonecode<=12;
    when 10=>tonecode<=12;
    when 11=>tonecode<=12;
    when 12=>tonecode<=12;
    when 13=>tonecode<=12;
    when 14=>tonecode<=12;
    when 15=>tonecode<=12;

    when 16=>tonecode<=10;
    when 17=>tonecode<=10;
    when 18=>tonecode<=10;
    when 19=>tonecode<=10;
    when 20=>tonecode<=17;
    when 21=>tonecode<=17;
    when 22=>tonecode<=16;
    when 23=>tonecode<=16;

    when 24=>tonecode<=15;
    when 25=>tonecode<=15;
    when 26=>tonecode<=15;
    when 27=>tonecode<=15;
    when 28=>tonecode<=0;
    when 29=>tonecode<=0;
    when 30=>tonecode<=20;
    when 31=>tonecode<=20;

    when 32=>tonecode<=17;
    when 33=>tonecode<=17;
    when 34=>tonecode<=18;
    when 35=>tonecode<=18;
    when 36=>tonecode<=13;
    when 37=>tonecode<=13;
    when 38=>tonecode<=13;
    when 39=>tonecode<=13;

    when 40=>tonecode<=17;
    when 41=>tonecode<=17;
    when 42=>tonecode<=18;
    when 43=>tonecode<=18;
    when 44=>tonecode<=13;
    when 45=>tonecode<=13;
    when 46=>tonecode<=13;
    when 47=>tonecode<=13;

    when 48=>tonecode<=17;
    when 49=>tonecode<=17;
    when 50=>tonecode<=18;
    when 51=>tonecode<=18;
    when 52=>tonecode<=13;
    when 53=>tonecode<=13;
    when 54=>tonecode<=15;
    when 55=>tonecode<=15;

    when 56=>tonecode<=16;
    when 57=>tonecode<=16;
    when 58=>tonecode<=16;
    when 59=>tonecode<=16;
    when 60=>tonecode<=16;
    when 61=>tonecode<=16;
    when 62=>tonecode<=16;
    when 63=>tonecode<=16;

	when 64=>tonecode<=17;
    when 65=>tonecode<=17;
    when 66=>tonecode<=17;
    when 67=>tonecode<=18;
    when 68=>tonecode<=17;
    when 69=>tonecode<=17;
    when 70=>tonecode<=12;
    when 71=>tonecode<=17;

	when 72=>tonecode<=17;
    when 73=>tonecode<=17;
    when 74=>tonecode<=17;
    when 75=>tonecode<=17;
    when 76=>tonecode<=0;
    when 77=>tonecode<=0;
    when 78=>tonecode<=19;
    when 79=>tonecode<=19;

	when 80=>tonecode<=16;
    when 81=>tonecode<=15;
    when 82=>tonecode<=15;
    when 83=>tonecode<=14;
    when 84=>tonecode<=14;
    when 85=>tonecode<=14;
    when 86=>tonecode<=10;
    when 87=>tonecode<=13;

    when 88=>tonecode<=13;
    when 89=>tonecode<=13;
    when 90=>tonecode<=13;
    when 91=>tonecode<=13;
    when 92=>tonecode<=0;
    when 93=>tonecode<=0;
    when 94=>tonecode<=13;
    when 95=>tonecode<=13;
    
	when 96=>tonecode<=17;
    when 97=>tonecode<=17;
    when 98=>tonecode<=17;
    when 99=>tonecode<=17;
    when 100=>tonecode<=17;
    when 101=>tonecode<=17;
    when 102=>tonecode<=17;
    when 103=>tonecode<=17;
	
	when 104=>tonecode<=17;
    when 105=>tonecode<=17;
    when 106=>tonecode<=18;
    when 107=>tonecode<=18;
    when 108=>tonecode<=13;
    when 109=>tonecode<=13;
    when 110=>tonecode<=15;
    when 111=>tonecode<=15;

	when 112=>tonecode<=16;
    when 113=>tonecode<=16;
    when 114=>tonecode<=16;
    when 115=>tonecode<=16;
    when 116=>tonecode<=16;
    when 117=>tonecode<=16;
    when 118=>tonecode<=16;
    when 119=>tonecode<=16;

	when 120=>tonecode<=16;
	when 121=>tonecode<=16;
    when 122=>tonecode<=16;
    when 123=>tonecode<=16;
    when 124=>tonecode<=0;
    when 125=>tonecode<=0;
    when 126=>tonecode<=12;
    when 127=>tonecode<=12;

	when 128=>tonecode<=16;
    when 129=>tonecode<=15;
    when 130=>tonecode<=15;
    when 131=>tonecode<=14;
    when 132=>tonecode<=14;
    when 133=>tonecode<=14;
    when 134=>tonecode<=10;
    when 135=>tonecode<=13;

	when 136=>tonecode<=13;
    when 137=>tonecode<=13;
    when 138=>tonecode<=13;
    when 139=>tonecode<=13;
    when 140=>tonecode<=0;
    when 141=>tonecode<=0;
    when 142=>tonecode<=13;
    when 143=>tonecode<=13;

	when 144=>tonecode<=17;
    when 145=>tonecode<=17;
    when 146=>tonecode<=17;
    when 147=>tonecode<=17;
    when 148=>tonecode<=17;
    when 149=>tonecode<=17;
    when 150=>tonecode<=17;
    when 151=>tonecode<=17;

	when 152=>tonecode<=17;
    when 153=>tonecode<=17;
    when 154=>tonecode<=18;
    when 155=>tonecode<=18;
    when 156=>tonecode<=13;
    when 157=>tonecode<=13;
    when 158=>tonecode<=15;
    when 159=>tonecode<=15;

	when 160=>tonecode<=17;
	when 161=>tonecode<=16;
    when 162=>tonecode<=16;
    when 163=>tonecode<=16;
    when 164=>tonecode<=16;
    when 165=>tonecode<=16;
    when 166=>tonecode<=16;
    when 167=>tonecode<=16;

when others=>null;
 end case;
end process;
end;



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -