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

📄 huffman_tables.v

📁 基于FPGA的JPEG图像压缩芯片设计
💻 V
📖 第 1 页 / 共 5 页
字号:
/*  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 + -