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

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 基于SystemC/TLM方法學的IP開發(fā)及FPGA建模

          基于SystemC/TLM方法學的IP開發(fā)及FPGA建模

          作者: 時間:2009-11-11 來源:網絡 收藏

            隨著系統級芯片技術的出現,設計規(guī)模正變得越來越大,因而變得非常復雜,同時上市時間也變得更加苛刻。通常RTL已經不足以擔當這一新的角色。上述這些因素正驅使設計師開發(fā)新的方法學,用于復雜IP(硬件和軟件)以及復雜系統的驗證。ST公司建立了一個設計流,它從高級抽象開始,易于將模型寫入IP的精密周期或RTL模型中。當轉入低級抽象時,變得復雜,故IP驗證也復雜。我們的方案最適合于這種應用場景,因為它允許人們在各地相似的環(huán)境中運行相同的測試平臺和測試場景,因而允許在整個開發(fā)周期里高效地復用所有的測試范例和環(huán)境。

            在半導體領域,開發(fā)產品的第一步就是以高級抽象開發(fā)規(guī)范的模型,通常用C/C++來實現。這里,和C++庫提供了很大幫助。它簡化了共存的硬件和軟件設計的概念化。再加上實現事務級模型間對口連接的傳送庫,加速了整個驗證過程。另一個重要方面是所有不同抽象架構中經過增強的可移植性。同一測試配置可以無縫地用于不同抽象級的設計。

            本文將討論一種此類的方法學。最終的目標是設計和實現UWBMAC(媒體訪問層)IP。出于架構開發(fā)的目的,決定用來實現整個IP。還開發(fā)了抽象級具有不同程度變化的不同架構。所付出的努力比較少,最后得到的仿真速度很快,軟件的實際編寫也可以在設計周期非常早的階段開始。該IP的RTL結果被移植到了SPEAr系列的中。除了ARM內核和相應的一系列IP,SPEAr還提供一個可配置邏輯塊,這為用戶在實現其邏輯功能時提供了無與倫比的靈活性。從而縮短了上市時間,同樣也實現了空前的成本節(jié)省。

            設計開發(fā)方法學

            圖1所示的該方法學實現了開發(fā)的內核中的事務級()。是一種對數字系統進行的高級方案,這里將模塊之間的具體通信與功能單元或通信架構的具體實現分離開。把總線或FIFO這類通信機制模型化成信道,用SystemC接口類將這些信道提供給模塊和部件。這些信道模型的信令接口功能將取代事務請求,這將減少具體的低級信息交換。

            圖1:方法學流程。

            在事務級建模時,

            *更加注重數據轉移的功能-即轉移的是什么數據,從那里來,到那里去

            *不太關注實際的實現-即不太關注數據轉移所用的實際協議

            該方案使得系統設計師的實驗變得更加容易,例如,可以利用不同的總線架構(所有都支持公共的抽象接口),不一定需要對與任意總線進行交互的模型進行重新編碼,只要這些模型能夠通過公用接口與總線進行交互即可。

            在我們的方法中,起始點是對整個功能系統平臺進行建模。這是利用SystemC并通過scfifo接口實現的。為了描述通信接口間的數據流,采用了各種架構。這些架構基本上都是協議需要遵守的參數和幀格式信息。圍繞IP創(chuàng)建了一個測試環(huán)境,環(huán)境中開發(fā)了測試平臺,來傳輸分別來自兩側的輸入,即發(fā)送和接收。在這兩種范例中,利用這種配置產生了預期的結果或參考。在抽象層,與平臺一起使用來進行修改,快速并有效地做試驗時將變得很容易,不過精度會降低一些。


          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

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