<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > Verilog HDL基礎知識3之抽象級別

          Verilog HDL基礎知識3之抽象級別

          作者:時間:2024-02-19來源:電子森林收藏

          Verilog可以在三種上進行描述:行為級模型、RTL級模型和門級模型。
          行為級(behavior level)模型的特點如下。

          本文引用地址:http://www.ex-cimer.com/article/202402/455479.htm

          1、它是比較高級的模型,主要用于testbench。

          2、它著重于系統行為和算法描述,不在于系統的電路實現。

          3、它不可以綜合出門級模型。

          4、它的功能描述主要采用高級語言結構,如module、always、initial、fork/join/task、function、for、repeat、while、wait、event、if、case、@等。

          RTL級(register transfer level)模 型的特點如下。

          1、他是比較低級的模型,主要用于ASIC和設計。

          2、它著重于描述功能塊內部或功能塊之間的數據流和控制信號,重點在于電路實現,在于如何在timing、area和power中作出平衡。

          3、它可以綜合出門級模型。

          4、它的功能描述主要采用可以綜合的語言結構,如module、always、for、case、if、assign、@、continuoous assignment、blocking/nonblocking assignment等。

          門級(gate level)模型的特點如下。

          1、它是更加低級的模型,主要用于后端的物理實現。

          2、它是實際電路的邏輯實現。

          3、它通常是用綜合工具從RTL級模型綜合出來的。

          4、它的功能描述主要采用邏輯門(gate和switch)、用戶原語(UDP)、模塊和線網連接。

          5、它還用于開發小規模的原件,如ASIC和 的單元。

          設計工程師可以在不同的設計階段采用不同的抽象級。

          1、在行為級描述各功能模塊,評估系統和算法,以降低描述難度,提高仿真速度。

          2、在RTL級描述各功能模塊,精確描述系統和算法。

          3、綜合出門級模型,對應于實際電路的邏輯實現。

          例子:行為級或RTL級的MUX。
           module mux (input a, b, sel,
                       output reg out);
           always @( sel or a or b)
            if (! sel) out = a;
            else       out = b;
           endmodule例子:門級的MUX。
           module mux (input a, b, sel,
                       output  out);
             not    u1 (nsel, sel);
             and #1 u2 (sela, a, nsel);
             and #1 u3 (selb, b,  sel);
             or  #2 u4 (out, sela, selb);
            endmodule


          評論


          相關推薦

          技術專區

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();