目录
1. logic
1.1 logic的作用
简单来说,sv中引入logic变量类型,一方面logic拥有四值逻辑(x,z,0和1),能够更好地反映实际电路中的状态;另一方面,相比verilog中的reg和wire,sv中logic几乎在所有情况下都可以同时承担reg和wire的作用,使得在设计时,我们可以将更多的关注点放在代码设计上,而不是纠结使用reg还是wire。
注:sv中,logic可以在过程语句和连续赋值语句(assign)中使用。而verilog中reg只能用于过程语句(initial或者always),wire只能用于连续赋值语句(assign)。但sv中logic也不是万能使用的。如果遇到一个被多个驱动源驱动的信号,那么这个信号必须用wire类型。(不理解先记着)
1.2 logic的使用
module example;
logic A;
logic[3:0] B;
initial begin
$display("A=%b, B=%b", A,B); //打印结果A=x,B=xxxx;因为logic默认值为x
B=4'b0011;
assign A=B[1