tonetaba.vhd

来自「几个VHDL实现的源程序及其代码」· VHDL 代码 · 共 42 行

VHD
42
字号
library ieee;
use ieee.std_logic_1164.all;

entity tonetaba is
port(
     index :  in std_logic_vector(7 downto 0);
     code  : out integer range 0 to 15;
     tone  : out integer range 0 to 16#7ff#);  --"2047";
end;

architecture behav of tonetaba is
begin
search:process(index)
begin
case index is
when "00000000"=>tone<=2047;  code<=0;
when "00010110"=>tone<=137;   code<=1;    --"L1";
when "00011110"=>tone<=345;   code<=2;    --"L2";
when "00100110"=>tone<=531;   code<=3;    --"L3";
when "00100101"=>tone<=616;   code<=4;    --"L4";
when "00101110"=>tone<=773;   code<=5;    --"L5";
when "00110110"=>tone<=912;   code<=6;    --"L6";
when "00111101"=>tone<=1036;  code<=7;    --"L7";
WHEN "00010101"=>tone<=1092;  code<=1;    --"M1";
when "00011101"=>tone<=1197;  code<=2;    --"M2";
WHEN "00100100"=>tone<=1290;  code<=3;    --"M3";
when "00101101"=>tone<=1332;  code<=4;    --"M4";
WHEN "00101100"=>tone<=1410;  code<=5;    --"M5";
when "00110101"=>tone<=1480;  code<=6;    --"M6";
when "00111100"=>tone<=1542;  code<=7;    --"M7";
WHEN "00011100"=>tone<=1570;  code<=1;    --"H1";
when "00011011"=>tone<=1622;  code<=2;    --"H2";
WHEN "00100011"=>tone<=1669;  code<=3;    --"H3";
when "00101011"=>tone<=1690;  code<=4;    --"H4";
WHEN "00110100"=>tone<=1729;  code<=5;    --"H5";
when "00110011"=>tone<=1764;  code<=6;    --"H6";
when "00111011"=>tone<=1795;  code<=7;    --"H7";
when others=>null;
end case;
end process;
end behav;

⌨️ 快捷键说明

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