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

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

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

如何使用參數(shù)化編寫可重用的verilog代碼

jf_78858299 ? 來源:Hack電子 ? 作者:Hack電子 ? 2023-05-11 15:59 ? 次閱讀

我們將介紹如何使用verilog參數(shù)和generate語句來編寫可重用的verilog 代碼。

與大多數(shù)編程語言一樣,我們應(yīng)該嘗試使盡可能多的代碼可重用。這使我們能夠減少未來項目的開發(fā)時間,因為我們可以更輕松地將代碼從一個設(shè)計移植到另一個設(shè)計。

我們在verilog中有兩個可用的結(jié)構(gòu),可以幫助我們編寫可重用的代碼 - 參數(shù)化和generate語句。這兩種結(jié)構(gòu)都允許我們創(chuàng)建更通用的代碼,當我們實例化組件時,我們可以輕松修改這些代碼以滿足我們的需求。

Verilog參數(shù)化

在verilog中,參數(shù)是常量的局部形式,可以在我們實例化模塊時為其賦值。由于參數(shù)的范圍有限,我們可以多次調(diào)用同一個verilog模塊,并為參數(shù)分配不同的值。這使我們能夠動態(tài)配置模塊的行為。

下面的verilog代碼片段顯示了在模塊中聲明參數(shù)的方法。當我們在這樣的verilog模塊中聲明一個參數(shù)時,我們稱之為參數(shù)化模塊。

上面verilog代碼中的 < parameter_name > 字段用于為我們的參數(shù)提供標識符。我們使用此標識符在代碼中調(diào)用參數(shù)值,就像使用普通變量一樣。我們還可以使用上面示例中的 字段為參數(shù)分配默認值。這很有用,因為它允許我們實例化組件,而無需專門為參數(shù)賦值。當我們 verilog設(shè)計單元中實例化模塊時,我們可以使用命名關(guān)聯(lián)或位置關(guān)聯(lián)為參數(shù)分配一個值。這與將信號分配給模塊上的輸入或輸出完全相同。但是,當我們編寫使用 verilog 1995 標準的代碼時,我們只能使用位置關(guān)聯(lián)為參數(shù)賦值。

下面的 verilog 代碼片段顯示了我們在實例化模塊時用于為參數(shù)賦值的方法。

Verilog 參數(shù)化模塊示例

為了更好地理解我們?nèi)绾卧趘erilog中使用參數(shù),讓我們考慮一個基本的例子。對于此示例,讓我們考慮一個需要兩個同步計數(shù)器的設(shè)計。其中一個計數(shù)器寬 8 位,另一個寬 12 位。

為了實現(xiàn)這個電路,我們可以編寫兩個具有不同寬度的不同計數(shù)器模塊。然而,這是一種對電路進行編碼的低效方法。相反,我們將編寫單個計數(shù)器電路并使用參數(shù)來更改輸出中的位數(shù)。

由于理解我們?nèi)绾问褂脜?shù)化模塊并不重要,因此我們將排除此示例中的功能代碼。相反,我們將只研究如何在 verilog中聲明和實例參數(shù)化模塊。

下面的 verilog 代碼片段顯示了我們?nèi)绾螢閰?shù)化計數(shù)器模塊編寫接口。

在這個例子中,我們看到了如何使用參數(shù)來調(diào)整verilog中信號的大小。 我們不是使用固定數(shù)字來聲明端口寬度,而是將參數(shù)值替換為端口聲明 。這是 verilog 中參數(shù)最常見的用例之一。

在上面的 verilog 代碼中,我們將 BITS 參數(shù)的默認值定義為 8。因此,當我們想要一個不是 8 位的輸出時,我們只需要為參數(shù)分配一個值。

下面的代碼片段顯示了當我們想要 12 位輸出時如何實例化這個模塊。在這種情況下,我們必須在實例化 verilog 模塊時覆蓋參數(shù)的默認值。

雖然我們在上面的示例中使用 命名關(guān)聯(lián) ,但我們也可以使用位置關(guān)聯(lián)為 verilog 中的參數(shù)賦值。

下面的代碼片段顯示了我們將如何使用位置關(guān)聯(lián)將值 12 分配給 BITS 參數(shù)。

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

    關(guān)注

    28

    文章

    1333

    瀏覽量

    109712
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1916

    瀏覽量

    34369
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4670

    瀏覽量

    67760
收藏 人收藏

    評論

    相關(guān)推薦

    Verilog HDL代碼書寫規(guī)范

    1. 目的本規(guī)范的目的是提高書寫代碼的可讀性、可修改性、重用性,優(yōu)化代碼綜合和仿真的結(jié)果,指導(dǎo)設(shè)計工程師使用VerilogHDL規(guī)范代碼
    發(fā)表于 12-08 14:36

    如何用參數(shù)加法器樹編寫Verilog

    有沒有人對如何用參數(shù)加法器樹編寫Verilog有任何建議,輸入參數(shù)是操作數(shù)的數(shù)量?加布里埃爾以上來自于谷歌翻譯以下為原文Does anyo
    發(fā)表于 04-25 13:28

    Verilog代碼書寫規(guī)范

    Verilog代碼書寫規(guī)范 本規(guī)范的目的是提高書寫代碼的可讀性、可修改性、重用性,優(yōu)化代碼
    發(fā)表于 04-15 09:47 ?106次下載

    通過編寫verilog代碼實現(xiàn)OLED驅(qū)動和內(nèi)容顯示的解決方案

    本實驗通過verilog代碼編寫,在EGO1開發(fā)板上實現(xiàn)OLED的驅(qū)動和內(nèi)容顯示。
    的頭像 發(fā)表于 11-11 08:22 ?1.9w次閱讀

    基于System Verilog重用驗證平臺設(shè)計及驗證結(jié)果分析

    采用System Verilog語言設(shè)計了一種具有層次結(jié)構(gòu)的重用驗證平臺,該平臺能夠產(chǎn)生各種隨機、定向、錯誤測試向量,并提供功能覆蓋率計算。將驗證平臺在Synopsys公司的VCS
    發(fā)表于 01-12 11:28 ?2566次閱讀
    基于System <b class='flag-5'>Verilog</b>的<b class='flag-5'>可</b><b class='flag-5'>重用</b>驗證平臺設(shè)計及驗證結(jié)果分析

    如何使用Verilog HDL描述綜合電路?

    1、如何使用Verilog HDL描述綜合電路 Verilog 有什么奇技淫巧?我想最重要的是理解其硬件特性。Verilog HDL語言僅是對已知硬件電路的文本描述。所以
    的頭像 發(fā)表于 04-04 11:19 ?4047次閱讀
    如何使用<b class='flag-5'>Verilog</b> HDL描述<b class='flag-5'>可</b>綜合電路?

    代碼重用攻擊的通用模型及描述語言

    提出了一種代碼重用攻擊的通用模型,為了能夠?qū)?b class='flag-5'>代碼重用攻擊中的 gadget進行結(jié)構(gòu)的描述,設(shè)計了一種用于
    發(fā)表于 05-29 16:29 ?5次下載

    代碼重用性是代碼開發(fā)和確??删S護性的關(guān)鍵

      所有嵌入式軟件開發(fā)人員都應(yīng)該了解庫的工作方式及其提供的好處。代碼重用性是高效、高效的代碼開發(fā)和確??删S護性的關(guān)鍵。
    的頭像 發(fā)表于 06-30 14:58 ?1583次閱讀
    <b class='flag-5'>代碼</b>的<b class='flag-5'>可</b><b class='flag-5'>重用</b>性是<b class='flag-5'>代碼</b>開發(fā)和確??删S護性的關(guān)鍵

    代碼重用的架構(gòu)可視關(guān)鍵

      代碼重用已成為一種通用的軟件開發(fā)最佳實踐。它通過提高開發(fā)效率來加快上市時間,同時最大限度地降低與全新開發(fā)相關(guān)的成本。代碼重用的實踐還使開發(fā)組織能夠利用從現(xiàn)有
    的頭像 發(fā)表于 11-07 14:50 ?389次閱讀

    verilog語言編寫規(guī)范

    本規(guī)范的目的是提高書寫代碼的可讀性 可修改性 重用性 優(yōu)化代碼綜合和仿真的結(jié) 果 指導(dǎo)設(shè)計工程師使用VerilogHDL規(guī)范代碼和優(yōu)化電路
    的頭像 發(fā)表于 11-23 17:28 ?1029次閱讀

    FPGA設(shè)計硬件語言Verilog中的參數(shù)

    FPGA 設(shè)計的硬件語言Verilog中的參數(shù)有兩種關(guān)鍵詞:define 和 paramerter,參數(shù)的主要目的是
    發(fā)表于 12-26 09:53 ?826次閱讀

    基于verilog編寫99秒計數(shù)器

    Verilog語言編寫,通過模塊設(shè)計的99秒技術(shù)器
    發(fā)表于 02-16 16:16 ?0次下載

    如何使用verilog參數(shù)和generate語句來編寫重用verilog代碼?

    與大多數(shù)編程語言一樣,我們應(yīng)該嘗試使盡可能多的代碼重用。這使我們能夠減少未來項目的開發(fā)時間,因為我們可以更輕松地將代碼從一個設(shè)計移植到另一個設(shè)計。
    的頭像 發(fā)表于 05-08 16:59 ?1357次閱讀

    重用的驗證組件中構(gòu)建測試平臺的步驟

    writer ) 進行區(qū)分,前者負責(zé)測試平臺的構(gòu)建和配置,后者可能對測試平臺的底層了解較少,但用它來創(chuàng)建測試用例。 基于驗證組件創(chuàng)建測試平臺的步驟是:? Review重用的驗證組件配置參數(shù)。? 實例
    的頭像 發(fā)表于 06-13 09:14 ?489次閱讀
    <b class='flag-5'>可</b><b class='flag-5'>重用</b>的驗證組件中構(gòu)建測試平臺的步驟

    FPGA的Verilog代碼編寫規(guī)范

      注:以R起頭的是對編寫Verilog代碼的IP設(shè)計者所做的強制性規(guī)定,以G起頭的條款是建議采用的規(guī)范。每個設(shè)計者遵守本規(guī)范鍛煉命名規(guī)范性。
    的頭像 發(fā)表于 08-15 16:23 ?1842次閱讀