0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Verilog HDL語言中任務與函數(shù)的比較

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2021-07-02 10:24 ? 次閱讀

C語言類比,可以把任務理解成返回類型為void的子程序,把函數(shù)理解為帶有返回值類型的子程序。

1、任務(task)

(1)任務定義的語法為:

task《任務名》; 《端口與類型說明》 《局部變量說明》 begin 《語句》 endendtask

需要注意的是,在第一行task語句中不能列出端口名列表;可以沒有輸入、輸出端口和雙向端口,也可以有一個或多個輸入、輸出端口和雙向端口。

(2)任務的調(diào)用

《任務名》(端口1,端口2,。..,端口n);

任務的調(diào)用只能在過程塊中進行。當被調(diào)用的任務具有輸入或輸出端口時,任務調(diào)用語句必須包含端口列表。這個列表內(nèi)端口出現(xiàn)的順序和類型必須與任務定義的順序和類型一致。

2、函數(shù)(function)

函數(shù)的目的是通過返回一個值來響應輸入信號的值。函數(shù)不能啟動任務,但任務可以啟動函數(shù)。在Verilog HDL中函數(shù)被當作操作符來使用,結(jié)果就是這個函數(shù)的返回值。

(1)函數(shù)的定義

function《返回值的類型和位寬》(函數(shù)名) 《端口與類型說明》 《局部變量說明》 begin 《語句》 endendfunction

其中,返回值的類型和位寬是可選項,如果缺省會返回一位寄存器類型數(shù)據(jù)。Verilog HDL認為函數(shù)的定義隱式地聲明了與函數(shù)同名的寄存器。函數(shù)的定義把函數(shù)被返回值所賦值寄存器的名稱初始化為與函數(shù)同名的內(nèi)部變量。

(2)函數(shù)的調(diào)用

《函數(shù)名》(《輸入表達式1》,《輸入表達式2》,。..,《輸入表達式n》);

其中,n個輸入表達式要與函數(shù)定義結(jié)構(gòu)中說明的各個端口一一對應,他們代表各個輸入端口的輸入數(shù)據(jù),這些輸入表達式的排列順序及類型必須與各個輸入端口在函數(shù)定義結(jié)構(gòu)中的排列順序及類型嚴格保持一致。

函數(shù)的調(diào)用不能單獨作為一條語句出現(xiàn),他只能作為一個操作出現(xiàn)在賦值語句內(nèi),不僅能夠用于過程塊內(nèi)的賦值,還能夠出現(xiàn)在assign語句中。

3、任務與函數(shù)的比較

(1)函數(shù)至少必須有一個輸入端口,而任務可以有多個、一個或沒有輸入端口;

(2)函數(shù)不能有輸出端口,而任務可以有多個、一個或沒有輸出端口;

(3)函數(shù)調(diào)用通過函數(shù)名返回一個返回值,而任務調(diào)用通過端口傳遞返回值;

(4)函數(shù)中不能調(diào)用任務,但任務中可以調(diào)用函數(shù);

(5)函數(shù)調(diào)用不能作為一條語句出現(xiàn),而任務調(diào)用可以;

(6)函數(shù)調(diào)用可以出現(xiàn)在過程塊或者連續(xù)賦值語句中,而任務調(diào)用只能出現(xiàn)在過程塊中。

文章出處:【微信公眾號:FPGA之家】

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)

    關注

    8

    文章

    7030

    瀏覽量

    89038
  • C語言
    +關注

    關注

    180

    文章

    7604

    瀏覽量

    136841

原文標題:Verilog HDL語言(3) : 任務和函數(shù)

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Verilog與VHDL的比較 Verilog HDL編程技巧

    Verilog 與 VHDL 比較 1. 語法和風格 VerilogVerilog 的語法更接近于 C 語言,對于有 C
    的頭像 發(fā)表于 12-17 09:44 ?147次閱讀

    數(shù)字系統(tǒng)設計與Verilog HDL

    數(shù)字系統(tǒng)設計與Verilog HDL 1.兼職職位 ,不坐班,等待公司分配任務,時間自由 2.薪資: 200-5000不等可具體協(xié)商 3.要求:國內(nèi)985/211院校在讀或畢業(yè),或者國外前100的院校 4.英語水平:四級500+
    發(fā)表于 11-06 17:57

    Verilog硬件描述語言參考手冊

    一. 關于 IEEE 1364 標準二. Verilog簡介三. 語法總結(jié)四. 編寫Verilog HDL源代碼的標準五. 設計流程
    發(fā)表于 11-04 10:12 ?0次下載

    C語言中的socket編程基礎

    數(shù)據(jù) 步驟6:關閉socket 創(chuàng)建socket 在C語言中,創(chuàng)建socket需要使用socket()函數(shù)。這個函數(shù)需要兩個參數(shù):域
    的頭像 發(fā)表于 11-01 16:51 ?325次閱讀

    system verilog語言簡介

    ICer需要System Verilog語言得加成,這是ICer深度的表現(xiàn)。
    發(fā)表于 11-01 10:44 ?0次下載

    Verilog HDL的基礎知識

    本文繼續(xù)介紹Verilog HDL基礎知識,重點介紹賦值語句、阻塞與非阻塞、循環(huán)語句、同步與異步、函數(shù)任務語法知識。
    的頭像 發(fā)表于 10-24 15:00 ?408次閱讀
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>的基礎知識

    有什么好用的verilog HDL編輯工具可用?

    有什么好用的verilog HDL編輯工具可用?最好能集成實時的verilog HDL語法檢測、自定義模塊識別觸發(fā)等功能,最好能夠免費;
    發(fā)表于 04-28 11:00

    fpga是用c語言還是verilog

    FPGA(現(xiàn)場可編程邏輯門陣列)開發(fā)主要使用的編程語言是硬件描述語言HDL),其中Verilog是最常用的編程語言之一。而C
    的頭像 發(fā)表于 03-27 14:38 ?2009次閱讀

    fpga用什么語言編程

    FPGA(現(xiàn)場可編程門陣列)的編程主要使用硬件描述語言HDL),其中最常用的是Verilog HDL和VHDL。
    的頭像 發(fā)表于 03-14 18:17 ?2838次閱讀

    fpga用的是什么編程語言 fpga用什么語言開發(fā)

    fpga用的是什么編程語言 FPGA(現(xiàn)場可編程邏輯門陣列)主要使用的編程語言是硬件描述語言(HDL)。在眾多的HDL中,
    的頭像 發(fā)表于 03-14 17:09 ?3510次閱讀

    verilog與其他編程語言的接口機制

    Verilog是一種硬件描述語言,用于描述數(shù)字電路的行為和結(jié)構(gòu)。與其他編程語言相比,Verilog具有與硬件緊密結(jié)合的特點,因此其接口機制也有一些與眾不同之處。本文將詳細介紹
    的頭像 發(fā)表于 02-23 10:22 ?705次閱讀

    verilog調(diào)用模塊端口對應方式

    Verilog中的模塊端口對應方式,并提供示例代碼和詳細解釋,以幫助讀者更好地理解和應用。 首先,我們來了解一下Verilog中的模塊和模塊端口。一個Verilog模塊被定義為包含一組聲明和語句的代碼塊,類似于C
    的頭像 發(fā)表于 02-23 10:20 ?1776次閱讀

    verilog function函數(shù)的用法

    Verilog 是一種硬件描述語言 (HDL),主要用于描述數(shù)字電子電路的行為和結(jié)構(gòu)。在 Verilog 中,函數(shù) (Function) 是
    的頭像 發(fā)表于 02-22 15:49 ?5705次閱讀

    verilog函數(shù)任務對比

    verilog中,函數(shù)任務均用來描述共同的代碼段,并且在模式內(nèi)任意位置被調(diào)用,提高代碼效率,讓代碼更加的直觀,提高代碼可讀性。但是在實際使用的過程中,函數(shù)
    的頭像 發(fā)表于 02-12 18:43 ?890次閱讀

    如何解決C語言中的“訪問權限沖突”異常?C語言引發(fā)異常原因分析

    如何解決C語言中的“訪問權限沖突”異常?C語言引發(fā)異常原因分析? 在C語言中,訪問權限沖突異常通常是由于嘗試訪問未授權的變量、函數(shù)或其他數(shù)據(jù)結(jié)構(gòu)而引起的。這種異常是編程中常見的錯誤之一
    的頭像 發(fā)表于 01-12 16:03 ?5724次閱讀