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

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次閱讀
    昆明百家乐官网装修装潢有限公司| 百家乐3式打法微笑心法| 蓝盾百家乐官网代理| 百家乐官网平台信誉排名| 吴堡县| 蜀都棋牌游戏中心| 全讯网77| 百家乐稳赢秘诀教学| 優博百家乐官网客服| 百家乐官网网站东方果博| 网上赌博| 大发888注册开户| 大发888娱乐城客服电话| 威尼斯人娱乐老| 百家乐套利| 百家乐真人游戏赌场娱乐网规则 | 连江县| 保亭| e乐博官网| 88娱乐城网址tlyd| 在线棋牌游戏平台| 德州扑克 玩法| 大发888更名网址6| 大发888怎么找不到了| 大发888论坛爱好| 大发888排行| 大发888体育注册| 大发888总结经验| 大发888游戏平台888| 大发888xp缺少 casino| 大发888方官下载| 百家乐官网如何看面| 百家乐官网常用公式| 362百家乐的玩法技巧和规则| 丰合网上娱乐| 362百家乐官网的玩法技巧和规则| 百家乐是怎样算牌| 唐山市| 百家乐十佳投庄闲法| 爱拼娱乐城| 广州百家乐官网娱乐场开户注册 |