1: 【数据类型】SV和v的第一个大的区别:
(1)先要看它的类型;
(2)看数据类型{到底是4值逻辑还是只表示2值逻辑};
(3)到底是有符号还是无符号。
Note:
Verilog中的变量类型(reg)只能使用过程赋值;
Verilog中的线网类型(wire)只能使用连续赋值;
systemVerilog中的变量类型(var)既可以过程幅值也可以连续赋值;
systemVerilog中的线网类型(wire)只能连续赋值;
避坑指南
在testbench或者(module)中大量使用logic类型变量(不是很在乎是变量、
类型还是线网类型),而很少使用wire。因为他会自动的去帮我们映射成对应
的正确的数据类型。当多于一个驱动源的时候,或者设计模块端口是
双向(inout)(双向也是多驱动)的时候用wire。【这个用法和VHDL中的signal很类似】
module tb;
wire w1;
logic r1;
assign w1 = 1’b1;
assign r1 = 1’b0;
wire logic w2;
var logic r2;
assign w2 = 1’b1;
assign r2 = 1’b0;
initial begin
1ns;
$display(“w1 = %d, r1 = %d”,w1,r1);
$display(“w2 = %d, r2 = %d”,w2,r2);
end
endmodule