吴忠躺衫网络科技有限公司

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

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

3天內不再提示

Verilog設計中函數(shù)和任務的作用分析

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-03-15 11:01 ? 次閱讀

使用Verilog可以方便地實現(xiàn)復雜的設計。現(xiàn)在,設計復雜性增加,設計需要針對低功率、高速和最小面積進行優(yōu)化~

任務和函數(shù)在Verilog中用于描述常用的功能行為。與其在不同的地方復制相同的代碼,不如根據(jù)需求使用函數(shù)或任務,這是一種良好且常見的做法。為了便于代碼維護,最好使用子例程之類的函數(shù)或任務。

從給定字符串中計算1的個數(shù)

以下示例描述用于從給定字符串中計算1的個數(shù)任務。以下是使用任務時需要記住的要點:

任務可以由時間控制語句甚至延遲操作符組成。

任務可以有輸入和輸出聲明。

任務可以由函數(shù)調用組成,但函數(shù)不能由任務組成。

任務可以有輸出參數(shù),在調用時不用于返回值。

任務可用于調用其他任務。

在編寫可綜合RTL時,不建議使用任務。

任務用于編寫行為或可仿真模型。

示例7.6是從給定字符串中計算1的個數(shù)的說明。在本例中,任務與參數(shù)“data_in”、“out”一起使用,任務的名稱為“count_1s_in_byte”。在大多數(shù)協(xié)議描述中,需要對輸入字符串執(zhí)行一些操作。在此示例中,字符串為8位輸入“data_in”,輸出結果為4位“out”。不建議使用任務生成綜合邏輯。

9585004a-a3ea-11ec-952b-dac502259ad0.png

示例7.6任務的Verilog RTL

使用函數(shù)計數(shù)1的個數(shù)的模塊

以下示例描述用于從給定字符串中計算1的個數(shù)函數(shù)。以下是使用該功能時需要記住的要點:

函數(shù)不能由時間控制語句甚至延遲運算符組成。

函數(shù)至少有一個輸入?yún)?shù)聲明。

函數(shù)可以由函數(shù)調用組成,但函數(shù)不能由任務組成。

函數(shù)在零模擬時間內執(zhí)行,并在調用時返回單個值。

在編寫可綜合 RTL時,不建議使用函數(shù)。

函數(shù)用于編寫行為或可仿真模型。

函數(shù)不應具有非阻塞賦值。

示例7.7是從給定字符串中計算1個數(shù)的說明。在本例中,函數(shù)與參數(shù)“data_in”一起使用。函數(shù)名為“count_1s_in_byte”。在大多數(shù)協(xié)議描述中,需要對輸入字符串執(zhí)行一些操作。在此示例中,字符串為8位輸入“data_in”,輸出結果為4位“out”。不建議使用該函數(shù)生成綜合邏輯。

95a00264-a3ea-11ec-952b-dac502259ad0.png

審核編輯:郭婷

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

    關注

    28

    文章

    1351

    瀏覽量

    110396

原文標題:Verilog復雜邏輯設計指南-函數(shù)和任務

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    關于verilog的生成塊和任務

    本帖最后由 耶穌牛肚 于 2017-1-4 20:27 編輯 自學verilog,看到生成塊和任務的時候有一些迷茫,希望大神講解一下。生成塊書上說本質是將多條重復語句化為一條起到簡化的作用
    發(fā)表于 01-04 20:25

    Verilog系統(tǒng)任務的相關資料推薦

    Verilog數(shù)字系統(tǒng)設計十任務函數(shù)實驗2文章目錄Verilog數(shù)字系統(tǒng)設計十前言一、Verilog系統(tǒng)
    發(fā)表于 02-09 06:05

    深入分析uCOS的任務堆棧

    堆棧作用的就是用來保存局部變量,從本質上講也就是將CPU寄存器的值保存到RAM。在uCOS,每一個任務都有一個獨立的任務堆棧。為了深入理
    發(fā)表于 12-01 01:25 ?693次閱讀

    FreeRTOS任務應用函數(shù)介紹

    * constpulTotalRunTime ); 該函數(shù)向TaskStatus_t結構體填充相關信息,系統(tǒng)每一個任務的信息都可以填充到TaskStatus_t結構體數(shù)組,數(shù)組大
    的頭像 發(fā)表于 03-19 10:22 ?2626次閱讀

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

    其中,返回值的類型和位寬是可選項,如果缺省會返回一位寄存器類型數(shù)據(jù)。Verilog HDL認為函數(shù)的定義隱式地聲明了與函數(shù)同名的寄存器。函數(shù)的定義把
    的頭像 發(fā)表于 07-02 10:24 ?2391次閱讀

    Verilog數(shù)字系統(tǒng)設計——任務函數(shù)二(系統(tǒng)任務readmemb或readmemh)

    Verilog數(shù)字系統(tǒng)設計十任務函數(shù)實驗2文章目錄Verilog數(shù)字系統(tǒng)設計十前言一、Verilog系統(tǒng)
    發(fā)表于 12-05 19:06 ?7次下載
    <b class='flag-5'>Verilog</b>數(shù)字系統(tǒng)設計——<b class='flag-5'>任務</b>和<b class='flag-5'>函數(shù)</b>二(系統(tǒng)<b class='flag-5'>任務</b>readmemb或readmemh)

    Verilog數(shù)字系統(tǒng)設計——任務函數(shù)一(斐波那契數(shù)列)

    Verilog數(shù)字系統(tǒng)設計九任務函數(shù)實驗1文章目錄Verilog數(shù)字系統(tǒng)設計九前言一、任務函數(shù)
    發(fā)表于 12-05 19:06 ?9次下載
    <b class='flag-5'>Verilog</b>數(shù)字系統(tǒng)設計——<b class='flag-5'>任務</b>和<b class='flag-5'>函數(shù)</b>一(斐波那契數(shù)列)

    RTL建模函數(shù)任務討論

    函數(shù)任務可以在使用它們的模塊或接口中定義。定義可以出現(xiàn)在調用函數(shù)任務的語句之前或之后完成,函數(shù)任務
    的頭像 發(fā)表于 11-09 09:26 ?1185次閱讀

    Verilog關于文件操作的系統(tǒng)任務

    Verilog提供了很多對文件操作的系統(tǒng)任務函數(shù),例如打開關閉文件、向文件寫入值、從文件讀出值等等。
    的頭像 發(fā)表于 12-05 13:57 ?1664次閱讀

    Verilog任務函數(shù)的區(qū)別

    函數(shù)一樣,任務(task)可以用來描述共同的代碼段,并在模塊內任意位置被調用,讓代碼更加的直觀易讀。
    的頭像 發(fā)表于 06-01 16:38 ?1646次閱讀
    <b class='flag-5'>Verilog</b><b class='flag-5'>任務</b>與<b class='flag-5'>函數(shù)</b>的區(qū)別

    FreeRTOS其他任務API函數(shù)

    1、函數(shù) uxTaskPriorityGet() 此函數(shù)用來獲取指定任務的優(yōu)先級,要使用此函數(shù)的話宏 INCLUDE_uxTaskPriorityGet 應 該定義為 1。 2、
    的頭像 發(fā)表于 07-06 16:54 ?1111次閱讀

    FreeRTOS任務通知通用發(fā)送函數(shù)

    發(fā)送任務通知 任務通知通用發(fā)送函數(shù) 任務任務通知發(fā)送函數(shù):xTaskNotify()、xTas
    的頭像 發(fā)表于 07-30 11:43 ?780次閱讀
    FreeRTOS<b class='flag-5'>任務</b>通知通用發(fā)送<b class='flag-5'>函數(shù)</b>

    verilog函數(shù)任務對比

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

    verilog function函數(shù)的用法

    Verilog 是一種硬件描述語言 (HDL),主要用于描述數(shù)字電子電路的行為和結構。在 Verilog 函數(shù) (Function) 是一種用于執(zhí)行特定
    的頭像 發(fā)表于 02-22 15:49 ?6045次閱讀

    veriloginput和output作用

    以完成各種計算和控制任務。本文將詳細介紹input和output在Verilog作用及其使用方式。 一、input的作用及使用方式
    的頭像 發(fā)表于 02-23 10:29 ?3406次閱讀
    易发| 豪门国际| 红桃K百家乐官网的玩法技巧和规则 | 百家乐分析软件| 百家乐双人操作分析仪| 赌场百家乐官网台| 札达县| 大发888 娱乐平台| 百家乐技巧方法| 做生意选店铺位置| 玩百家乐官网有何技巧| 台湾省| 大发888电话客服| 百家乐投注程式| 大上海百家乐官网的玩法技巧和规则 | 南漳县| 百家乐伴侣| 百家乐玩法百科| 百家乐官网开线| 皇冠最新投注网| 赌球术语| 怎样打百家乐的玩法技巧和规则| 百家乐官网首选| 太阳城百家乐官网分析解码| 门源| 六合彩教程| 一起pk棋牌游戏下载| qq德州扑克怎么玩| 威尼斯人娱乐场 28| 真人百家乐视频| 玩百家乐游戏经验| 玩百家乐官网请高手指点| 线上百家乐官网| 百家乐官网澳门百家乐官网澳门赌场 | 百家乐官网娱乐软件| 百家乐官网全自动分析软件| 百家乐官网佣金计算| 贡觉县| 澳门新世纪娱乐城| 在线龙虎斗| 肥城市|