2011年11月21日 星期一

11/21 硬體描述語言 8bits Adder











endmodule
module adder (Cout, Sum, A, B, Cin);
output Cout, Sum;
input A, B, Cin;
and dog1 (ab_n, A, B);
xor dog2 (ab1_n, A, B);
and dog3 (xo, ab1_n, Cin);
xor dog4 (Sum, ab1_n, Cin);
or  dog5 (Cout, ab_n, xo);
endmodule

module adder8(Cout, Sum, A, B, Cin);
output Cout;
output [7:0]Sum;
input [7:0]A, B ;
input Cin;
adder4 dog1(Cat, Sum[3:0], A[3:0], B[3:0] ,Cin);
adder4 dog2(Cout, Sum[7:4], A[7:4], B[7:4], Cat);
endmodule


module adder4(Cout, Sum, A, B, Cin);
output Cout;
output [3:0]Sum;
input [3:0]A, B ;
input Cin;
adder2 dog1(Cat, Sum[1:0], A[1:0], B[1:0] ,Cin);
adder2 dog2(Cout, Sum[3:2], A[3:2], B[3:2], Cat);
endmodule
module adder2(Cout, Sum, A, B, Cin);
output Cout;
output [1:0]Sum;
input [1:0]A, B ;
input Cin;
adder dog1(Cat, Sum[0], A[0], B[0] ,Cin);
adder dog2(Cout, Sum[1], A[1], B[1], Cat);
endmodule

沒有留言:

張貼留言