1、相比verilog,sv新引入了logic数据类型。sv侧重验证,节省考虑verilog其他细分变量的精力。
2、bit类型仅表示0和1,为二值逻辑。logic类型可以表示0、1、z、x,为四值逻辑。
3、四值逻辑类型:integer、logic、reg、net-type。二值逻辑类型:byte、shortint、int、longint、bit。
4、有符号类型:byte、shortint、int、longint、integer。无符号类型:bit、logic、reg、net-type。
5、定宽数组复制,可直接用“=”;定宽数组的比较,在不使用循环的情况下,可直接利用“==”或者“!=”来比较。
6、module/endmodule、interface/endinterface可以被视为硬件部分。program/endprogram和interface/endinterface可以被视为软件部分。
7、always是用来描述硬件,always中敏感列表是为了模拟硬件信号的触发行为,用来描述硬件时序或组合电路,所以仅用在module或者interface中。
8、sv函数在参数列表中input、output、inout、ref。在声明参数是,可以给入默认数值。例如input [3:0] addr = 0,同时在调用时如果省略该参数的传递,则传递默认值。
9、task相比于function,不同点:①task不能通过return给出返回值,只能通过output、inout或者ref返回;②task内可以置入消耗时间的语句,function不能。