joi, 18 aprilie 2013
module sumator_complet_1bit (Cout, out, A, B, Cin);
input A, B, Cin;
output Cout, out;
assign {Cout, out} = A + B + Cin;
endmodule
module teste_sumator_complet_1bit;
reg A, B, Cin;
wire Cout, out;
initial
begin
A = 0; B = 0; Cin = 0;
#10 A = 0; B = 0; Cin = 0;
#10 A = 0; B = 0; Cin = 1;
#10 A = 0; B = 1; Cin = 0;
#10 A = 0; B = 1; Cin = 1;
#10 A = 1; B = 0; Cin = 0;
#10 A = 1; B = 0; Cin = 1;
#10 A = 1; B = 1; Cin = 0;
#10 A = 1; B = 1; Cin = 1;
end
sumator_complet_1bit instanta(Cout, out, A, B, Cin);
endmodule
----------------------------sumator 4 biti-----------------
module sumator_4biti(Cout, out, A, B, Cin);
input[3:0] A, B;
input Cin;
output[3:0] out;
output Cout;
reg[3:0] out;
reg Cout;
always @(A or B or Cin)
//{Cout, out} <= A + B +Cin;
if(A + B + Cin <= 15)
begin
out <= A + B + Cin;
Cout <= 0;
end
else
begin
out <= A + B + Cin;
Cout <= 1;
end
endmodule
module test_sumator_4biti;
reg[3:0] A, B;
reg Cin;
wire[3:0] out;
wire Cout;
initial
begin
A = 0; B = 0; Cin = 0;
#10 A = 0; B = 0; Cin = 0;
#10 A = 1; B = 0; Cin = 0;
#10 A = 1; B = 1; Cin = 0;
#10 A = 1; B = 1; Cin = 1;
#10 A = 3; B = 3; Cin = 0;
#10 A = 3; B = 3; Cin = 1;
#10 A = 14; B = 1; Cin = 0;
#10 A = 14; B = 1; Cin = 1;
#10 A = 15; B = 15; Cin = 0;
#10 A = 15; B = 15; Cin = 1;
end
sumator_4biti instanta(Cout, out, A, B, Cin);
endmodule
Abonați-vă la:
Postare comentarii (Atom)
Niciun comentariu:
Trimiteți un comentariu