System Verilog的task與function,以及task的接口信號與function的返回值

最近寫代碼,調試過程中,踩了無數坑,摘取一些作爲記錄。
以備之後查看。

1.Task和function
不同點:
Task,只用來仿真調試,可以有延遲。
Function,可以綜合成一堆組合電路,所以,不能加延遲。

相同點:
內部信號包括global和local都是static的,所以就算有初值,也必須每次用的時候,重新賦值。(這與C語言等高級語言不同,C等語言,內部變量,都不是static,每次都會重新賦值。)

2.task 接口信號是否需要加input,output,inout?
接口信號,如果需要返回調用,那麼,task的輸出信號,必須加output,而且output或者inout類型的接口信號,不能有初值。function可以用返回值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章