📄 音符译码电路tonedaba.vhd
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY ToneData IS
PORT(Index:IN STD_LOGIC_VECTOR(15 DOWNTO 0);
CODE:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
HIGH:OUT STD_LOGIC;
Tone:OUT INTEGER RANGE 0 TO 2047);
END ToneData;
ARCHITECTURE one OF ToneData IS
BEGIN
PROCESS(Index)
BEGIN
CASE Index IS
WHEN "0000000000000001"=>Tone<=1433;CODE<="0000";HIGH<='0';
WHEN "0000000000000010"=>Tone<=1277;CODE<="0001";HIGH<='0';
WHEN "0000000000000100"=>Tone<=1138;CODE<="0010";HIGH<='0';
WHEN "0000000000001000"=>Tone<=1074;CODE<="0010";HIGH<='0';
WHEN "0000000000010000"=>Tone<=960;CODE<="0101";HIGH<='0';
WHEN "0000000000100000"=>Tone<=853;CODE<="0110";HIGH<='0';
WHEN "0000000001000000"=>Tone<=759;CODE<="0111";HIGH<='0';
WHEN "0000000010000000"=>Tone<=716;CODE<="0001";HIGH<='1';
WHEN "0000000100000000"=>Tone<=358;CODE<="0010";HIGH<='1';
WHEN "0000001000000000"=>Tone<=319;CODE<="0010";HIGH<='1';
WHEN "0000010000000000"=>Tone<=284;CODE<="0101";HIGH<='1';
WHEN "0000100000000000"=>Tone<=268;CODE<="0110";HIGH<='1';
WHEN "0001000000000000"=>Tone<=239;CODE<="0110";HIGH<='1';
WHEN "0010000000000000"=>Tone<=190;CODE<="0110";HIGH<='1';
WHEN "1000000000000000"=>Tone<=638;CODE<="0001";HIGH<='0';
WHEN OTHERS=>Tone<=0;CODE<="0000";HIGH<='0';
END CASE;
END PROCESS;
END one;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -