亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? huffman_en_full.v

?? A Huffman implementation reference design in both VHDL and Verilog is provided by the Xilinx
?? V
?? 第 1 頁 / 共 3 頁
字號:
/**********************************************************************/ 
//scale factor --- how many bits ?
`timescale 1ns/1ps

module huffman_en   (CLK, RST, rdy_in, rl_in, dc_in, scan_type, luma,
                   huffman_out, eob, rdy_out);

output [15:0] huffman_out;     
output rdy_out;
input CLK, RST, eob;
input [11:0] dc_in;
input rdy_in,  luma;               
input scan_type;           /* used to choose b/n intra(0) & non-intra(1) 
                                   blocks */
input[17:0] rl_in;   /* run[5:0] + value[11:0] */
/* signals */

reg[6:0] cntr64;   
reg  rdy_out,cl_sum_rdy;
reg[3:0] size/* synthesis syn_romstyle = "select_rom" */;
reg[5:0] cl_sum, cl_sum_prev;
reg[15:0] huffman_out;
reg[3:0] codelength_dc  /* synthesis syn_romstyle = "block_rom" */; 
reg[4:0] codelength_ac,codelength1,codelength2;  
reg[4:0] codelength_ac1;
reg[9:0] vlcode_dc  /* synthesis syn_romstyle = "block_rom" */;
reg[17:0] vlcode1, vlcode2,vlcode3,vlcode4;
reg[17:0] vlcode_ac1,vlcode_ac;
reg[38:0] cl_sum_shift;
reg full_flag1,half_flag1,half_flag2,full_flag2,half_flag3,full_flag3;
reg full_flag4,half_flag4,full_flag5,full_flag6,half_flag5;
reg[38:0] mult_out;
reg[16:1] upper_reg1,middle_reg1,lower_reg1;
reg[16:1] upper_reg2, middle_reg2, middle_reg3;
/*****************************************************************************/

/* Find the size for the "Differential_DC" value. The differential_dc_size gives the number of 
bits to be used to denote the DC_difference value. ram_dc_diff . Table 1 in document*/

always @ (posedge CLK)
    begin
	   casex (dc_in) 
         12'b111111111111 :  size = 4'd1;    
         12'b11111111110x :   size = 4'd2;     
         12'b1111111110xx :   size = 4'd3;     
         12'b111111110xxx :   size = 4'd4;     
         12'b11111110xxxx :   size = 4'd5;     
         12'b1111110xxxxx :   size = 4'd6;     
         12'b111110xxxxxx :   size = 4'd7;     
         12'b11110xxxxxxx :   size = 4'd8;     
         12'b1110xxxxxxxx :   size = 4'd9;     
         12'b110xxxxxxxxx :   size = 4'd10;     
         12'b10xxxxxxxxxx :   size = 4'd11;     
         12'b000000000000 :   size = 4'd0;     
         12'b000000000001 :   size = 4'd1;     
         12'b00000000001x :   size = 4'd2;     
         12'b0000000001xx :   size = 4'd3;     
         12'b000000001xxx :   size = 4'd4;     
         12'b00000001xxxx :   size = 4'd5;     
         12'b0000001xxxxx :   size = 4'd6;     
         12'b000001xxxxxx :   size = 4'd7;     
         12'b00001xxxxxxx :   size = 4'd8;     
         12'b0001xxxxxxxx :   size = 4'd9;     
         12'b001xxxxxxxxx :   size = 4'd10;   
         12'b01xxxxxxxxxx :  size = 4'd11; 
		 default: size = 4'd0;
         endcase
     end

/*****************************************************************************/
/* variable length code and the corresponding code length for DC_Differential */
/* After finding the size of the DC_Differential, the variable length code used to denote it is found. 
For example, if the size is 10, 10 bits are used to denote the dc_differential value and a variable 
length code prefix of "111111110" is used along with the 10 bit value. */

/* luma = 1'b1 denotes a luminance block and lume = 1'b0 denotes a chrominance block */

always @ (posedge CLK)
   begin
   if (RST)
       begin
       vlcode_dc <= 10'b0; codelength_dc <= 4'd0;  
       end
  else if (cntr64 == 1'b1)
    begin
    case (luma)
     1'b1: begin
	   case (size) //ram_dc_size1
       4'd0 : begin vlcode_dc <= 10'b0000000100; codelength_dc <= 4'd3; end   
       4'd1 : begin vlcode_dc <= 10'b0000000000; codelength_dc <= 4'd2; end   
       4'd2 : begin vlcode_dc <= 10'b0000000001; codelength_dc <= 4'd2; end   
       4'd3 : begin vlcode_dc <= 10'b0000000101; codelength_dc <= 4'd3; end   
       4'd4 : begin vlcode_dc <= 10'b0000000110; codelength_dc <= 4'd3; end   
       4'd5 : begin vlcode_dc <= 10'b0000001110; codelength_dc <= 4'd4; end   
       4'd6 : begin vlcode_dc <= 10'b0000011110; codelength_dc <= 4'd5; end   
       4'd7 : begin vlcode_dc <= 10'b0000111110; codelength_dc <= 4'd6; end   
       4'd8 : begin vlcode_dc <= 10'b0001111110; codelength_dc <= 4'd7; end   
       4'd9 : begin vlcode_dc <= 10'b0011111110; codelength_dc <= 4'd8; end   
       4'd10 : begin vlcode_dc <= 10'b0111111110; codelength_dc <= 4'd9; end   
       4'd11 : begin vlcode_dc <= 10'b0111111111; codelength_dc <= 4'd9; end 
  	   default: begin vlcode_dc <= 10'b0; codelength_dc <= 4'd0; end
       endcase
       end
	 //always @(size)
     1'b0: begin
	   case (size) //ram_dc_size2
       4'd0 : begin vlcode_dc <= 10'b0000000000; codelength_dc <= 4'd2; end   
       4'd1 : begin vlcode_dc <= 10'b0000000001; codelength_dc <= 4'd2; end   
       4'd2 : begin vlcode_dc <= 10'b0000000010; codelength_dc <= 4'd2; end   
       4'd3 : begin vlcode_dc <= 10'b0000000110; codelength_dc <= 4'd3; end   
       4'd4 : begin vlcode_dc <= 10'b0000001110; codelength_dc <= 4'd4; end   
       4'd5 : begin vlcode_dc <= 10'b0000011110; codelength_dc <= 4'd5; end   
       4'd6 : begin vlcode_dc <= 10'b0000111110; codelength_dc <= 4'd6; end   
       4'd7 : begin vlcode_dc <= 10'b0001111110; codelength_dc <= 4'd7; end   
       4'd8 : begin vlcode_dc <= 10'b0011111110; codelength_dc <= 4'd8; end   
       4'd9 : begin vlcode_dc <= 10'b0111111110; codelength_dc <= 4'd9; end   
       4'd10 : begin vlcode_dc <= 10'b1111111110; codelength_dc <= 4'd10; end   
       4'd11 : begin vlcode_dc <= 10'b1111111111; codelength_dc <= 4'd10; end   
       default: begin vlcode_dc <= 10'b0; codelength_dc <= 4'd0; end

       endcase
       end 
	 endcase
     end
end

/*****************************************************************************/
/* variable length code and corresponding code length for AC coefficients.
   Table zero is used for intra blocks anf table one is used for non-intra     
   blocks.  For a run/level pair not defined in table zero or one, an escape
   code followed by a 6 bit run symbol and 12 bit level is used.*/
//assign run_level_pair <= {run_in,level_in};

/*always @ (posedge CLK)
begin
  if (RST)
     begin vlcode_ac1 <= {18'b0}; codelength_ac1 <= 5'd0; end
  else
begin if (rdy_in == 1'b1)
begin
case(rl_in) 
		18'b000000000000000001: 
		   begin  vlcode_ac1 <= {17'b00000000000001010,rl_in[11]}; codelength_ac1 <= 5'd5; end
		18'b000000000000000101: 
		   begin  vlcode_ac1 <= {17'b00000000000000111,rl_in[11]}; codelength_ac1 <= 5'd4; end
		18'b000000000000001010: 
		   begin  vlcode_ac1 <= {17'b00000000000001110,rl_in[11]}; codelength_ac1 <= 5'd5; end
		18'b000001000000000101: 
		   begin  vlcode_ac1 <= {18'b111100001111001101}; codelength_ac1 <= 5'd18; end
		18'b000011000000000111: 
		   begin  vlcode_ac1 <= {17'b00000000000010111,rl_in[11]}; codelength_ac1 <= 5'd6; end
	  18'b000111000000001001: 
		   begin  vlcode_ac1 <= {17'b00000000000000000,rl_in[11]}; codelength_ac1 <= 5'd5; end
	  18'b010000000000010000: 
		   begin  vlcode_ac1 <= {17'b10000000000010110,rl_in[11]}; codelength_ac1 <= 5'd7; end
	  18'b010101000000001001: 
		   begin  vlcode_ac1 <= {17'b00000000000010110,rl_in[11]}; codelength_ac1 <= 5'd7; end
    default: 
		   begin  vlcode_ac1 <= {18'b111111111111111111}; codelength_ac1 <= 5'd18; end
endcase
end
end
end*/

/*****************************************************************************/

always @ (posedge CLK)
  if (RST)
     begin vlcode_ac1 <= {18'b0}; codelength_ac1 <= 5'd0; end
  else
begin
	 if (eob == 1'b1 && scan_type == 1'b1)
		begin  vlcode_ac1 <= 000000000000000010; codelength_ac1 <= 5'd2; end // NOTE 2
	 else if (eob == 1'b1 && scan_type == 1'b0)
		begin  vlcode_ac1 <= 000000000000000110; codelength_ac1 <= 5'd4; end // NOTE 2
   else if (cntr64 == 7'b0000001 && ({rl_in[17:12],rl_in[10:0]}) == 17'b00000000000000001) 
     begin vlcode_ac1 <= {17'b00000000000000001,rl_in[11]}; 
           codelength_ac1 <= 5'd2; end // note3, DC coeff 
   else 
    begin

	/******************** scan type = x, run = x, level = 1 ********/

    casex ({scan_type,rl_in[17:12],rl_in[10:0]})//(check)

    {1'bx,6'bx,11'b00000000001}: // level = 1
	    begin
        case({rl_in[17:12]}) //run
		6'b010001: //17
		   begin  vlcode_ac1 <= {17'b00000000000011111,rl_in[11]}; codelength_ac1 <= 5'd13; end
		6'b010010: //18
		   begin  vlcode_ac1 <= {17'b00000000000011010,rl_in[11]}; codelength_ac1 <= 5'd13; end
		6'b010011: //19
		   begin  vlcode_ac1 <= {17'b00000000000011001,rl_in[11]}; codelength_ac1 <= 5'd13; end
		6'b010100: //20
		   begin  vlcode_ac1 <= {17'b00000000000010111,rl_in[11]}; codelength_ac1 <= 5'd13; end
		6'b010101: //21
		   begin  vlcode_ac1 <= {17'b00000000000010110,rl_in[11]}; codelength_ac1 <= 5'd13; end
		6'b010110: //22
		   begin  vlcode_ac1 <= {17'b00000000000011111,rl_in[11]}; codelength_ac1 <= 5'd14; end
		6'b010111: //23
		   begin  vlcode_ac1 <= {17'b00000000000011110,rl_in[11]}; codelength_ac1 <= 5'd14; end
		6'b011000: //24
		   begin  vlcode_ac1 <= {17'b00000000000011101,rl_in[11]}; codelength_ac1 <= 5'd14; end
		6'b011001: //25
		   begin  vlcode_ac1 <= {17'b00000000000011100,rl_in[11]}; codelength_ac1 <= 5'd14; end
		6'b011010: //26
		   begin  vlcode_ac1 <= {17'b00000000000011011,rl_in[11]}; codelength_ac1 <= 5'd14; end
		6'b011011: //27
		   begin  vlcode_ac1 <= {17'b00000000000011111,rl_in[11]}; codelength_ac1 <= 5'd17; end
		6'b011100: //28
		   begin  vlcode_ac1 <= {17'b00000000000011110,rl_in[11]}; codelength_ac1 <= 5'd17; end
		6'b011101: //29
		   begin  vlcode_ac1 <= {17'b00000000000011101,rl_in[11]}; codelength_ac1 <= 5'd17; end
		6'b011110: //30
		   begin  vlcode_ac1 <= {17'b00000000000011100,rl_in[11]}; codelength_ac1 <= 5'd17; end
		6'b011111: //31
		   begin  vlcode_ac1 <= {17'b00000000000011011,rl_in[11]}; codelength_ac1 <= 5'd17; end
        endcase
		end
/******************** scan type = x, run = x, level = 2 ********/
    {1'bx,6'bx,11'b00000000010}: //level = 2
	    begin
        case({rl_in[17:12]}) //(run)
		6'b000110: //6
		   begin  vlcode_ac1 <= {17'b00000000000011110,rl_in[11]}; codelength_ac1 <= 5'd13; end
		6'b000111: //7
		   begin  vlcode_ac1 <= {17'b00000000000010101,rl_in[11]}; codelength_ac1 <= 5'd13; end
		6'b001000: //8
		   begin  vlcode_ac1 <= {17'b00000000000010001,rl_in[11]}; codelength_ac1 <= 5'd13; end
		6'b001001: //9
		   begin  vlcode_ac1 <= {17'b00000000000010001,rl_in[11]}; codelength_ac1 <= 5'd14; end
		6'b001010: //10
		   begin  vlcode_ac1 <= {17'b00000000000010000,rl_in[11]}; codelength_ac1 <= 5'd14; end
		6'b001011: //11
		   begin  vlcode_ac1 <= {17'b00000000000011010,rl_in[11]}; codelength_ac1 <= 5'd17; end
		6'b001100: //12
		   begin  vlcode_ac1 <= {17'b00000000000011001,rl_in[11]}; codelength_ac1 <= 5'd17; end
		6'b001101: //13
		   begin  vlcode_ac1 <= {17'b00000000000011000,rl_in[11]}; codelength_ac1 <= 5'd17; end
		6'b001110: //14
		   begin  vlcode_ac1 <= {17'b00000000000010111,rl_in[11]}; codelength_ac1 <= 5'd17; end
		6'b001111: //15
		   begin  vlcode_ac1 <= {17'b00000000000010110,rl_in[11]}; codelength_ac1 <= 5'd17; end
		6'b010000: //16
		   begin  vlcode_ac1 <= {17'b00000000000010101,rl_in[11]}; codelength_ac1 <= 5'd17; end
        endcase
		end		
	/******************** scan type = x, run = x, level = 3 ********/
    {1'bx,6'bx,11'b00000000011}: //level = 3
	    begin
        case ({rl_in[17:12]}) //(run)
		6'b000011: //3
		   begin  vlcode_ac1 <= {17'b00000000000011100,rl_in[11]}; codelength_ac1 <= 5'd13; end
		6'b000100: //4
		   begin  vlcode_ac1 <= {17'b00000000000010010,rl_in[11]}; codelength_ac1 <= 5'd13; end
		6'b000101: //5
		   begin  vlcode_ac1 <= {17'b00000000000010010,rl_in[11]}; codelength_ac1 <= 5'd14; end
		6'b000110: //6
		   begin  vlcode_ac1 <= {17'b00000000000010100,rl_in[11]}; codelength_ac1 <= 5'd17; end
        endcase
		end
	/******************** scan type = x, run = 0, level = x ********/
    {1'bx,6'b000000,11'bx}: //run = 0
	    begin
        case ({1'b0,rl_in[10:0]}) //(level)
		12'b000000010000: //16
		   begin  vlcode_ac1 <= {17'b00000000000011111,rl_in[11]}; codelength_ac1 <= 5'd15; end
		12'b000000010001: //17
		   begin  vlcode_ac1 <= {17'b00000000000011110,rl_in[11]}; codelength_ac1 <= 5'd15; end		
		12'b000000010010: //18
		   begin  vlcode_ac1 <= {17'b00000000000011101,rl_in[11]}; codelength_ac1 <= 5'd15; end		
		12'b000000010011: //19
		   begin  vlcode_ac1 <= {17'b00000000000011100,rl_in[11]}; codelength_ac1 <= 5'd15; end
		12'b000000010100: //20
		   begin  vlcode_ac1 <= {17'b00000000000011011,rl_in[11]}; codelength_ac1 <= 5'd15; end
		12'b000000010101: //21
		   begin  vlcode_ac1 <= {17'b00000000000011010,rl_in[11]}; codelength_ac1 <= 5'd15; end
		12'b000000010110: //22
		   begin  vlcode_ac1 <= {17'b00000000000011001,rl_in[11]}; codelength_ac1 <= 5'd15; end
		12'b000000010111: //23
		   begin  vlcode_ac1 <= {17'b00000000000011000,rl_in[11]}; codelength_ac1 <= 5'd15; end
		12'b000000011000: //24
		   begin  vlcode_ac1 <= {17'b00000000000010111,rl_in[11]}; codelength_ac1 <= 5'd15; end
		12'b000000011001: //25
		   begin  vlcode_ac1 <= {17'b00000000000010110,rl_in[11]}; codelength_ac1 <= 5'd15; end
		12'b000000011010: //26
		   begin  vlcode_ac1 <= {17'b00000000000010101,rl_in[11]}; codelength_ac1 <= 5'd15; end
		12'b000000011011: //27
		   begin  vlcode_ac1 <= {17'b00000000000010100,rl_in[11]}; codelength_ac1 <= 5'd15; end		
		12'b000000011100: //28
		   begin  vlcode_ac1 <= {17'b00000000000010011,rl_in[11]}; codelength_ac1 <= 5'd15; end		
		12'b000000011101: //29
		   begin  vlcode_ac1 <= {17'b00000000000010010,rl_in[11]}; codelength_ac1 <= 5'd15; end
		12'b000000011110: //30
		   begin  vlcode_ac1 <= {17'b00000000000010001,rl_in[11]}; codelength_ac1 <= 5'd15; end
		12'b000000011111: //31
		   begin  vlcode_ac1 <= {17'b00000000000010000,rl_in[11]}; codelength_ac1 <= 5'd15; end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品在线观看入口| 国产亚洲精品福利| 国产在线精品一区二区夜色| 欧美一级淫片007| 不卡的av电影| 国产美女av一区二区三区| 亚洲高清在线视频| 亚洲人xxxx| 欧美国产日本韩| 久久综合九色综合欧美98| 欧美一区二区大片| 欧美另类高清zo欧美| 91免费视频网| 成人18精品视频| 国产99精品国产| 国产91色综合久久免费分享| 奇米影视7777精品一区二区| 亚洲超碰97人人做人人爱| 亚洲欧美另类小说| 综合久久久久久| 亚洲免费视频中文字幕| 欧美人狂配大交3d怪物一区| 欧美在线观看视频一区二区| 韩国v欧美v亚洲v日本v| 亚瑟在线精品视频| 午夜激情久久久| 日韩精品欧美精品| 久久精品久久久精品美女| 免费观看一级特黄欧美大片| 久久黄色级2电影| 国产综合久久久久影院| 国产一区二区三区在线观看免费 | eeuss鲁片一区二区三区在线观看| 日日摸夜夜添夜夜添精品视频| 午夜欧美在线一二页| 午夜精彩视频在线观看不卡| 日韩一区精品视频| 国内偷窥港台综合视频在线播放| 日本欧洲一区二区| 蜜桃久久av一区| 床上的激情91.| 91视频免费看| 欧美另类久久久品| 精品91自产拍在线观看一区| 久久久影视传媒| 国产精品女同互慰在线看| 亚洲已满18点击进入久久| 三级精品在线观看| 国产91在线观看| 欧美午夜精品久久久久久超碰| 欧美一区在线视频| 国产精品青草综合久久久久99| 一二三区精品视频| 九一久久久久久| 欧美在线免费观看亚洲| 91精品视频网| 亚洲欧洲成人精品av97| 视频一区欧美精品| caoporen国产精品视频| 欧美日韩中文精品| 国产欧美日韩不卡| 亚洲影视在线观看| 国产精品一卡二| 欧美精品日韩综合在线| 国产精品久久久久久亚洲伦| 天天色综合天天| 91影视在线播放| 精品国一区二区三区| 亚洲大片在线观看| 99视频超级精品| 久久久不卡网国产精品二区| 亚洲一区二区美女| 岛国一区二区在线观看| 7777女厕盗摄久久久| 综合久久久久综合| aa级大片欧美| 日本一区二区三区dvd视频在线 | 国产黑丝在线一区二区三区| 在线综合+亚洲+欧美中文字幕| 亚洲视频免费看| 精品一区在线看| 777久久久精品| 视频在线观看一区二区三区| 欧美最猛黑人xxxxx猛交| 日韩伦理电影网| 91在线观看成人| 亚洲欧洲精品天堂一级| 成人午夜电影网站| 国产精品电影一区二区三区| 成人午夜又粗又硬又大| 欧美高清在线精品一区| 不卡的av中国片| 亚洲免费观看高清在线观看| 成人理论电影网| 亚洲欧美色图小说| 欧美日韩精品三区| 视频一区视频二区在线观看| 欧美一区二区人人喊爽| a美女胸又www黄视频久久| 中文字幕视频一区| 欧美三级日韩三级国产三级| 亚洲香蕉伊在人在线观| 欧美理论电影在线| 一区二区三区免费看视频| 欧美视频精品在线观看| 免费精品99久久国产综合精品| 日韩欧美国产综合在线一区二区三区 | 日韩在线一二三区| 精品国产乱子伦一区| 粉嫩久久99精品久久久久久夜| 日韩理论片在线| 91精品国产免费| 丁香激情综合五月| 午夜亚洲福利老司机| 久久综合久久综合九色| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲r级在线视频| 国产视频一区在线观看| 欧美色综合网站| 国产.欧美.日韩| 亚洲成av人片一区二区三区| 国产女人18水真多18精品一级做| 欧美在线制服丝袜| 国产suv精品一区二区6| 夜夜精品视频一区二区 | 国产中文字幕一区| 亚洲国产成人va在线观看天堂| 精品国产三级电影在线观看| 91麻豆精品视频| 国产一区在线看| 婷婷国产在线综合| 亚洲最快最全在线视频| 国产欧美一区二区三区在线看蜜臀| 欧美日韩国产123区| 欧美一区二区三区色| 成人午夜激情在线| 日韩制服丝袜先锋影音| 一区二区三区欧美视频| 国产精品视频观看| 欧美精品一区二区三区视频| 在线不卡中文字幕| 在线欧美小视频| 99久久综合色| 不卡的电视剧免费网站有什么| 国产资源在线一区| 美女www一区二区| 日韩高清一区二区| 亚洲欧美日韩精品久久久久| 日韩欧美一区二区久久婷婷| 欧美日韩精品一区二区| 欧美综合色免费| 欧美日韩视频一区二区| 欧美系列日韩一区| 欧美色图天堂网| 欧美日韩黄色影视| 精品视频一区三区九区| 欧美日韩中文字幕精品| 欧美日韩精品欧美日韩精品一 | 久久先锋影音av| 久久你懂得1024| 国产精品三级av在线播放| 亚洲日本在线看| 亚洲线精品一区二区三区八戒| 亚洲国产欧美在线| 免费高清在线一区| 精品一区二区免费视频| 国产成人小视频| 91同城在线观看| 欧美精品在线视频| 日韩欧美在线网站| 国产精品乱码久久久久久| 亚洲视频免费观看| 日韩电影免费在线观看网站| 午夜在线电影亚洲一区| 视频在线观看国产精品| 国产一区二区免费在线| 99视频精品在线| 91精品国产高清一区二区三区蜜臀| 一区二区三区免费观看| 美女诱惑一区二区| av中文字幕在线不卡| 日韩欧美一二三| 亚洲人快播电影网| 黑人巨大精品欧美一区| 成人高清伦理免费影院在线观看| 国产一区二区中文字幕| 成人精品gif动图一区| 欧美中文字幕一二三区视频| 91精品国产品国语在线不卡| 欧美一区二区福利视频| 欧美国产亚洲另类动漫| 亚洲一区二区高清| 狠狠色丁香婷婷综合| www.成人在线| 日韩精品一区二区在线观看| 国产精品第五页| 久久99精品一区二区三区| 色老头久久综合| 久久久99免费| 日韩电影在线观看一区|