在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

Hack電子 ? 來源:Hack電子 ? 2023-05-08 16:59 ? 次閱讀

與大多數(shù)編程語言一樣,我們應(yīng)該嘗試使盡可能多的代碼可重用。這使我們能夠減少未來項目的開發(fā)時間,因為我們可以更輕松地將代碼從一個設(shè)計移植到另一個設(shè)計。 我們在verilog中有兩個可用的結(jié)構(gòu),可以幫助我們編寫可重用的代碼 - 參數(shù)化和generate語句。這兩種結(jié)構(gòu)都允許我們創(chuàng)建更通用的代碼,當(dāng)我們實例化組件時,我們可以輕松修改這些代碼以滿足我們的需求。

Verilog參數(shù)化

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

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

1 module #(
2 parameter =
3 )
4 (
5 // Port declarations
6 );

上面verilog代碼中的 <parameter_name> 字段用于為我們的參數(shù)提供標(biāo)識符。我們使用此標(biāo)識符在代碼中調(diào)用參數(shù)值,就像使用普通變量一樣。我們還可以使用上面示例中的 字段為參數(shù)分配默認(rèn)值。這很有用,因為它允許我們實例化組件,而無需專門為參數(shù)賦值。

當(dāng)我們 verilog設(shè)計單元中實例化模塊時,我們可以使用命名關(guān)聯(lián)或位置關(guān)聯(lián)為參數(shù)分配一個值。這與將信號分配給模塊上的輸入或輸出完全相同。但是,當(dāng)我們編寫使用 verilog 1995 標(biāo)準(zhǔn)的代碼時,我們只能使用位置關(guān)聯(lián)為參數(shù)賦值。

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

1 // Example of named association
2 # (
3 // If the module uses parameters they are connected here
4 . ()
5 )
6 (
7 // port connections
8 );
9
10 // Example of positional association
11 # ()
12 (
13 // port connections
14 );

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

為了更好地理解我們?nèi)绾卧趘erilog中使用參數(shù),讓我們考慮一個基本的例子。對于此示例,讓我們考慮一個需要兩個同步計數(shù)器的設(shè)計。其中一個計數(shù)器寬 8 位,另一個寬 12 位。 為了實現(xiàn)這個電路,我們可以編寫兩個具有不同寬度的不同計數(shù)器模塊。

然而,這是一種對電路進(jìn)行編碼的低效方法。相反,我們將編寫單個計數(shù)器電路并使用參數(shù)來更改輸出中的位數(shù)。 由于理解我們?nèi)绾问褂脜?shù)化模塊并不重要,因此我們將排除此示例中的功能代碼。相反,我們將只研究如何在 verilog中聲明和實例參數(shù)化模塊。

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

1 modulecounter #(
2 parameterBITS =8;
3 )
4 (
5 inputwireclock,
6 inputwirereset,
7 outputreg[BITS-1:0] count
8 );

在這個例子中,我們看到了如何使用參數(shù)來調(diào)整verilog中信號的大小。我們不是使用固定數(shù)字來聲明端口寬度,而是將參數(shù)值替換為端口聲明。這是 verilog 中參數(shù)最常見的用例之一。 在上面的 verilog 代碼中,我們將 BITS 參數(shù)的默認(rèn)值定義為 8。因此,當(dāng)我們想要一個不是 8 位的輸出時,我們只需要為參數(shù)分配一個值。 下面的代碼片段顯示了當(dāng)我們想要 12 位輸出時如何實例化這個模塊。在這種情況下,我們必須在實例化 verilog 模塊時覆蓋參數(shù)的默認(rèn)值。

1 counter # (
2 .BITS (12)
3 ) count_12 (
4 .clock (clock),
5 .reset (reset),
6 .count (count_out)
7 );

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

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

1 counter # (12) count_12 (clock, reset, count_out);





審核編輯:劉清

聲明:本文內(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

    文章

    1351

    瀏覽量

    110190
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2259

    瀏覽量

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

    關(guān)注

    10

    文章

    1947

    瀏覽量

    34848
  • BITS
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    8098

原文標(biāo)題:使用參數(shù)化編寫可重用的Verilog代碼

文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Veriloggenerate if 語句如何用systemc實現(xiàn)?

    Veriloggenerate if語句如何用systemc實現(xiàn)?例如:generateif (SIZE < 8)assign y = a & b & c;else
    發(fā)表于 08-28 12:06

    Veriloggenerate if語句如何用systemc實現(xiàn)?

    1.Veriloggenerate if語句如何用systemc實現(xiàn)?例如:generateif (SIZE < 8)assign y = a & b & c;else
    發(fā)表于 08-29 16:11

    新手求解verilog 中的生成塊語句 的意思

    verilog 中的 generate for 語句好理解,但是 generate if 和 generate case
    發(fā)表于 12-21 12:44

    veriloggenerate語句的用法分享

    generateverilog中的生成語句,當(dāng)對矢量中的多個位進(jìn)行重復(fù)操作時,或者當(dāng)進(jìn)行多個模塊的實例引用的重復(fù)操作時,或者根據(jù)參數(shù)的定義
    發(fā)表于 12-23 16:59

    Verilog代碼書寫規(guī)范

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

    Verilog generate語句的類型

    Generate 結(jié)構(gòu)在創(chuàng)建可配置的RTL的時候很有用。Generate loop能夠讓語句實例化多次,通過index控制。而conditional
    的頭像 發(fā)表于 03-16 14:34 ?2.2w次閱讀
    <b class='flag-5'>Verilog</b> <b class='flag-5'>generate</b><b class='flag-5'>語句</b>的類型

    Verilog綜合的循環(huán)語句

    Verilog中提供了四種循環(huán)語句,可用于控制語句的執(zhí)行次數(shù),分別為:for,while,repeat,forever。其中,for,while,repeat是綜合的,但循環(huán)的次數(shù)需
    發(fā)表于 10-13 12:23 ?2w次閱讀

    Verilog教程之Verilog HDL程序設(shè)計語句和描述方式

    本文檔的主要內(nèi)容詳細(xì)介紹的是Verilog教程之Verilog HDL程序設(shè)計語句和描述方式。
    發(fā)表于 12-09 11:24 ?47次下載
    <b class='flag-5'>Verilog</b>教程之<b class='flag-5'>Verilog</b> HDL程序設(shè)計<b class='flag-5'>語句</b>和描述方式

    verilog中的initial語句說明

    解釋verilog HDL中的initial語句的用法。
    發(fā)表于 05-31 09:11 ?0次下載

    Verilog語法之generate for、generate if、generate case

    Verilog-2005中有3個generate 語句可以用來很方便地實現(xiàn)重復(fù)賦值和例化(generate for)或根據(jù)條件選擇性地進(jìn)行編譯(ge
    的頭像 發(fā)表于 12-28 15:21 ?2828次閱讀

    如何在verilog中使用If語句和case語句

    我們在上一篇文章中已經(jīng)看到了如何使用程序塊(例如 always 塊編寫按順序執(zhí)行的 verilog 代碼
    的頭像 發(fā)表于 04-18 09:45 ?5650次閱讀

    Verilog中的If語句和case語句介紹

    我們在上一篇文章中已經(jīng)看到了如何使用程序塊(例如 always 塊編寫按順序執(zhí)行的 verilog 代碼。 我們還可以在程序塊中使用許多語句
    的頭像 發(fā)表于 05-11 15:37 ?4676次閱讀
    <b class='flag-5'>Verilog</b>中的If<b class='flag-5'>語句</b>和case<b class='flag-5'>語句</b>介紹

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

    我們將介紹如何使用verilog參數(shù)generate語句編寫
    的頭像 發(fā)表于 05-11 15:59 ?1150次閱讀

    Verilog常用的循環(huán)語句及用途

    本文主要介紹verilog常用的循環(huán)語句,循環(huán)語句的用途,主要是可以多次執(zhí)行相同的代碼或邏輯。
    的頭像 發(fā)表于 05-12 18:26 ?2604次閱讀

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

      注:以R起頭的是對編寫Verilog代碼的IP設(shè)計者所做的強(qiáng)制性規(guī)定,以G起頭的條款是建議采用的規(guī)范。每個設(shè)計者遵守本規(guī)范鍛煉命名規(guī)范性。
    的頭像 發(fā)表于 08-15 16:23 ?2282次閱讀
    主站蜘蛛池模板: 在线看3344免费视频| 爱爱免费| 日韩精品视频免费在线观看| 色偷偷综合网| 日本高清视频在线www色| 日本骚视频| 蜜月mv国产精品| 国产色婷婷免费视频| videosex久久麻豆| 天天在线干| 国产小视频在线看| 黄色片xxx| 中文字幕卡二和卡三的视频| 亚洲第一看片| 日韩伦| 黄网站色视频| 夜色成人| 国产精品亚洲精品日韩动图| 在线观看亚洲免费视频| 最新黄色大片| 日韩一级免费毛片| 国模精品| 日日夜夜天天久久| 看黄视频网站| 一级特黄色毛片免费看| 日韩综合色| 国产成视频| 人人干人人玩| 777黄色片| 亚洲欧美日韩动漫 | 日日夜操| 日本人69xxxxx| 中文字幕有码视频| 欧美性生活网站| www.三级.com| 国产理论精品| 99热久久精品免费精品| 日本高清www| 97人人人人| 56pao强力打造| 伊人精品成人久久综合欧美|