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

📄 huffman_types.vhd

📁 mp3的VHDL实现
💻 VHD
📖 第 1 页 / 共 4 页
字号:
  (X"00",X"17"),(X"0a",X"01"),(X"04",X"01"),(X"02",X"01"),(X"00",X"65"),
  (X"00",X"56"),(X"04",X"01"),(X"02",X"01"),(X"00",X"80"),(X"00",X"08"),
  (X"00",X"81"),(X"04",X"01"),(X"02",X"01"),(X"00",X"74"),(X"00",X"47"),
  (X"02",X"01"),(X"00",X"18"),(X"00",X"82"),(X"10",X"01"),(X"08",X"01"),
  (X"04",X"01"),(X"02",X"01"),(X"00",X"28"),(X"00",X"66"),(X"02",X"01"),
  (X"00",X"83"),(X"00",X"38"),(X"04",X"01"),(X"02",X"01"),(X"00",X"75"),
  (X"00",X"57"),(X"02",X"01"),(X"00",X"84"),(X"00",X"48"),(X"08",X"01"),
  (X"04",X"01"),(X"02",X"01"),(X"00",X"91"),(X"00",X"19"),(X"02",X"01"),
  (X"00",X"92"),(X"00",X"76"),(X"04",X"01"),(X"02",X"01"),(X"00",X"67"),
  (X"00",X"29"),(X"02",X"01"),(X"00",X"85"),(X"00",X"58"),(X"5c",X"01"),
  (X"22",X"01"),(X"10",X"01"),(X"08",X"01"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"93"),(X"00",X"39"),(X"02",X"01"),(X"00",X"94"),(X"00",X"49"),
  (X"04",X"01"),(X"02",X"01"),(X"00",X"77"),(X"00",X"86"),(X"02",X"01"),
  (X"00",X"68"),(X"00",X"a1"),(X"08",X"01"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"a2"),(X"00",X"2a"),(X"02",X"01"),(X"00",X"95"),(X"00",X"59"),
  (X"04",X"01"),(X"02",X"01"),(X"00",X"a3"),(X"00",X"3a"),(X"02",X"01"),
  (X"00",X"87"),(X"02",X"01"),(X"00",X"78"),(X"00",X"4a"),(X"16",X"01"),
  (X"0c",X"01"),(X"04",X"01"),(X"02",X"01"),(X"00",X"a4"),(X"00",X"96"),
  (X"04",X"01"),(X"02",X"01"),(X"00",X"69"),(X"00",X"b1"),(X"02",X"01"),
  (X"00",X"1b"),(X"00",X"a5"),(X"06",X"01"),(X"02",X"01"),(X"00",X"b2"),
  (X"02",X"01"),(X"00",X"5a"),(X"00",X"2b"),(X"02",X"01"),(X"00",X"88"),
  (X"00",X"b3"),(X"10",X"01"),(X"0a",X"01"),(X"06",X"01"),(X"02",X"01"),
  (X"00",X"90"),(X"02",X"01"),(X"00",X"09"),(X"00",X"a0"),(X"02",X"01"),
  (X"00",X"97"),(X"00",X"79"),(X"04",X"01"),(X"02",X"01"),(X"00",X"a6"),
  (X"00",X"6a"),(X"00",X"b4"),(X"0c",X"01"),(X"06",X"01"),(X"02",X"01"),
  (X"00",X"1a"),(X"02",X"01"),(X"00",X"0a"),(X"00",X"b0"),(X"02",X"01"),
  (X"00",X"3b"),(X"02",X"01"),(X"00",X"0b"),(X"00",X"c0"),(X"04",X"01"),
  (X"02",X"01"),(X"00",X"4b"),(X"00",X"c1"),(X"02",X"01"),(X"00",X"98"),
  (X"00",X"89"),(X"43",X"01"),(X"22",X"01"),(X"10",X"01"),(X"08",X"01"),
  (X"04",X"01"),(X"02",X"01"),(X"00",X"1c"),(X"00",X"b5"),(X"02",X"01"),
  (X"00",X"5b"),(X"00",X"c2"),(X"04",X"01"),(X"02",X"01"),(X"00",X"2c"),
  (X"00",X"a7"),(X"02",X"01"),(X"00",X"7a"),(X"00",X"c3"),(X"0a",X"01"),
  (X"06",X"01"),(X"02",X"01"),(X"00",X"3c"),(X"02",X"01"),(X"00",X"0c"),
  (X"00",X"d0"),(X"02",X"01"),(X"00",X"b6"),(X"00",X"6b"),(X"04",X"01"),
  (X"02",X"01"),(X"00",X"c4"),(X"00",X"4c"),(X"02",X"01"),(X"00",X"99"),
  (X"00",X"a8"),(X"10",X"01"),(X"08",X"01"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"8a"),(X"00",X"c5"),(X"02",X"01"),(X"00",X"5c"),(X"00",X"d1"),
  (X"04",X"01"),(X"02",X"01"),(X"00",X"b7"),(X"00",X"7b"),(X"02",X"01"),
  (X"00",X"1d"),(X"00",X"d2"),(X"09",X"01"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"2d"),(X"00",X"d3"),(X"02",X"01"),(X"00",X"3d"),(X"00",X"c6"),
  (X"55",X"fa"),(X"04",X"01"),(X"02",X"01"),(X"00",X"6c"),(X"00",X"a9"),
  (X"02",X"01"),(X"00",X"9a"),(X"00",X"d4"),(X"20",X"01"),(X"10",X"01"),
  (X"08",X"01"),(X"04",X"01"),(X"02",X"01"),(X"00",X"b8"),(X"00",X"8b"),
  (X"02",X"01"),(X"00",X"4d"),(X"00",X"c7"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"7c"),(X"00",X"d5"),(X"02",X"01"),(X"00",X"5d"),(X"00",X"e1"),
  (X"08",X"01"),(X"04",X"01"),(X"02",X"01"),(X"00",X"1e"),(X"00",X"e2"),
  (X"02",X"01"),(X"00",X"aa"),(X"00",X"b9"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"9b"),(X"00",X"e3"),(X"02",X"01"),(X"00",X"d6"),(X"00",X"6d"),
  (X"14",X"01"),(X"0a",X"01"),(X"06",X"01"),(X"02",X"01"),(X"00",X"3e"),
  (X"02",X"01"),(X"00",X"2e"),(X"00",X"4e"),(X"02",X"01"),(X"00",X"c8"),
  (X"00",X"8c"),(X"04",X"01"),(X"02",X"01"),(X"00",X"e4"),(X"00",X"d7"),
  (X"04",X"01"),(X"02",X"01"),(X"00",X"7d"),(X"00",X"ab"),(X"00",X"e5"),
  (X"0a",X"01"),(X"04",X"01"),(X"02",X"01"),(X"00",X"ba"),(X"00",X"5e"),
  (X"02",X"01"),(X"00",X"c9"),(X"02",X"01"),(X"00",X"9c"),(X"00",X"6e"),
  (X"08",X"01"),(X"02",X"01"),(X"00",X"e6"),(X"02",X"01"),(X"00",X"0d"),
  (X"02",X"01"),(X"00",X"e0"),(X"00",X"0e"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"d8"),(X"00",X"8d"),(X"02",X"01"),(X"00",X"bb"),(X"00",X"ca"),
  (X"4a",X"01"),(X"02",X"01"),(X"00",X"ff"),(X"40",X"01"),(X"3a",X"01"),
  (X"20",X"01"),(X"10",X"01"),(X"08",X"01"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"ac"),(X"00",X"e7"),(X"02",X"01"),(X"00",X"7e"),(X"00",X"d9"),
  (X"04",X"01"),(X"02",X"01"),(X"00",X"9d"),(X"00",X"e8"),(X"02",X"01"),
  (X"00",X"8e"),(X"00",X"cb"),(X"08",X"01"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"bc"),(X"00",X"da"),(X"02",X"01"),(X"00",X"ad"),(X"00",X"e9"),
  (X"04",X"01"),(X"02",X"01"),(X"00",X"9e"),(X"00",X"cc"),(X"02",X"01"),
  (X"00",X"db"),(X"00",X"bd"),(X"10",X"01"),(X"08",X"01"),(X"04",X"01"),
  (X"02",X"01"),(X"00",X"ea"),(X"00",X"ae"),(X"02",X"01"),(X"00",X"dc"),
  (X"00",X"cd"),(X"04",X"01"),(X"02",X"01"),(X"00",X"eb"),(X"00",X"be"),
  (X"02",X"01"),(X"00",X"dd"),(X"00",X"ec"),(X"08",X"01"),(X"04",X"01"),
  (X"02",X"01"),(X"00",X"ce"),(X"00",X"ed"),(X"02",X"01"),(X"00",X"de"),
  (X"00",X"ee"),(X"00",X"0f"),(X"04",X"01"),(X"02",X"01"),(X"00",X"f0"),
  (X"00",X"1f"),(X"00",X"f1"),(X"04",X"01"),(X"02",X"01"),(X"00",X"f2"),
  (X"00",X"2f"),(X"02",X"01"),(X"00",X"f3"),(X"00",X"3f"),(X"12",X"01"),
  (X"08",X"01"),(X"04",X"01"),(X"02",X"01"),(X"00",X"f4"),(X"00",X"4f"),
  (X"02",X"01"),(X"00",X"f5"),(X"00",X"5f"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"f6"),(X"00",X"6f"),(X"02",X"01"),(X"00",X"f7"),(X"02",X"01"),
  (X"00",X"7f"),(X"00",X"8f"),(X"0a",X"01"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"f8"),(X"00",X"f9"),(X"04",X"01"),(X"02",X"01"),(X"00",X"9f"),
  (X"00",X"af"),(X"00",X"fa"),(X"08",X"01"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"fb"),(X"00",X"bf"),(X"02",X"01"),(X"00",X"fc"),(X"00",X"cf"),
  (X"04",X"01"),(X"02",X"01"),(X"00",X"fd"),(X"00",X"df"),(X"02",X"01"),
  (X"00",X"fe"),(X"00",X"ef"));

  type table32 is array (0 to 30) of table_type1;
  constant HUFFTABLE32 : table32 := 
  ((X"02",X"01"),(X"00",X"00"),(X"08",X"01"),(X"04",X"01"),(X"02",X"01"),
  (X"00",X"08"),(X"00",X"04"),(X"02",X"01"),(X"00",X"01"),(X"00",X"02"),
  (X"08",X"01"),(X"04",X"01"),(X"02",X"01"),(X"00",X"0c"),(X"00",X"0a"),
  (X"02",X"01"),(X"00",X"03"),(X"00",X"06"),(X"06",X"01"),(X"02",X"01"),
  (X"00",X"09"),(X"02",X"01"),(X"00",X"05"),(X"00",X"07"),(X"04",X"01"),
  (X"02",X"01"),(X"00",X"0e"),(X"00",X"0d"),(X"02",X"01"),(X"00",X"0f"),
  (X"00",X"0b"));  
 
  type table33 is array (0 to 30) of table_type1;  
  constant HUFFTABLE33 : table33 := 
  ((X"10",X"01"),(X"08",X"01"),(X"04",X"01"),(X"02",X"01"),(X"00",X"00"),
  (X"00",X"01"),(X"02",X"01"),(X"00",X"02"),(X"00",X"03"),(X"04",X"01"),
  (X"02",X"01"),(X"00",X"04"),(X"00",X"05"),(X"02",X"01"),(X"00",X"06"),
  (X"00",X"07"),(X"08",X"01"),(X"04",X"01"),(X"02",X"01"),(X"00",X"08"),
  (X"00",X"09"),(X"02",X"01"),(X"00",X"0a"),(X"00",X"0b"),(X"04",X"01"),
  (X"02",X"01"),(X"00",X"0c"),(X"00",X"0d"),(X"02",X"01"),(X"00",X"0e"),
  (X"00",X"0f"));
  
  function get_value(tindex,level,index:in integer) return integer;
end;

package body huffman_types is

function get_value(tindex,level,index:in integer) return integer is 
variable val:integer;

begin
  case tindex is 
      when 0 =>
           val :=0;     
      when 1 =>
           val := conv_integer(HUFFTABLE1(level)(index));
      when 2 => 
           val := conv_integer(HUFFTABLE2(level)(index));
      when 3 =>
           val :=conv_integer(HUFFTABLE3(level)(index));
      when 4 =>
           val :=0;
      when 5 =>
           val :=conv_integer(HUFFTABLE5(level)(index));
      when 6 =>
           val :=conv_integer(HUFFTABLE6(level)(index));
      when 7 =>
           val :=conv_integer(HUFFTABLE7(level)(index));
      when 8 =>
           val :=conv_integer(HUFFTABLE8(level)(index));
      when 9 =>
           val :=conv_integer(HUFFTABLE9(level)(index));
      when 10 =>
           val :=conv_integer(HUFFTABLE10(level)(index));
      when 11 =>
           val :=conv_integer(HUFFTABLE11(level)(index));
      when 12 =>
           val :=conv_integer(HUFFTABLE12(level)(index));
      when 13 =>
           val :=conv_integer(HUFFTABLE13(level)(index));
      when 14 =>
           val :=0;
      when 15 =>
           val :=conv_integer(HUFFTABLE15(level)(index));
      when 16 =>
           val :=conv_integer(HUFFTABLE16(level)(index));
      when 17 =>
           val :=conv_integer(HUFFTABLE16(level)(index));
      when 18 =>
           val :=conv_integer(HUFFTABLE16(level)(index));
      when 19 =>
           val :=conv_integer(HUFFTABLE16(level)(index));
      when 20 => 
           val :=conv_integer(HUFFTABLE16(level)(index));
      when 21 =>
           val :=conv_integer(HUFFTABLE16(level)(index));
      when 22 =>
           val :=conv_integer(HUFFTABLE16(level)(index));
      when 23 =>
           val :=conv_integer(HUFFTABLE16(level)(index));
      when 24 =>
           val :=conv_integer(HUFFTABLE24(level)(index));
      when 25 =>
           val :=conv_integer(HUFFTABLE24(level)(index));
      when 26 =>
           val :=conv_integer(HUFFTABLE24(level)(index));
      when 27 =>
           val :=conv_integer(HUFFTABLE24(level)(index));
      when 28 =>
           val :=conv_integer(HUFFTABLE24(level)(index));
      when 29 =>
           val :=conv_integer(HUFFTABLE24(level)(index));
      when 31 =>
           val :=conv_integer(HUFFTABLE24(level)(index));
      when 32 =>
           val :=conv_integer(HUFFTABLE32(level)(index));
      when 33 =>
           val :=conv_integer(HUFFTABLE33(level)(index));
      when others =>
    end case;

  return val;
  end function;
end package body;

⌨️ 快捷键说明

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