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

📄 dcdiff_htable.v

📁 完整的jpeg encoder verilog code,DCT部分採用1991 IEEE transection paper,利用skew circular convolution來實現精簡電路
💻 V
字号:
`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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -