我没有从4位全加器Verilog得到任何输出
大家好,这是我与verilog合作的第一周。这里我展示了一个四位加法器的代码。我只是想知道为什么当我模拟测试台时会得到ZXXX0的输出?我做错什么了吗?:/我没有从4位全加器Verilog得到任何输出,verilog,xilinx,hdl,Verilog,Xilinx,Hdl,大家好,这是我与verilog合作的第一周。这里我展示了一个四位加法器的代码。我只是想知道为什么当我模拟测试台时会得到ZXXX0的输出?我做错什么了吗?:/ 您键入了一项作业: assign out = (a & b) | (cin & a) | (cin & b); 应该是(cout): 这就产生了r[4]不被驱动(z)的效果 当z被驱动到cin中时,当它碰到布尔逻辑时,会变成未知(x)值: assign s = a ^ b ^ cin; 工作实例 modul
您键入了一项作业:
assign out = (a & b) | (cin & a) | (cin & b);
应该是(cout):
这就产生了r[4]不被驱动(z
)的效果
当z被驱动到cin中时,当它碰到布尔逻辑时,会变成未知(x
)值:
assign s = a ^ b ^ cin;
工作实例
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
assign out = (a & b) | (cin & a) | (cin & b);
assign cout = (a & b) | (cin & a) | (cin & b);
adder fa3(p[3],q[3],carry[2],r[3],r[4]);
assign s = a ^ b ^ cin;