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

📄 csa4.v

📁 完整的jpeg encoder verilog code,DCT部分採用1991 IEEE transection paper,利用skew circular convolution來實現精簡電路
💻 V
字号:
`timescale 1ns/10ps
`define width 13 

module csa4(//input
             a1,a2,a3,a4,

            //output
             sum);
input  [`width-2:0] a1,a2,a3,a4;
output [`width:0] sum;


wire [`width:0] c_tmp;
wire [`width:0] s_tmp;

wire [`width:0] a1m=(a1[`width-2]==1)?{2'b11,a1}:{2'b0,a1};
wire [`width:0] a2m=(a2[`width-2]==1)?{2'b11,a2}:{2'b0,a2};
wire [`width:0] a3m=(a3[`width-2]==1)?{2'b11,a3}:{2'b0,a3};
wire [`width:0] a4m=(a4[`width-2]==1)?{2'b11,a4}:{2'b0,a4};

assign s_tmp=a1m ^ a2m ^ a3m;
assign c_tmp=(a1m & a2m) | (a1m & a3m) | (a2m & a3m);

//
wire [`width:0] c_tmp1={c_tmp,1'b0};
wire [`width:0] s_tmp1={1'b0,s_tmp};
wire [`width:0] a4_tmp=a4m[`width:0];

wire [`width:0] c_tmp2;
wire [`width:0] s_tmp2;

assign s_tmp2= s_tmp1 ^ c_tmp1 ^ a4_tmp;
assign c_tmp2= (s_tmp1 & c_tmp1) | (s_tmp1 & a4_tmp) | (c_tmp1 & a4_tmp);


wire [`width:0] c_tmp3={c_tmp2,1'b0};
wire [`width:0] s_tmp3={1'b0,s_tmp2};
wire [`width:0] sum=c_tmp3+s_tmp3;



endmodule






⌨️ 快捷键说明

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