过程记录,持续更新......
1. function与task的区别:
总体来说,最关键的一点区别,function不能消耗仿真时间,task可以。function中会报以下error。

function中也可以调用task,高版本的vcs编译时会报warning,提示function中调用task可能会消耗仿真时间。
如果function中调用的task需要消耗仿真时间,那么需要用fork...join_none进行处理。UVM源代码中有此种用法,下面列举几个。



2. function与constaint
...
3. function与coverage
1)function与coverpoint
xxx_cp: coverpoint xxx_func();
...
...

本文详细探讨了Verilog中function与task的区别,重点在于function不消耗仿真时间而task可以。当function内调用task可能导致仿真时间消耗时,需要使用fork...join_none。此外,还介绍了function在覆盖率(如coverpoint)中的应用,阐述了如何在设计中正确使用这两者以优化仿真和覆盖率分析。
476

被折叠的 条评论
为什么被折叠?



