当我的测试台启动时,我有一个带X输入的逆变器。所以我的输出也是X. 当输入为X时,我可以强制输出为1还是0?
谢谢。
答案 0 :(得分:0)
没有
X值是错误的结果;它并不代表任何定义明确的价值。对这样的值执行任何类型的操作也将导致不可预测的值 - 另一个X。
您需要找出导致此错误的原因并进行修复。
答案 1 :(得分:0)
逆变器不可用。提供输入X将始终固有地给出输出X.
答案 2 :(得分:0)
当然可以。如果您的逆变器是模块实例,只需强制连接到输出的导线即可。如果它只是一个assign语句,只需强制分配给它的电线。
module tb();
reg l_a;
wire l_q;
invtr i0(.q(l_q), .a(l_a));
initial begin
$vcdpluson;
#10;
force l_q = 1'b0;
#10;
release l_q;
#10;
l_a = 1'b0;
#10;
l_a = 1'b1;
#10
$finish;
end
endmodule
module invtr (output wire q,
input wire a);
assign q = ~a;
endmodule
输出力发生在10ns时,释放发生在20ns时。在此期间,该值为0.