dcdiff_htable.v

来自「完整的jpeg encoder verilog code,DCT部分採用1991」· Verilog 代码 · 共 146 行

V
146
字号
`timescale 1ns/10ps        
//Luminance Chrominance DC difference Humffman Table

module dcdiff_htable( 
          //input
          size,lumenb,chromenb,
          //output              
          lcode,llength,
          ccode,clength);    
          
input  [3:0] size;
input        lumenb,chromenb;

output [8:0] lcode;
output [3:0] llength;
output [8:0] ccode;   
output [3:0] clength; 

reg [8:0] ccode,lcode;
reg [3:0] clength,llength;

always @(size)
begin
 if (lumenb) begin
  case(size)
  0: begin
            lcode  =9'b0000_0000_0;
            llength=2;
     end
  1: begin
            lcode  =9'b0100_0000_0;
            llength=3;         
     end 
  2: begin
            lcode  =9'b0110_0000_0;    
            llength=3;                         
     end
  3: begin 
            lcode  =9'b1000_0000_0;   
            llength=3;              
     end
  4: begin  
            lcode  =9'b1010_0000_0;
            llength=3;
     end
  5: begin
            lcode  =9'b1100_0000_0; 
            llength=3;            
     end                 
  6: begin  
            lcode  =9'b1110_0000_0;
            llength=4;
     end
  7: begin
            lcode  =9'b1111_0000_0;               
            llength=5;                
     end
  8: begin
            lcode  =9'b1111_1000_0;  
            llength=6;             
     end
  9: begin 
            lcode  =9'b1111_1100_0;   
            llength=7;
     end
 10: begin
            lcode  =9'b1111_1110_0;  
            llength=8;             
     end          
 11: begin
            lcode  =9'b1111_1111_0;  
            llength=9;             
     end
 default: begin
            lcode  =9'b0000_0000_0;   
            llength=0;               
          end
     endcase
  end   
end       

always @(size)
begin
 if (chromenb) begin
  case(size)
  0: begin
            ccode  =9'b0000_0000_0;
            clength=2;
     end
  1: begin
            ccode  =9'b0100_0000_0;
            clength=2;         
     end 
  2: begin
            ccode  =9'b1000_0000_0;    
            clength=2;                        
     end
  3: begin 
            ccode  =9'b1100_0000_0;   
            clength=3;              
     end
  4: begin  
            ccode  =9'b1110_0000_0;
            clength=4;
     end
  5: begin
            ccode  =9'b1100_0000_0; 
            clength=3;            
     end                 
  6: begin  
            ccode  =9'b1110_0000_0;
            clength=4;
     end
  7: begin
            ccode  =9'b1111_0000_0;               
            clength=5;                
     end
  8: begin
            ccode  =9'b1111_1000_0;  
            clength=6;             
     end
  9: begin 
            ccode  =9'b1111_1100_0;   
            clength=7;
     end
 10: begin
            ccode  =9'b1111_1110_0;  
            clength=8;             
     end          
 11: begin
            ccode  =9'b1111_1111_0;  
            clength=9;             
     end
 default: begin
            ccode  =9'b0000_0000_0;   
            clength=0;               
          end
  endcase
 end 
end       




     
endmodule          

⌨️ 快捷键说明

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