本文章大多以提问的形式给出问题,并尝试解答,主要目的是为了帮助自己复习sv基础知识,不足之处还请指正,以便共同学习!
二、过程块与子程序
1、task中continue和break的区别?
如如下代码及仿真结果所示:
continue: 表示终止本轮循环,进入下一轮循环
break: 跳出整个循环
2、task与function的区别?
function: 不可内置耗时语句
task: 可内置耗时语句(如wait(), @(posedge clk)等)
一般情况下,任务可以调用函数,但是函数不能调用任务。
3、always与initial的区别?
always:在整个仿真阶段一直存在并执行,通常搭配@(*)或者@(posedge clk)