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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 驗證FPGA設(shè)計:模擬,仿真,還是碰運氣?

          驗證FPGA設(shè)計:模擬,仿真,還是碰運氣?

          作者: 時間:2009-05-07 來源:網(wǎng)絡(luò) 收藏

            一種可為大家接受的方法

            根據(jù)與廠商和用戶的討論,我們可以看到對(圖1)混合驗證流程大家基本達(dá)成一致意見。這種流程首先對設(shè)計開始元件塊級的——不是傳統(tǒng)上所用的那種窮舉式的力求完美的,而更像是對實際情況進(jìn)行檢查。其目標(biāo)是驗證元件塊可用、引腳工作基本正確、在實驗環(huán)境中可滿足 的時序需要。

            在此階段,很多開發(fā)組將某個版本的塊轉(zhuǎn)入并開始更為徹底的電路中測試。如果此電路塊(如視頻編解器)需要很長的高速數(shù)據(jù)流來驗證功能或是包括高速I/O功能,則該方法尤為常見。在其他情況下,繼續(xù)對塊進(jìn)行模擬工作,直到所有問題都經(jīng)過驗證,可以進(jìn)行集成為止。

          根據(jù)大家的一致意見,當(dāng)開發(fā)組開始將塊集成時——建立試驗系統(tǒng)時——FPGA 才真正被更多人使用。這里,可能就是因為設(shè)計太大才無法進(jìn)行快速模擬,或是對于已知可正常工作的塊,在FPGA上解決集成問題可能要比在模擬器上效率更高點。

            但是,根據(jù)大家的意見,從模擬轉(zhuǎn)到并不是單步的可逆步驟。正如軟件開發(fā)中并行進(jìn)行模擬一樣,模擬工作在系統(tǒng)期間也在繼續(xù)。多數(shù)開發(fā)組利用FPGA 仿真捕捉和隔離缺陷,然后將其送回模擬組診斷。在FPGA上做詳細(xì)診斷是非常痛苦的工作。

            這里先總體敘述當(dāng)前的情況,然后指出該方法的幾個嚴(yán)重缺點。首先,在兩個環(huán)境間來回傳送測試平臺數(shù)據(jù)很困難。似乎還沒有方法可以將創(chuàng)建測試的模擬指令自動映射到實施同一測試的 FPGA 結(jié)構(gòu)。第二,各大 FPGA 廠商都可提供的嵌入式RISC核資源似乎遠(yuǎn)沒有得到充分利用,它可以管理數(shù)據(jù)和控制測試,但是又是與模擬測試平臺分開的。理論上說,模擬組可以將其轉(zhuǎn)為嵌入式處理器核的C代碼,而不是轉(zhuǎn)為FPGA的RTL。第三,沒有簡單的途徑可以將FPGA 試驗中開發(fā)組收集的數(shù)據(jù)送回模擬平臺。最后,隨著模擬領(lǐng)域基于斷言的驗證工作不斷增多,F(xiàn)PGA 側(cè)急需一種類似的基于斷言的工具。

            基于 FPGA的仿真系統(tǒng)銷售廠商對這些問題提出了應(yīng)對措施(見附文 《解決覆蓋空隙的一些思路》),證明了這些問題是確實存在的。這里的例子有Eve公司的系統(tǒng);模擬加速器,如GateRocket;以及“big-iron”(大型的)仿真盒,如Cadence的Palladium。至于這個基礎(chǔ)平臺會發(fā)展為FPGA驗證領(lǐng)域常見的那種專用板卡級仿真平臺,還是仍然會是昂貴的加速器和仿真系統(tǒng)的一種變形,我們尚無法知道。



          關(guān)鍵詞: FPGA 模擬 仿真 ASIC SOC

          評論


          相關(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); })();