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

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

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

記錄一下verilog重復(fù)例化的兩種方式

冬至子 ? 來源:行走的BUG永動機 ? 作者:BUG永動機 ? 2023-05-26 17:36 ? 次閱讀

1 for循環(huán)方式例化方法

先給出 sub_module

module sub(
    input [7:0] din,
    output logic [7:0] dout
);
    assign dout = din;
endmodule

要將這個module分別例化成u_sub_0u_sub_1,并且每個都例化四次

for循環(huán)的實現(xiàn)方式如下

module top(
    input [8*4-1 : 0] din0, 
    input [8*4-1 : 0] din1,
    output logic [8*4-1 : 0] dout0,
    output logic [8*4-1 : 0] dout1
);
    genvar i;
    generate for(i=0; i<4; i++) begin:inst
        sub u_sub_0 (
              //output
              .dout(dout0[i*8 +: 8]),
              //input
              .din(din0[i*8 +: 8])
           );
        
        sub u_sub_1 (
              //output
              .dout(dout1[i*8 +: 8]),
              //input
              .din(din1[i*8 +: 8])
           );
    end
    endgenerate
endmodule

來看看例化后的效果

圖片

可以看到,總共4組inst,每組inst中存在兩個u_sub

接下來點開inst[0]中的u_sub_0,看看它的信號是什么樣的

圖片

依次點擊,然后到shell界面粘貼內(nèi)容

圖片

此時可以清晰的看到,這個din信號是來自哪里,這也體現(xiàn)了,在begin后命名block的重要性

2 數(shù)組的方式例化

同樣的 sub_module,同樣的例化要求,這次改用數(shù)組的方式進行例化

module top(
 input [8*4-1 : 0] din0, 
    input [8*4-1 : 0] din1,
    output logic [8*4-1 : 0] dout0,
    output logic [8*4-1 : 0] dout1
);
    sub u_sub_0 (
       //output
          .dout(dout0),
          //input
          .din(din0)
       );
    
    sub u_sub_1 (
       //output
          .dout(dout1),
          //input
          .din(din1)
       );
endmodule

來看看這次的例化效果

圖片

在打印出這種方式的層次化結(jié)構(gòu)

圖片

圖片

同樣有清晰的辨識效果

4 一些其他的技巧

對于二維數(shù)組而言,如果想在verdi中將二維數(shù)組展開,那么我們需要在dump波形是加上這句話

$fsdbDumpMDA;

這樣就可以在verdi中展開二維數(shù)組

當(dāng)一個數(shù)組范圍比較大不方便分析,可以將數(shù)組進行分段,操作如下

圖片

比如我要將32 bits位寬的din0信號分成8 bits位寬,可以這樣設(shè)置

圖片

效果如下

圖片

實現(xiàn)了對信號的拆分

對于一些信號,在這種例化方式下拉信號的波形不是很容易(這個例子一時沒想起來 >_<)

要拉出確定的波形可以這樣操作

在波形界面按g,會彈出下面這個框

圖片

讓后需要哪個信號選中即可添加

圖片

圖片

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

    關(guān)注

    1

    文章

    363

    瀏覽量

    23257
  • dump
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    9498
  • Verilog設(shè)計
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    6509
收藏 人收藏

    評論

    相關(guān)推薦

    開關(guān)量和模擬量是PLC初期使用最多的兩種輸入輸出方式?

    開關(guān)量和模擬量是大家學(xué)習(xí)PLC初期使用最多的兩種輸入輸出方式。什么是開關(guān)量?什么是模擬量?本文就跟隨小編起來了解一下吧。
    的頭像 發(fā)表于 10-05 09:26 ?6598次閱讀

    兩種采樣方式

    兩種采樣方式.....................................
    發(fā)表于 08-08 15:04

    兩種verilog語言寫法的實現(xiàn)問題!求解答~

    在看verilog代碼時,看到這樣兩種表示方法:一種是:“ wirea;assigna=b;”一種是:“wirea=b;”請教各位大神這兩種
    發(fā)表于 01-29 14:33

    請問IC設(shè)計中讀寫電路的設(shè)計中如何實現(xiàn)讀寫和連續(xù)讀寫兩種方式

    請問在IC設(shè)計中,有的ic支持讀寫和連續(xù)讀寫兩種方式,比如寫的時候,輸入個地址,寫入數(shù)據(jù),重復(fù)進行;也可以輸入個起始地址,數(shù)據(jù)依次輸入,
    發(fā)表于 07-18 15:00

    掌握原理圖輸入以及Verilog兩種設(shè)計方法

    過1位全加器的詳細設(shè)計,掌握原理圖輸入以及Verilog兩種設(shè)計方法。
    發(fā)表于 11-08 07:57

    SQL語言的兩種使用方式

    SQL語言的兩種使用方式在終端交互方式使用,稱為交互式SQL嵌入在高級語言的程序中使用,稱為嵌入式SQL―高級語言如C、Java等,稱為宿主語言嵌入式SQL的實現(xiàn)
    發(fā)表于 12-20 06:51

    請問一下無線局域網(wǎng)的兩種網(wǎng)絡(luò)結(jié)構(gòu)是什么?

    請問一下無線局域網(wǎng)的兩種網(wǎng)絡(luò)結(jié)構(gòu)是什么?
    發(fā)表于 05-09 16:22

    逆變器的兩種電流型控制方式

    逆變器的兩種電流型控制方式 摘要:研究分析了逆變器的兩種雙環(huán)瞬時反饋控制方式——電流型準(zhǔn)PWM控制方式和三態(tài)DPM
    發(fā)表于 07-10 11:21 ?3970次閱讀
    逆變器的<b class='flag-5'>兩種</b>電流型控制<b class='flag-5'>方式</b>

    開關(guān)磁阻電機兩種繞組連接方式鐵心損耗的有限元計算

    開關(guān)磁阻電機兩種繞組連接方式鐵心損耗的有限元計算
    發(fā)表于 01-21 12:07 ?2次下載

    兩種穿戴健身記錄儀的方式

    Misfit與時尚珠寶廠商BaubleBar合作推出兩種穿戴Misfit Flash的時尚方式。Misfit這周發(fā)布了BaubleBar Helena Necklace和BaubleBar
    發(fā)表于 04-13 00:33 ?2069次閱讀

    淺析標(biāo)準(zhǔn)的Verilog對語句有兩種分組方式

    標(biāo)準(zhǔn)的Verilog對語句有兩種分組方式——使用begin…end或fork…join,begin…end中的語句以順序方式執(zhí)行,而fork…join中的語句則以并發(fā)
    的頭像 發(fā)表于 09-14 11:02 ?848次閱讀
    淺析標(biāo)準(zhǔn)的<b class='flag-5'>Verilog</b>對語句有<b class='flag-5'>兩種</b>分組<b class='flag-5'>方式</b>

    互鎖正反轉(zhuǎn)電路的兩種實現(xiàn)方式

    有關(guān)正反轉(zhuǎn)電路的知識,互鎖正反轉(zhuǎn)電路的兩種實現(xiàn)方式,一種是接觸器互鎖正反轉(zhuǎn),一種是按鈕互鎖正反轉(zhuǎn),學(xué)習(xí)
    的頭像 發(fā)表于 04-27 15:47 ?1.1w次閱讀
    互鎖正反轉(zhuǎn)電路的<b class='flag-5'>兩種</b>實現(xiàn)<b class='flag-5'>方式</b>

    星三角的兩種控制方式

    今天給大家展示一下星三角的兩種控制控制方式的電路圖,PLC 控制方式以三菱PLC 為
    發(fā)表于 05-05 15:53 ?614次閱讀
    星三角的<b class='flag-5'>兩種</b>控制<b class='flag-5'>方式</b>

    溫濕度記錄兩種不同的存儲方式介紹

    溫濕度記錄兩種不同的存儲方式,要怎么操作?
    的頭像 發(fā)表于 12-20 15:23 ?760次閱讀
    溫濕度<b class='flag-5'>記錄</b>儀<b class='flag-5'>兩種</b>不同的存儲<b class='flag-5'>方式</b>介紹

    redis兩種持久方式的區(qū)別

    的完整性和致性。 Redis提供了兩種持久方式:RDB(Redis Database)和AOF(Append Only File)。這兩種
    的頭像 發(fā)表于 12-04 11:12 ?484次閱讀