在线观看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)注

    29

    文章

    1366

    瀏覽量

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

    關(guān)注

    32

    文章

    2284

    瀏覽量

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

    關(guān)注

    10

    文章

    1955

    瀏覽量

    36130
  • BITS
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    8199

原文標(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 ?3318次閱讀

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

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

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

    我們在上一篇文章中已經(jīng)看到了如何使用程序塊(例如 always 塊編寫按順序執(zhí)行的 verilog 代碼。 我們還可以在程序塊中使用許多語句
    的頭像 發(fā)表于 05-11 15:37 ?5572次閱讀
    <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 ?1397次閱讀

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

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

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

      注:以R起頭的是對編寫Verilog代碼的IP設(shè)計者所做的強(qiáng)制性規(guī)定,以G起頭的條款是建議采用的規(guī)范。每個設(shè)計者遵守本規(guī)范鍛煉命名規(guī)范性。
    的頭像 發(fā)表于 08-15 16:23 ?2793次閱讀
    主站蜘蛛池模板: 黄色尤物 | 天天操夜 | 一级特黄性生活大片免费观看 | 泰国一级毛片aaa下面毛多 | 三级在线国产 | 色综合久久98天天综合 | 亚洲黄色小视频 | 九九精品在线观看 | 国产色视频一区 | 久久精品国产精品亚洲毛片 | 91精品欧美激情在线播放 | 国产精品电影一区 | 中日韩黄色大片 | 午夜国产福利在线 | 黄网站色视频免费看无下截 | 日韩艹| 一级毛片女人喷潮 | 黄 色 免 费 网站在线观看 | 欧美黑人性xxx猛交 欧美黑人性受xxxx精品 | 色多网站免费视频 | 青草视频久久 | 韩国精品videosex性韩国 | 日本高清色视频在线观看免费 | 黄黄的网站在线观看 | 国产免费一区二区三区在线 | 日韩高清在线日韩大片观看网址 | 亚洲国产成人精品青青草原100 | 5060精品国产福利午夜 | 欧美影欧美影院免费观看视频 | 精品影视网站入口 | 国产高清在线精品一区 | 国产午夜不卡在线观看视频666 | 性感美女福利视频 | 98pao强力打造高清免费 | 天天爽夜夜爽精品免费 | 日韩伊人网 | 男女性生动态免费视频 | 免费在线色 | 午夜免费看片 | 免费精品一区二区三区在线观看 | 欧美最猛黑人xxxx黑人猛交黄 |