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

📄 dct_1d_8b.v.bak

📁 8x8DCT verilog code 一次輸入8個點
💻 BAK
字号:
module DCT_1d_8b(		F0,F1,F2,F3,F4,F5,F6,F7,		d0,d1,d2,d3,d4,d5,d6,d7,		S0,S1,S2,S3,S4,S5,S6,S7,		show0,show1,show2,show3		);	parameter n = 8;	input [n-1:0] d0,d1,d2,d3,d4,d5,d6,d7;	wire [n-1:0] d0,d1,d2,d3,d4,d5,d6,d7;	wire [3:0] a,b,c,d,e,f,g;	output [n+4:0] F0,F1,F2,F3,F4,F5,F6,F7;	output signed [n+1:0] S0,S1,S2,S3,S4,S5,S6,S7;//	output [n-1:0] S0,S1,S2,S3,S4,S5,S6,S7;		output [n+1:0] show0,show1,show2,show3;	assign a=4'b1011;	assign b=4'b1111;	assign c=4'b1110;	assign d=4'b1101;	assign e=4'b1000;	assign f=4'b0110;	assign g=4'b0011;//	assign S0	=	{d0[n-1],d0} + {d7[n-1],d7};//	assign S1	=	{d1[n-1],d1} + {d6[n-1],d6};//	assign S2	=	{d2[n-1],d3} + {d5[n-1],d5};//	assign S3	=	{d3[n-1],d3} + {d4[n-1],d4};//	assign S4	=	{d0[n-1],d0} - {d7[n-1],d7};//	assign S5	=	{d1[n-1],d1} - {d6[n-1],d6};//	assign S6	=	{d2[n-1],d2} - {d5[n-1],d5};//	assign S7	=	{d3[n-1],d3} - {d7[n-1],d7};	assign S0	=	d0 + d7;	assign S1	=	d1 + d6;	assign S2	=	d2 + d5;	assign S3	=	d3 + d4;	assign S4	=	d0 - d7;	assign S5	=	d1 - d6;	assign S6	=	d2 - d5;	assign S7	=	d3 - d4;		// ------------//	assign show0 = dxs4_r;//	assign show1 = gxs5_r;//	assign show2 = bxs6_r;//	assign show3 = exs7_r;	//-------------//a a  a  a s0 F0//c f -f -c s1 F2//a -a -a a s2 F4//f -c c -f s3 F6 // ------------------------- * F0 *	wire [n+1:0]axs0_r,axs1_r,axs2_r,axs3_r;	B4DM B4DM0(.A(S0),.B(a),.S(axs0_r));	B4DM B4DM1(.A(S1),.B(a),.S(axs1_r));	B4DM B4DM2(.A(S2),.B(a),.S(axs2_r));	B4DM B4DM3(.A(S3),.B(a),.S(axs3_r));	//assign F0 = axs0_r + axs1_r + axs2_r + axs3_r;		assign F0 = {{3{axs0_r[n+1]}}, axs0_r} + {{3{axs1_r[n+1]}}, axs1_r} + {{3{axs2_r[n+1]}}, axs2_r} + {{3{axs3_r[n+1]}}, axs3_r};// ------------------------- * F2 *	wire [n+1:0]cxs0_r,fxs1_r,fxs2_r,cxs3_r;	B4DM B4DM4(.A(S0),.B(c),.S(cxs0_r));	B4DM B4DM5(.A(S1),.B(f),.S(fxs1_r));	B4DM B4DM6(.A(S2),.B(f),.S(fxs2_r));	B4DM B4DM7(.A(S3),.B(c),.S(cxs3_r));	assign F2 = {{3{cxs0_r[n+1]}}, cxs0_r} + {{3{fxs1_r[n+1]}}, fxs1_r} - {{3{fxs2_r[n+1]}}, fxs2_r} - {{3{cxs3_r[n+1]}}, cxs3_r};// ------------------------- * F4 *	assign F4 = {{3{axs0_r[n+1]}}, axs0_r} - {{3{axs1_r[n+1]}}, axs1_r} - {{3{axs2_r[n+1]}}, axs2_r} + {{3{axs3_r[n+1]}}, axs3_r};// ------------------------- * F6 *	wire [n+1:0]fxs0_r,cxs1_r,cxs2_r,fxs3_r;	B4DM B4DM8(.A(S0),.B(f),.S(fxs0_r));	B4DM B4DM9(.A(S1),.B(c),.S(cxs1_r));	B4DM B4DM10(.A(S2),.B(c),.S(cxs2_r));	B4DM B4DM11(.A(S3),.B(f),.S(fxs3_r));	assign F6 = {{3{fxs0_r[n+1]}}, fxs0_r} - {{3{cxs1_r[n+1]}}, cxs1_r} + {{3{cxs2_r[n+1]}}, cxs2_r} - {{3{fxs3_r[n+1]}}, fxs3_r};//b  d  e  g s4 F1//d -g -b -e s6 F3//e -b -g  d s6 F5//g -e  d -b s7 F7 // ------------------------- * F1 *	wire [n+1:0]bxs4_r,dxs5_r,exs6_r,gxs7_r;		B4DM B4DM12(.A(S4),.B(b),.S(bxs4_r));	B4DM B4DM13(.A(S5),.B(d),.S(dxs5_r));	B4DM B4DM14(.A(S6),.B(e),.S(exs6_r));	B4DM B4DM15(.A(S7),.B(g),.S(gxs7_r));	assign F1 = {{3{bxs4_r[n+1]}}, bxs4_r} + {{3{dxs5_r[n+1]}}, dxs5_r} + {{3{exs6_r[n+1]}}, exs6_r} + {{3{gxs7_r[n+1]}}, gxs7_r};			// ------------------------- * F3 *		wire [n+1:0]dxs4_r,gxs5_r,bxs6_r,exs7_r;	B4DM B4DM16(.A(S4),.B(d),.S(dxs4_r));	B4DM B4DM17(.A(S5),.B(g),.S(gxs5_r));	B4DM B4DM18(.A(S6),.B(b),.S(bxs6_r));	B4DM B4DM19(.A(S7),.B(e),.S(exs7_r));		assign F3 = {{3{dxs4_r[n+1]}}, dxs4_r} - {{3{gxs5_r[n+1]}}, gxs5_r} - {{3{bxs6_r[n+1]}}, bxs6_r} - {{3{exs7_r[n+1]}}, exs7_r};	// ------------------------- * F5 *	wire [n+1:0]exs4_r,bxs5_r,gxs6_r,dxs7_r;			B4DM B4DM20(.A(S4),.B(e),.S(exs4_r));	B4DM B4DM21(.A(S5),.B(b),.S(bxs5_r));	B4DM B4DM22(.A(S6),.B(g),.S(gxs6_r));	B4DM B4DM23(.A(S7),.B(d),.S(dxs7_r));		assign F5 = {{3{exs4_r[n+1]}}, exs4_r} - {{3{bxs5_r[n+1]}}, bxs5_r} + {{3{gxs6_r[n+1]}}, gxs6_r} + {{3{dxs7_r[n+1]}}, dxs7_r};			// ------------------------- * F7 *		wire [n+1:0]gxs4_r,exs5_r,dxs6_r,bxs7_r;			B4DM B4DM24(.A(S4),.B(g),.S(gxs4_r));	B4DM B4DM25(.A(S5),.B(e),.S(exs5_r));	B4DM B4DM26(.A(S6),.B(d),.S(dxs6_r));	B4DM B4DM27(.A(S7),.B(b),.S(bxs7_r));			assign F7 = {{3{gxs4_r[n+1]}}, gxs4_r} - {{3{exs5_r[n+1]}}, exs5_r} + {{3{dxs6_r[n+1]}}, dxs6_r} - {{3{bxs7_r[n+1]}}, bxs7_r};	
endmodule

⌨️ 快捷键说明

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