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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > SOC參數(shù)自動配置設(shè)計方法與功耗優(yōu)化

          SOC參數(shù)自動配置設(shè)計方法與功耗優(yōu)化

          作者: 時間:2012-10-29 來源:網(wǎng)絡(luò) 收藏

          引 言

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

          片上系統(tǒng)( system ON chip ,) 已經(jīng)成為21世紀(jì)全球矚目的關(guān)鍵核心技術(shù)。 具有垂直整合的特性,并注重創(chuàng)新和創(chuàng)意,產(chǎn)品非常個人化、應(yīng)用差異化、樣式多元化。 應(yīng)用需求的廣泛性,以及大部分SOC 應(yīng)用功能單一、性質(zhì)確定的特點,決定了SOC 目前大多是針對專門的應(yīng)用領(lǐng)域進(jìn)行專門設(shè)計來滿足高性能、低成本和低功耗的要求。 目前SOC 的發(fā)展趨勢是: 體系結(jié)構(gòu)需要在新技術(shù)與產(chǎn)品、市場和應(yīng)用需求之間取得平衡;趨向于走專用、定制和化的道路。

          一方面由于SOC 的專用化設(shè)計要求,另一方面由于IP 提供商的支持, SOC 的集成正向化設(shè)計發(fā)展。 SOC 的可能影響系統(tǒng)功耗、性能和面積,每個的選擇范圍是一個有限集合,因此一個SOC 設(shè)計可以理解為一組SOC 參數(shù)的選擇。 在系統(tǒng)結(jié)構(gòu)形成后,SOC 設(shè)計問題就轉(zhuǎn)變?yōu)閰?shù)配置問題。 隨著參數(shù)的增多,手工對代碼進(jìn)行修改是不可接受的,這不僅效率低,而且會增加錯誤率。本文對原有的硬件描述語言進(jìn)行擴展,并建立了參數(shù)配置環(huán)境,通過分析SOC 參數(shù)屬性,利用鄰域搜索算法針對功耗進(jìn)行參數(shù)優(yōu)化。

          參數(shù)自動配置

          采用傳統(tǒng)的硬件描述語言(HDL) ,參數(shù)自動配置的難點在于:首先模塊本身的描述隨參數(shù)配置的改變而變化; 其次當(dāng)模塊被更上層的父模塊例化(inSTance) 時,其接口邏輯在不同參數(shù)配置下也可能不同。 在進(jìn)行參數(shù)化設(shè)計時,只能采用硬件描述語言的宏定義,這種方法不僅不夠靈活,而且代碼復(fù)雜,冗余很多。

          參數(shù)自動配置環(huán)境由一組運行腳本組成,主要通過兩個工具Eperl 和Vperl 來進(jìn)行參數(shù)配置,實現(xiàn)了代碼的即配置即生成。 Eperl 的作用是定制內(nèi)部的邏輯,Vperl 的作用是生成模塊間的連接關(guān)系。 基于Verilog 硬件描述語言的參數(shù)自動配置過程如下。

          1) 參數(shù)首先被送到3.evp 文件,這是同時包括Eperl 語法和Vperl 語法的文件,因為Eperl 和Vperl 電路的語法非常簡潔,所以設(shè)計師不僅不用擔(dān)心會在這里陷入困境,反而會大大減少設(shè)計強度。

          2) 3.evp 文件經(jīng)過Eperl 處理后生成3.vp 文件,這是只包含Vperl 語法的文件,這時所有的參數(shù)都被解析,模塊內(nèi)參數(shù)配置都已經(jīng)完成了。

          3) 3.vp 經(jīng)過Vperl 處理后, 最后生成3.v 文件, 即電路的Verilog 描述。 因此在參數(shù)化設(shè)計中,與傳統(tǒng)設(shè)計不同,設(shè)計師的描述文件是3.evp 文件,而Verilog 代碼只是作為設(shè)計的中間代碼出現(xiàn)。 參數(shù)自動配置環(huán)境建立了一系列腳本程序來自動解析相關(guān)文件的相互關(guān)系,并生成整個系統(tǒng)的硬件描述語言描述。

          Eperl 最初用作HTML 頁面生成,適合于靜態(tài)文本相當(dāng)多,但是又有一部分代碼需要動態(tài)生成的場合。 因為大多數(shù)硬件描述是靜態(tài)代碼,只有一小部分需要可配置,所以Eperl 非常適用于電路的硬件描述。 Eperl 結(jié)合了Perl 的解釋功能,相當(dāng)于在原文本結(jié)構(gòu)中插入了一段內(nèi)嵌代碼。 這段內(nèi)嵌代碼最終可以生成想要配置的硬件結(jié)構(gòu)。 Eperl 利用Print 結(jié)構(gòu)來傳遞所有的內(nèi)嵌代碼。 Eperl 所做的相當(dāng)于程序員寫一個用于生成代碼的Perl 腳本。 下面所示程序段是從dma _fifo.evp 文件中提取的一部分代碼。

          ∥Synchronous FIFO.fifo_depth x fifo_width bit words.

          moduleBeg ;

          Ports ;

          Regs ;

          WIRes ;

          : $width_msb=$fifo_width21 ;

          $depth_msb=$fifo_depth21 ;

          $ptr_width=log ( $fifo_depth)/log (2) ;

          $ptr_msb=$ptr_msb21 ;

          : >

          Force (mem,fifomem, :=$width_msb : >,0,

          :=$depth_msb : >,0) ;

          ……

          ∥Update FIFO memory.

          always @(posedge clk) begin

          if ( rstp== 1′b0 writep== 1′b1

          fullp== 1′b0)

          fifomem [ head ] =din [ :=$width_msb :

          > :0 ] ;

          end

          ∥Update the head register.

          always @(posedge clk) begin

          if ( rstp== 1’b1)

          head [:=$ptr_msb:>:0]=:=$ptr_width:>′b0 ;

          else

          if (writep== 1′b1 fullp== 1′b0)

          head [ :=$pt r_msb : > :0 ] =

          head [ :=$pt r_msb : > :0 ] + 1 ;

          end

          ..


          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();