1.sv的数据类型
sv与Verilog最大的区别就是引入了logic这个数据类型。主要区别在于:
logic可以使验证人员不用考虑变量会被综合为线网还是寄存器。
logic属于四值逻辑,bit属于二值逻辑。他们的区别主要在于sv期望将软件和硬件的世界区分开。四值逻辑属于硬件的世界,二值逻辑属于软件的世界即验证的世界。
2.接口的作用
- 对各个模块做清晰有序的连接,同时将DUT和testch隔离开来,提高环境的复用性。需要注意的是:接口中的信号应该定义为四值逻辑,这样是为了防止接口与DUT相连时,X与Z的信号丢失。
接口还可以使用modport进一步确立不同对象对信号的连接方向。
3.program的使用
- 一般将设计部分放在module中,而将测试采样的部分放在program中。因此,program可以认为是软件的区域。所以always,module,interface等不应该出现在program中。
2.program驱动外部的硬件信号时应该使用非阻塞赋值