继学习了FPGA设计之后,学习IC验证也有一段时间了,学习过程中参考了很多互联网上的优秀资源,在此感谢各位前辈们的无私分享!现在,利用闲暇之余将对自己整个学习过程做个简单的回顾和总结。
首先,在system verilog学习中用到的参考书是绿皮书《system verilog验证——测试平台编写指南》(第二版)。另在回顾时翻阅了相关总结:
https://blog.csdn.net/qq_31935691/article/details/54982105
那么,开始吧。
九、过程语句和子程序 1、过程语句:begin•••end、fork•••join。 用于循环的continue:表示跳过本轮循环剩下的语句直接进入下一轮循环。 Break:用于终止并跳出循环。 2、任务task、函数function以及void函数 任务消耗时间而函数不消耗。 如果你想调用函数并且忽略它的返回值,可以使用void进行结果转换。 例:
3、在子程序中去掉begin•••end 例:
4、带参数方向的声明 例:
其中a,b是比特为1的logic的输入。 5、利用ref和const传递数组 例:
其中ref参数只能用于自动存储的子程序中,在模块中定义automatic属性。Const ref定义的话数组不能被子程序修改。 6、子程序的返回 例:
使用ref参数的形式将数组传递到函数里 例:
十、自动存储 利用修饰符automatic自动存储 例:
十一、时间值 1、 时间单位和精度`timescale 2、 时间参数:time、timeformat(-9代表纳秒,-12代表皮秒)、$realtime 例: