Upload
madigani-prasannakumar
View
215
Download
0
Embed Size (px)
Citation preview
7/26/2019 Module Dct
1/2
module dct1(sel,y);
input [2:0]sel;
output reg [15:0]y;
wire [15:0]y0,y1,y2,y3,y4,y5,y6,y;
wire [:0]p0,p1,p2,p3,p10,p11,p100,m0,m1,m2,m3,m10,m11,m100; wire [15:0]n0,n1,n2,n3,!0,!1,!2,!3;
wire [:0]"0,"1,"2,"3,"4,"5,"6,";
## pre decl$red
p$r$meter c1%&'11111011;
p$r$meter c2%&'11101100;
p$r$meter c3%&'11010100;
p$r$meter c4%&'10110101;
p$r$meter c5%&'10001110;p$r$meter c6%&'01100001;
p$r$meter c%&'00110001;
## pre decl$red
$ssign "0%&'10110;
$ssign "1%&'1001;
$ssign "2%&'101;
$ssign "3%&'1111;
$ssign "4%&'1011;
$ssign "5%&'10;
$ssign "6%&'100;
$ssign "%&'10010;
##utter *ly +t$ges
##st$ge1
ly1 s11("0,",p0,m0);
ly1 s12("3,"4,p1,m1);
ly1 s13("1,"6,p2,m2);
ly1 s14("2,"5,p3,m3);
##st$ge2
ly2 s21(m0,m1,c1,c,n0,!0);
ly2 s22(m2,m3,c3,c5,n1,!1);
ly2 s23(m0,m1,c5,c3,n2,!2);
ly2 s24(m2,m3,c,c1,n3,!3);
ly1 s15(p0,p1,p10,m10);
ly1 s16(p2,p3,p11,m11);##st$ge3
7/26/2019 Module Dct
2/2
ly2 s31(m10,m11,c2,c6,y2,y6);
ly1 s32(p10,p11,p100,m100);
$ssign y1%n0-n1;
$ssign y%!0-(.!1-1);$ssign y5%n2-(.!3-1);
$ssign y3%!2-(.n3-1);
$ssign y0%p100/c4;
$ssign y4%m100/c4;
$lw$ys(sel)c$se(sel)
0:egin y%y0; end
1:egin y%y1; end
2:egin y%y2; end
3:egin y%y3; end
4:egin y%y4; end
5:egin y%y5; end
6:egin y%y6; end
:egin y%y; end
endc$se
endmodule
module ly1(",y,p,m);
input [:0]",y;
output[:0]p,m;
$ssign p%"-y;
$ssign m%"-(.y-1);
endmodule
module ly2(",y,c",cy,s",sy);
input [:0]",y,c",cy;
output [15:0]s",sy;
$ssign s"%("/c")-(y/cy);
$ssign sy%("/cy)-(.(y/c")-1);
endmodule