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

Niciun comentariu:

Trimiteți un comentariu