區別:
1.函式可以返回乙個值而任務可以返回多個值
2.函式一經呼叫必須立即執行,裡面不能包含任何的時序控制,而task中可以有時序控制
3.函式可以呼叫函式,但不可以呼叫任務,任務既可以呼叫函式也可以呼叫任務
4.函式必須要有乙個輸入引數,而任務可以沒有引數輸入。
4.任務輸出的訊號,在模組中必須定義為reg訊號
任務和函式的共同點:
1.任務和函式必須在模組內定義,其作用範圍僅適用於該模組,可以在模組內多次呼叫。
2.任務和函式中可以宣告區域性變數,如暫存器,時間,整數,實數和事件,但是不能宣告線網型別的變數。
3.任務和函式中只能使用行為級語句,但是不能包含always和initial塊,設計者可以在always和initial塊中呼叫任務和函式。
常用的系統任務與函式:
1.顯示任務 display write
2.檔案輸入輸出任務 fopen, fclose, readmemb, readmemh
3.**控制任務
4.時序驗證任務
5.pla建模任務
6.隨即建模任務
7.**時間函式 time, stime
8.實數變換函式
9.隨即函式
任務和函式能不能綜合,取決於是否有延時控制,或者時間控制的語句則是不能綜合的,其他情況可以綜合
Verilog中的函式和任務
在高階程式語言中,為了避免在程式中多次重複編寫特定的例行程式,可以使用子程式和函式。verilog語言也提供類似的功能,即verilog的函式和任務。它可以把大型程式模組化,從而使 更加容易理解。1。verilog任務 任務必須包含在呼叫該任務的模組中。它可以有輸入輸出埠,任務的埠僅用來在模組和任務...
Verilog中的函式
verilog中的函式 verilog hdl與大多數可程式語言一樣,將使用率很高的 按照軟體工程的思想,寫成函式,這樣,該函式可以被多次呼叫。verilog中函式常用語三種情況 verilog中的函式與c語言中的函式的主要不同之處是 在verilog中,呼叫函式時,需要將乙個或則多個自變數傳給函式...
verilog中wire和reg型別的區別
一 基本概念 wire型資料常用來表示以assign關鍵字指定的組合邏輯訊號,模組的輸入輸出埠型別都預設為wire型,wire相當於物理連線,預設初始值是z。reg型表示的暫存器型別,用於always模組內被賦值的訊號,且必須定義為reg型,代表觸發器,常用於時序邏輯電路,reg相當於儲存單元,預設...