Verilog 矢量输入端口驱动单位网络输出端口
为什么这两个代码不相等?我正在检查两者之间的逻辑等价性,它们失败了,可能是什么错误? 它会将其视为宽度不匹配,还是由多个驱动因素驱动的网络?我使用cadence LEC进行形式验证Verilog 矢量输入端口驱动单位网络输出端口,verilog,equivalence,Verilog,Equivalence,为什么这两个代码不相等?我正在检查两者之间的逻辑等价性,它们失败了,可能是什么错误? 它会将其视为宽度不匹配,还是由多个驱动因素驱动的网络?我使用cadence LEC进行形式验证 module driver (a, b); input [3:0] a; output wand b; assign b = a; endmodule assign b=a相当于assign b=a[0]。a的高位超出b的范围 与溢出的原因相同。例如assignsum[3:0]=a[3:0]+b[3:
module driver (a, b);
input [3:0] a;
output wand b;
assign b = a;
endmodule
assign b=a
相当于assign b=a[0]
。a
的高位超出b
的范围
与溢出的原因相同。例如
assignsum[3:0]=a[3:0]+b[3:0]
如果a=15,b=2,那么sum将是1,因为没有足够的位来表示17(17模(2^bitwidth(4))=1)。最后,这个问题的答案将与您的答案类似。
module driver (a, b);
input [3:0] a;
output wand b;
assign b = a[3];
assign b = a[2];
assign b = a[1];
assign b = a[0];
endmodule