0
大家好,這是我第一週使用verilog。這裏即時顯示四位加法器的代碼。即時通訊只是想知道爲什麼當我模擬測試臺時,我得到了ZXXX0的輸出?我做錯了什麼嗎? :/我從4位全加器沒有輸出Verilog
module adder(
input a,
input b,
input cin,
output s,
output cout
);
assign s = a^b^cin;
assign out = (a & b) | (cin & a) | (cin & b);
endmodule
module full_adder(p,q,ci,r);
input [3:0] p,q; // four-bit inputs
input ci; // one-input input carry
output [4:0] r; // five-bit outputs
wire [2:0] carry; // internal carry wires
adder fa0(p[0],q[0],ci,r[0],carry[0]);
adder fa1(p[1],q[1],carry[0],r[1],carry[1]);
adder fa2(p[2],q[2],carry[1],r[2],carry[2]);
adder fa3(p[3],q[3],carry[2],r[3],r[4]);
endmodule
module test_bench();
// Inputs
reg [3:0] p;
reg [3:0] q;
reg ci;
// Outputs
wire [4:0] r;
// Instantiate the Unit Under Test (UUT)
full_adder uut (
.p(p),
.q(q),
.ci(ci),
.r(r)
);
initial begin
// Initialize Inputs
p = 0;
q = 0;
ci = 0;
// Wait 100 ns for global reset to finish
#100;
// Add stimulus here
p=4'b0011;
q=4'b0001;
#100 $finish;
end
endmodule
歡迎來到堆棧溢出,我希望你覺得它有幫助,並在可以的時候給予回饋。接受最好的答案以及提供有用的答案是一種很好的做法。 – Morgan