Beruflich Dokumente
Kultur Dokumente
Codul in Verilog:
module lab3a(SlagA,SlagB,Cin,SummaOut,Cout);
input SlagA,SlagB;
input Cin;
output SummaOut;
output Cout;
endmodule
testare:
module lab3a_TB();
parameter wordlength = 1;
reg [wordlength-1:0] A;
reg [wordlength-1:0] B;
reg Cin;
wire Cout;
lab3a DUT(A,B,Cin,Sout,Cout);
initial
begin
A,B,Cin,Sout,Cout,AB);
end
always
begin
#10;
A=$random;
B=$random;
Cin=$random;
AB=A+B+Cin;
end
endmodule
Screenshots:
Codul in verilog:
input Cin;
output Cout;
endmodule
testare:
module lab3b_TB();
parameter wordlength = 4;
reg [wordlength-1:0] A;
reg [wordlength-1:0] B;
reg Cin;
wire Cout;
lab3b DUT(A,B,Cin,Sout,Cout);
initial
begin
A,B,Cin,Sout,Cout,AB);
end
always
begin
#10;
A=$random;
B=$random;
Cin=$random;
AB=A+B+Cin;
end
endmodule
Screenshots:
Codul in Verilog:
module lab3c(A,B,Cin,C,P,G);
parameter wordlength = 4;
assign P[0]=0;
assign G[0]=0;
assign P[1]=A[1]^B[1];
assign G[1]=A[1]&B[1];
assign P[2]=A[1]^B[1];
assign G[2]=A[1]&B[1];
assign P[3]=A[1]^B[1];
assign G[3]=A[1]&B[1];
assign P[4]=A[1]^B[1];
assign G[4]=A[1]&B[1];
input Cin;
output Cout;
endmodule
endmodule
Testare:
module lab3c_TB();
parameter wordlength = 4;
reg [wordlength-1:0] A;
reg [wordlength-1:0] B;
reg Cin;
wire Cout;
lab3c DUT(A,B,Cin,Sout,Cout);
initial
begin
A,B,Cin,Sout,Cout,AB);
end
always
begin
#10;
A=$random;
B=$random;
Cin=$random;
AB=A+B+Cin;
end
endmodule
Screenshots: