📄 notetabs.vhd
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY NoteTabs IS
PORT ( clk : IN STD_LOGIC;
ToneIndex : OUT INTEGER RANGE 0 TO 31 );
END;
ARCHITECTURE one OF NoteTabs IS
SIGNAL Counter : INTEGER RANGE 0 TO 199;
BEGIN
CNT8 : PROCESS(clk)
BEGIN
IF Counter = 199 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 => ToneIndex <= 6;
WHEN 01 => ToneIndex <= 6;
WHEN 02 => ToneIndex <= 6;
WHEN 03 => ToneIndex <= 13;
WHEN 04 => ToneIndex <= 13;
WHEN 05 => ToneIndex <= 13;
WHEN 06 => ToneIndex <= 15;
WHEN 07 => ToneIndex <= 15;
WHEN 08 => ToneIndex <= 15;
WHEN 09 => ToneIndex <= 13;
WHEN 10 => ToneIndex <= 12;
WHEN 11 => ToneIndex <= 10;
WHEN 12 => ToneIndex <= 10;
WHEN 13 => ToneIndex <= 10;
WHEN 14 => ToneIndex <= 12;
WHEN 15 => ToneIndex <= 12;
WHEN 16 => ToneIndex <= 13;
WHEN 17 => ToneIndex <= 13;
WHEN 18 => ToneIndex <= 12;
WHEN 19 => ToneIndex <= 12;
WHEN 20 => ToneIndex <= 12;
WHEN 21 => ToneIndex <= 13;
WHEN 22 => ToneIndex <= 15;
WHEN 23 => ToneIndex <= 15;
WHEN 24 => ToneIndex <= 13;
WHEN 25 => ToneIndex <= 13;
WHEN 26 => ToneIndex <= 13;
WHEN 27 => ToneIndex <= 13;
WHEN 28 => ToneIndex <= 13;
WHEN 29 => ToneIndex <= 13;
WHEN 30 => ToneIndex <= 13;
WHEN 31 => ToneIndex <= 6;
WHEN 32 => ToneIndex <= 6;
WHEN 33 => ToneIndex <= 6;
WHEN 34 => ToneIndex <= 13;
WHEN 35 => ToneIndex <= 13;
WHEN 36 => ToneIndex <= 15;
WHEN 37 => ToneIndex <= 15;
WHEN 38 => ToneIndex <= 15;
WHEN 39 => ToneIndex <= 13;
WHEN 40 => ToneIndex <= 12;
WHEN 41 => ToneIndex <= 10;
WHEN 42 => ToneIndex <= 10;
WHEN 43 => ToneIndex <= 10;
WHEN 44 => ToneIndex <= 10;
WHEN 45 => ToneIndex <= 12;
WHEN 46 => ToneIndex <= 12;
WHEN 47 => ToneIndex <= 13;
WHEN 48 => ToneIndex <= 13;
WHEN 49 => ToneIndex <= 12;
WHEN 50 => ToneIndex <= 12;
WHEN 51 => ToneIndex <= 13;
WHEN 52 => ToneIndex <= 15;
WHEN 53 => ToneIndex <= 13;
WHEN 54 => ToneIndex <= 13;
WHEN 55 => ToneIndex <= 12;
WHEN 56 => ToneIndex <= 12;
WHEN 57 => ToneIndex <= 10;
WHEN 58 => ToneIndex <= 10;
WHEN 59 => ToneIndex <= 10;
WHEN 60 => ToneIndex <= 10;
WHEN 61 => ToneIndex <= 10;
WHEN 62 => ToneIndex <= 10; --?
WHEN 63 => ToneIndex <= 12;
WHEN 64 => ToneIndex <= 13;
WHEN 65 => ToneIndex <= 13;
WHEN 66 => ToneIndex <= 15;
WHEN 67 => ToneIndex <= 15;
WHEN 68 => ToneIndex <= 10;
WHEN 69 => ToneIndex <= 10;
WHEN 70 => ToneIndex <= 9;
WHEN 71 => ToneIndex <= 9;
WHEN 72 => ToneIndex <= 8;
WHEN 73 => ToneIndex <= 8;
WHEN 74 => ToneIndex <= 6;
WHEN 75 => ToneIndex <= 6;
WHEN 76 => ToneIndex <= 9;
WHEN 77 => ToneIndex <= 9;
WHEN 78 => ToneIndex <= 9;
WHEN 79 => ToneIndex <= 8;
WHEN 80 => ToneIndex <= 8;
WHEN 81 => ToneIndex <= 9;
WHEN 82 => ToneIndex <= 9;
WHEN 83 => ToneIndex <= 10;
WHEN 84 => ToneIndex <= 13;
WHEN 85 => ToneIndex <= 13;
WHEN 86 => ToneIndex <= 12; --C
WHEN 87 => ToneIndex <= 12; --C
WHEN 88 => ToneIndex <= 10;
WHEN 89 => ToneIndex <= 10;
WHEN 90 => ToneIndex <= 10;
WHEN 91 => ToneIndex <= 10;
WHEN 92 => ToneIndex <= 10;
WHEN 93 => ToneIndex <= 10;
WHEN 94 => ToneIndex <= 10;
WHEN 95 => ToneIndex <= 10;
WHEN 96 => ToneIndex <= 12;
WHEN 97 => ToneIndex <= 13;
WHEN 98 => ToneIndex <= 13;
WHEN 99 => ToneIndex <= 13;
WHEN 100 => ToneIndex <= 15;
WHEN 101 => ToneIndex <= 10;
WHEN 102 => ToneIndex <= 10;
WHEN 103 => ToneIndex <= 9;
WHEN 104 => ToneIndex <= 9;
WHEN 105 => ToneIndex <= 8;
WHEN 106 => ToneIndex <= 8;
WHEN 107 => ToneIndex <= 6;
WHEN 108 => ToneIndex <= 6; -- D
WHEN 109 => ToneIndex <= 9;
WHEN 110 => ToneIndex <= 9;
WHEN 111 => ToneIndex <= 12;
WHEN 112 => ToneIndex <= 10;
WHEN 113 => ToneIndex <= 10;
WHEN 114 => ToneIndex <= 10;
WHEN 115 => ToneIndex <= 8;
WHEN 116 => ToneIndex <= 8;
WHEN 117 => ToneIndex <= 6;
WHEN 118 => ToneIndex <= 6;
WHEN 119 => ToneIndex <= 9;
WHEN 120 => ToneIndex <= 9;
WHEN 121 => ToneIndex <= 8;
WHEN 122 => ToneIndex <= 8;
WHEN 123 => ToneIndex <= 6;
WHEN 124 => ToneIndex <= 6;
WHEN 125 => ToneIndex <= 6;
WHEN 126 => ToneIndex <= 6;
WHEN 127 => ToneIndex <= 6;
WHEN 128 => ToneIndex <= 6;-- END
WHEN 129 => ToneIndex <= 10;
WHEN 130 => ToneIndex <= 10;
WHEN 131 => ToneIndex <= 10;
WHEN 132 => ToneIndex <= 12;
WHEN 133 => ToneIndex <= 13;
WHEN 134 => ToneIndex <= 13;
WHEN 135 => ToneIndex <= 15;
WHEN 136 => ToneIndex <= 15;
WHEN 137 => ToneIndex <= 10;
WHEN 138 => ToneIndex <= 10;
WHEN 139 => ToneIndex <= 9;
WHEN 140 => ToneIndex <= 9;
WHEN 141 => ToneIndex <= 8;
WHEN 142 => ToneIndex <= 8;
WHEN 143 => ToneIndex <= 6;
WHEN 144 => ToneIndex <= 6;
WHEN 145 => ToneIndex <= 9;
WHEN 146 => ToneIndex <= 9;
WHEN 147 => ToneIndex <= 9;
WHEN 148 => ToneIndex <= 8;
WHEN 149 => ToneIndex <= 8;
WHEN 150 => ToneIndex <= 9;
WHEN 151 => ToneIndex <= 9;
WHEN 152 => ToneIndex <= 10;
WHEN 153 => ToneIndex <= 13;
WHEN 154 => ToneIndex <= 13;
WHEN 155 => ToneIndex <= 12;
WHEN 156 => ToneIndex <= 12;
WHEN 157 => ToneIndex <= 10;
WHEN 158 => ToneIndex <= 10;
WHEN 159 => ToneIndex <= 10;
WHEN 160 => ToneIndex <= 10;
WHEN 161 => ToneIndex <= 10;
WHEN 162 => ToneIndex <= 10;
WHEN 163 => ToneIndex <= 10;-- 3 - - -
WHEN 164 => ToneIndex <= 10;
WHEN 165 => ToneIndex <= 12;
WHEN 166 => ToneIndex <= 13;
WHEN 167 => ToneIndex <= 13;
WHEN 168 => ToneIndex <= 13;
WHEN 169 => ToneIndex <= 15;
WHEN 170 => ToneIndex <= 10;
WHEN 171 => ToneIndex <= 10;
WHEN 172 => ToneIndex <= 9;
WHEN 173 => ToneIndex <= 9;
WHEN 174 => ToneIndex <= 8;
WHEN 175 => ToneIndex <= 8;
WHEN 176 => ToneIndex <= 6;
WHEN 177 => ToneIndex <= 6; -- F
WHEN 178 => ToneIndex <= 9;
WHEN 179 => ToneIndex <= 9;
WHEN 180 => ToneIndex <= 9;
WHEN 181 => ToneIndex <= 12;
WHEN 182 => ToneIndex <= 10;
WHEN 183 => ToneIndex <= 10;
WHEN 184 => ToneIndex <= 10;
WHEN 185 => ToneIndex <= 8;
WHEN 186 => ToneIndex <= 8;
WHEN 187 => ToneIndex <= 6;
WHEN 188 => ToneIndex <= 6;
WHEN 189 => ToneIndex <= 9;
WHEN 190 => ToneIndex <= 9;
WHEN 191 => ToneIndex <= 8;
WHEN 192 => ToneIndex <= 8;
WHEN 193 => ToneIndex <= 6;
WHEN 194 => ToneIndex <= 6;
WHEN 195 => ToneIndex <= 6;
WHEN 196 => ToneIndex <= 6;
WHEN 197 => ToneIndex <= 6;
WHEN 198 => ToneIndex <= 6;
WHEN 199 => ToneIndex <= 6;
WHEN OTHERS => NULL;
END CASE;
END PROCESS;
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -