0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

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

冬至子 ? 來源:行走的BUG永動(dòng)機(jī) ? 作者:BUG永動(dòng)機(jī) ? 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

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

for循環(huán)的實(shí)現(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中存在兩個(gè)u_sub

接下來點(diǎn)開inst[0]中的u_sub_0,看看它的信號(hào)是什么樣的

圖片

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

圖片

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

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

同樣的 sub_module,同樣的例化要求,這次改用數(shù)組的方式進(jì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
);
    sub u_sub_0 (
       //output
          .dout(dout0),
          //input
          .din(din0)
       );
    
    sub u_sub_1 (
       //output
          .dout(dout1),
          //input
          .din(din1)
       );
endmodule

來看看這次的例化效果

圖片

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

圖片

圖片

同樣有清晰的辨識(shí)效果

4 一些其他的技巧

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

$fsdbDumpMDA;

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

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

圖片

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

圖片

效果如下

圖片

實(shí)現(xiàn)了對(duì)信號(hào)的拆分

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

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

在波形界面按g,會(huì)彈出下面這個(gè)框

圖片

讓后需要哪個(gè)信號(hào)選中即可添加

圖片

圖片

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

    關(guān)注

    1

    文章

    372

    瀏覽量

    24130
  • dump
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    9599
  • Verilog設(shè)計(jì)
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    6627
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

    兩種采樣方式

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

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

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

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

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

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

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

    SQL語言的兩種使用方式

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

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

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

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

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

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

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

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

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

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

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

    星三角的兩種控制方式

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

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

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

    篇文章帶您區(qū)分GNSS欺騙模擬測(cè)試的兩種方式

    干擾和欺騙直是GNSS信號(hào)接收中不可避免的問題,那么欺騙信號(hào)是如何產(chǎn)生的呢?本期文章介紹了GNSS欺騙模擬測(cè)試的兩種方式,快來了解一下二者有何不同吧
    的頭像 發(fā)表于 05-22 09:45 ?1456次閱讀
    <b class='flag-5'>一</b>篇文章帶您區(qū)分GNSS欺騙模擬測(cè)試的<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 ?726次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品