日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言延时函数_SystemVerilog函数和任务

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言延时函数_SystemVerilog函数和任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

函數和任務

  • Verilog中函數與任務區別:

任務可以消耗時間,函數不能消耗時間;

函數里不能帶有#10延時語句或者@(posedge clk)、wait(ready)的阻塞語句;

函數不能調用任務;

函數必須有返回值,并且返回值必須被使用;

1.函數(與C語言類似)

函數的參數可以聲明為input、output、inout、ref;

Void函數不返回數值;

函數可以調用函數,但必須立即返回,即不能發生阻塞、等待行為;

如果調用具有返回值的函數,但沒有使用該返回值,應添加void‘()進行轉換;

Void’(some_function());

2.任務

任務的定義可以指定參數input、output、inout、ref;任務沒有返回值;

任務可以消耗仿真時間;

任務可以調用其他任務或者函數;

3.任務和函數區別

  • 函數不會消耗仿真時間,而任務可能會消耗仿真時間;
  • 函數無法調用任務,而任務可以調用函數;
  • 一個函數只能返回一個數值,而任務不會返回數值;
  • 函數可以作為一個表達式中的操作數,而該操作數的值即函數的返回值;

4.參數傳遞

  • input、output、inout參數在調用方法時屬于值傳遞,即傳遞過程中,外部變量的值會經過拷貝,賦值給形式參數;
  • 值傳遞的過程只會出現在方法的調用時和返回時;
  • ref參數在傳遞時不會發生值拷貝,而是將變量指針傳遞到方法中,因此在方法內部對于參數的任何操作會立即影響到外部變量;
  • 為了避免外部傳入的ref參數會被方法修改,可以添加const修飾符,表示變量是只讀變量;
  • SV允許方法聲明輸入參數時指定參數的默認值;
  • SV允許類似于模塊例化,可以由參數位置在調用方法時傳遞參數,也可以由參數名字映射的方式來傳遞參數;

總結

以上是生活随笔為你收集整理的c语言延时函数_SystemVerilog函数和任务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。