📄 huffman_tables.v
字号:
/* J P E G _ A C _ L U M I N A N C E _ H U F F M A N _ D E C ITU-T.81 annex K.3.2 Table K.5 This function translates the default Huffman codeword into luminance AC (RunLength, Size) codepair. Output is given as: codelength[3:0]-1, RunLength[3:0], size[3:0] The codewords are left-alligned to ease bitstream decomposition. example: codeword = 16'b0000_0001_1111_0111 codelength = 8 +1 = 9 ac_luminance_run_length = 3 ac_limunance_size (category) = 2*/function [11:0] jpeg_ac_luminance_huffman_dec; input [15:0] codeword;begin casex(codeword) // synopsys full_case parallel_case 16'b1010_????_????_????: jpeg_ac_luminance_huffman_dec = {4'h3, 8'h00}; // EOB 16'b00??_????_????_????: jpeg_ac_luminance_huffman_dec = {4'h1, 8'h01}; 16'b01??_????_????_????: jpeg_ac_luminance_huffman_dec = {4'h1, 8'h02}; 16'b100?_????_????_????: jpeg_ac_luminance_huffman_dec = {4'h2, 8'h03}; 16'b1011_????_????_????: jpeg_ac_luminance_huffman_dec = {4'h3, 8'h04}; 16'b1101_0???_????_????: jpeg_ac_luminance_huffman_dec = {4'h4, 8'h05}; 16'b1111_000?_????_????: jpeg_ac_luminance_huffman_dec = {4'h6, 8'h06}; 16'b1111_1000_????_????: jpeg_ac_luminance_huffman_dec = {4'h7, 8'h07}; 16'b1111_1101_10??_????: jpeg_ac_luminance_huffman_dec = {4'h9, 8'h08}; 16'b1111_1111_1000_0010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h09}; 16'b1111_1111_1000_0011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h0a}; 16'b1100_????_????_????: jpeg_ac_luminance_huffman_dec = {4'h3, 8'h11}; 16'b1101_1???_????_????: jpeg_ac_luminance_huffman_dec = {4'h4, 8'h12}; 16'b1111_001?_????_????: jpeg_ac_luminance_huffman_dec = {4'h6, 8'h13}; 16'b1111_1011_0???_????: jpeg_ac_luminance_huffman_dec = {4'h8, 8'h14}; 16'b1111_1110_110?_????: jpeg_ac_luminance_huffman_dec = {4'ha, 8'h15}; 16'b1111_1111_1000_0100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h16}; 16'b1111_1111_1000_0101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h17}; 16'b1111_1111_1000_0110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h18}; 16'b1111_1111_1000_0111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h19}; 16'b1111_1111_1000_1000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h1a}; 16'b1110_0???_????_????: jpeg_ac_luminance_huffman_dec = {4'h4, 8'h21}; 16'b1111_1001_????_????: jpeg_ac_luminance_huffman_dec = {4'h7, 8'h22}; 16'b1111_1101_11??_????: jpeg_ac_luminance_huffman_dec = {4'h9, 8'h23}; 16'b1111_1111_0100_????: jpeg_ac_luminance_huffman_dec = {4'hb, 8'h24}; 16'b1111_1111_1000_1001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h25}; 16'b1111_1111_1000_1010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h26}; 16'b1111_1111_1000_1011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h27}; 16'b1111_1111_1000_1100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h28}; 16'b1111_1111_1000_1101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h29}; 16'b1111_1111_1000_1110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h2a}; 16'b1110_10??_????_????: jpeg_ac_luminance_huffman_dec = {4'h5, 8'h31}; 16'b1111_1011_1???_????: jpeg_ac_luminance_huffman_dec = {4'h8, 8'h32}; 16'b1111_1111_0101_????: jpeg_ac_luminance_huffman_dec = {4'hb, 8'h33}; 16'b1111_1111_1000_1111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h34}; 16'b1111_1111_1001_0000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h35}; 16'b1111_1111_1001_0001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h36}; 16'b1111_1111_1001_0010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h37}; 16'b1111_1111_1001_0011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h38}; 16'b1111_1111_1001_0100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h39}; 16'b1111_1111_1001_0101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h3a}; 16'b1110_11??_????_????: jpeg_ac_luminance_huffman_dec = {4'h5, 8'h41}; 16'b1111_1110_00??_????: jpeg_ac_luminance_huffman_dec = {4'h9, 8'h42}; 16'b1111_1111_1001_0110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h43}; 16'b1111_1111_1001_0111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h44}; 16'b1111_1111_1001_1000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h45}; 16'b1111_1111_1001_1001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h46}; 16'b1111_1111_1001_1010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h47}; 16'b1111_1111_1001_1011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h48}; 16'b1111_1111_1001_1100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h49}; 16'b1111_1111_1001_1101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h4a}; 16'b1111_010?_????_????: jpeg_ac_luminance_huffman_dec = {4'h6, 8'h51}; 16'b1111_1110_111?_????: jpeg_ac_luminance_huffman_dec = {4'ha, 8'h52}; 16'b1111_1111_1001_1110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h53}; 16'b1111_1111_1001_1111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h54}; 16'b1111_1111_1010_0000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h55}; 16'b1111_1111_1010_0001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h56}; 16'b1111_1111_1010_0010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h57}; 16'b1111_1111_1010_0011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h58}; 16'b1111_1111_1010_0100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h59}; 16'b1111_1111_1010_0101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h5a}; 16'b1111_011?_????_????: jpeg_ac_luminance_huffman_dec = {4'h6, 8'h61}; 16'b1111_1111_0110_????: jpeg_ac_luminance_huffman_dec = {4'hb, 8'h62}; 16'b1111_1111_1010_0110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h63}; 16'b1111_1111_1010_0111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h64}; 16'b1111_1111_1010_1000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h65}; 16'b1111_1111_1010_1001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h66}; 16'b1111_1111_1010_1010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h67}; 16'b1111_1111_1010_1011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h68}; 16'b1111_1111_1010_1100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h69}; 16'b1111_1111_1010_1101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h6a}; 16'b1111_1010_????_????: jpeg_ac_luminance_huffman_dec = {4'h7, 8'h71}; 16'b1111_1111_0111_????: jpeg_ac_luminance_huffman_dec = {4'hb, 8'h72}; 16'b1111_1111_1010_1110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h73}; 16'b1111_1111_1010_1111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h74}; 16'b1111_1111_1011_0000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h75}; 16'b1111_1111_1011_0001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h76}; 16'b1111_1111_1011_0010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h77}; 16'b1111_1111_1011_0011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h78}; 16'b1111_1111_1011_0100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h79}; 16'b1111_1111_1011_0101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h7a}; 16'b1111_1100_0???_????: jpeg_ac_luminance_huffman_dec = {4'h8, 8'h81}; 16'b1111_1111_1000_000?: jpeg_ac_luminance_huffman_dec = {4'he, 8'h82}; 16'b1111_1111_1011_0110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h83}; 16'b1111_1111_1011_0111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h84}; 16'b1111_1111_1011_1000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h85}; 16'b1111_1111_1011_1001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h86}; 16'b1111_1111_1011_1010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h87}; 16'b1111_1111_1011_1011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h88}; 16'b1111_1111_1011_1100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h89}; 16'b1111_1111_1011_1101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h8a}; 16'b1111_1100_1???_????: jpeg_ac_luminance_huffman_dec = {4'h8, 8'h91}; 16'b1111_1111_1011_1110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h92}; 16'b1111_1111_1011_1111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h93}; 16'b1111_1111_1100_0000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h94}; 16'b1111_1111_1100_0001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h95}; 16'b1111_1111_1100_0010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h96}; 16'b1111_1111_1100_0011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h97}; 16'b1111_1111_1100_0100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h98}; 16'b1111_1111_1100_0101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h99}; 16'b1111_1111_1100_0110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'h9a}; 16'b1111_1101_0???_????: jpeg_ac_luminance_huffman_dec = {4'h8, 8'ha1}; 16'b1111_1111_1100_0111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'ha2}; 16'b1111_1111_1100_1000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'ha3}; 16'b1111_1111_1100_1001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'ha4}; 16'b1111_1111_1100_1010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'ha5}; 16'b1111_1111_1100_1011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'ha6}; 16'b1111_1111_1100_1100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'ha7}; 16'b1111_1111_1100_1101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'ha8}; 16'b1111_1111_1100_1110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'ha9}; 16'b1111_1111_1100_1111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'haa}; 16'b1111_1110_01??_????: jpeg_ac_luminance_huffman_dec = {4'h9, 8'hb1}; 16'b1111_1111_1101_0000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hb2}; 16'b1111_1111_1101_0001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hb3}; 16'b1111_1111_1101_0010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hb4}; 16'b1111_1111_1101_0011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hb5}; 16'b1111_1111_1101_0100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hb6}; 16'b1111_1111_1101_0101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hb7}; 16'b1111_1111_1101_0110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hb8}; 16'b1111_1111_1101_0111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hb9}; 16'b1111_1111_1101_1000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hba}; 16'b1111_1110_10??_????: jpeg_ac_luminance_huffman_dec = {4'h9, 8'hc1}; 16'b1111_1111_1101_1001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hc2}; 16'b1111_1111_1101_1010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hc3}; 16'b1111_1111_1101_1011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hc4}; 16'b1111_1111_1101_1100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hc5}; 16'b1111_1111_1101_1101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hc6}; 16'b1111_1111_1101_1110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hc7}; 16'b1111_1111_1101_1111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hc8}; 16'b1111_1111_1110_0000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hc9}; 16'b1111_1111_1110_0001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hca}; 16'b1111_1111_000?_????: jpeg_ac_luminance_huffman_dec = {4'ha, 8'hd1}; 16'b1111_1111_1110_0010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hd2}; 16'b1111_1111_1110_0011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hd3}; 16'b1111_1111_1110_0100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hd4}; 16'b1111_1111_1110_0101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hd5}; 16'b1111_1111_1110_0110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hd6}; 16'b1111_1111_1110_0111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hd7}; 16'b1111_1111_1110_1000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hd8}; 16'b1111_1111_1110_1001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hd9}; 16'b1111_1111_1110_1010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hda}; 16'b1111_1111_1110_1011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'he1}; 16'b1111_1111_1110_1100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'he2}; 16'b1111_1111_1110_1101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'he3}; 16'b1111_1111_1110_1110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'he4}; 16'b1111_1111_1110_1111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'he5}; 16'b1111_1111_1111_0000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'he6}; 16'b1111_1111_1111_0001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'he7}; 16'b1111_1111_1111_0010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'he8}; 16'b1111_1111_1111_0011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'he9}; 16'b1111_1111_1111_0100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hea}; 16'b1111_1111_001?_????: jpeg_ac_luminance_huffman_dec = {4'ha, 8'hf0}; // ZRL 16'b1111_1111_1111_0101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hf1}; 16'b1111_1111_1111_0110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hf2}; 16'b1111_1111_1111_0111: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hf3}; 16'b1111_1111_1111_1000: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hf4}; 16'b1111_1111_1111_1001: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hf5}; 16'b1111_1111_1111_1010: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hf6}; 16'b1111_1111_1111_1011: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hf7}; 16'b1111_1111_1111_1100: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hf8}; 16'b1111_1111_1111_1101: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hf9}; 16'b1111_1111_1111_1110: jpeg_ac_luminance_huffman_dec = {4'hf, 8'hfa}; endcaseendendfunction // jpeg_ac_luminance_huffman_dec
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -