新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 如何成功地完成ASIC原型驗(yàn)證

如何成功地完成ASIC原型驗(yàn)證

——
作者: 時(shí)間:2007-07-19 來源:嵌入式系統(tǒng)設(shè)計(jì) 收藏

  原型驗(yàn)證---用軟件的方法來發(fā)現(xiàn)硬件的問題

  在芯片tap-out之前,通常都會(huì)計(jì)算一下風(fēng)險(xiǎn),例如存在一些的嚴(yán)重錯(cuò)誤可能性。通常要某個(gè)人簽字來確認(rèn)是否去生產(chǎn)。這是一個(gè)艱難的決定。的產(chǎn)品NRE的費(fèi)用持續(xù)上升。一次失敗的流片將會(huì)推遲數(shù)個(gè)月的上市時(shí)間。誰愿意承擔(dān)簽字的責(zé)任呢? 一些BUG通過仿真和Emulation是抓不到的。傳統(tǒng)的驗(yàn)證方法認(rèn)為設(shè)計(jì)的功能符合功能定義就是對(duì)的。 但功能定義到底對(duì)不對(duì)呢?唯一的辦法就是建立一個(gè)真實(shí)的硬件:原型。

  基于FPGA的原型 --- 一個(gè)虛擬的真實(shí)環(huán)境

  在密度,速度以及其他方面與的相似性使得FPGA成為原型驗(yàn)證的最佳選擇。通常最擔(dān)心的是不但不會(huì)加速設(shè)計(jì)過程,反而會(huì)延長設(shè)計(jì)周期。因?yàn)榻⒁粋€(gè)原型驗(yàn)證系統(tǒng)會(huì)耗費(fèi)時(shí)間,額外的資源和需要FPGA設(shè)計(jì)的知識(shí)。因?yàn)镕PGA的設(shè)計(jì)容量比ASIC小,設(shè)計(jì)通常會(huì)被劃分到幾塊FPGA中。最困難的是決定使用幾顆FPGA和他們之間的互連線如何規(guī)劃。在規(guī)劃過程中,劃分方案一般會(huì)被多次修改。模塊會(huì)被在FPGA之間移來移去,相應(yīng)地FPGA之間的互連關(guān)系也要隨之改變。一些象IP和存儲(chǔ)器之類的模塊需要在FPGA外面額外增加硬件。原型驗(yàn)證系統(tǒng)必須有足夠的靈活性來解決這些以及更多的問題。

  另一個(gè)問題是如何把ASIC的代碼應(yīng)用到FPGA上。把設(shè)計(jì)劃分到多顆FPGA中需要改動(dòng)RTL代碼。劃分也可能導(dǎo)致FPGA之間有很寬的總線,使得FPGA之間的互連線數(shù)量不夠。ASIC和FPGA的結(jié)構(gòu)不同可能導(dǎo)致嚴(yán)重的設(shè)計(jì)問題。IP模塊,DesignWare元件,以及其他的ASIC風(fēng)格的代碼例如門控時(shí)鐘必須被轉(zhuǎn)換到FPGA上。Synplicity的Certify解決方案正好可以解決這些問題。Certify幫助設(shè)計(jì)者把ASIC的RTL代碼用多顆FPGA實(shí)現(xiàn)。

  布局的考慮

  解決了邏輯實(shí)現(xiàn)的問題,還要考慮物理實(shí)現(xiàn)的問題。必須要設(shè)計(jì)一個(gè)或者幾個(gè)電路板,這也不是簡單的事情。設(shè)計(jì)高速的FPGA電路板的布局會(huì)帶來很多問題,需要很專業(yè)的知識(shí)來解決。串?dāng)_、反射、傳輸損耗、地彈噪聲等很多因素會(huì)影響信號(hào)完整性。高速PCB板的設(shè)計(jì)不僅需要數(shù)字電路的特性,也要考慮模擬特性的影響。

  選擇現(xiàn)有的成熟產(chǎn)品還是選擇自己動(dòng)手做

  當(dāng)你需要最靈活的、易于使用的、并且能重復(fù)利用的原型驗(yàn)證系統(tǒng)時(shí),你要自己設(shè)計(jì)嗎? 如果要考慮到時(shí)間和金錢的因素,那么決定是顯而易見的。要建立一個(gè)原型驗(yàn)證系統(tǒng),投資現(xiàn)有的成熟產(chǎn)品是一個(gè)聰明的選擇。HAPS是專門為ASIC原型驗(yàn)證而設(shè)計(jì)的高速模塊化電路板系統(tǒng)。他是商業(yè)化的產(chǎn)品,可配置性能使用在幾乎可以適合所有的應(yīng)用。配合Synplicity公司的Certify,ASIC的代碼可以直接被綜合并且映射到HAPS的FPGA上而不用做大的改動(dòng)。

  應(yīng)用實(shí)例

  Philips Semiconductor使用HAPS和Certify建立了驗(yàn)證系統(tǒng)來驗(yàn)證他們的2.5G/3G 多媒體基帶處理器。驗(yàn)證當(dāng)中他們發(fā)現(xiàn)了一些嚴(yán)重的但在仿真時(shí)卻沒有發(fā)現(xiàn)的RTL BUG。原型驗(yàn)證也被用來做軟件的驗(yàn)證。這個(gè)設(shè)計(jì)除了存貯器外有200萬的ASIC門。他們使用了帶有四顆Virtex-II 8000 (1517腳封裝) FPGA的HAPS母板。存儲(chǔ)器利用外面的SDRAM子板。最大的挑戰(zhàn)來自于劃分,平衡各個(gè)FPGA的利用率,最佳的劃分方案中兩個(gè)FPGA之間有3000根互連信號(hào)。由于信號(hào)的數(shù)量超過了FPGA的I/O的數(shù)量,這造成了一些麻煩,解決的方法是使用了Certify Pin Multiplexing (CPM)。

  Mihai Munteanu,瑞士蘇黎世的開發(fā)工程師,參與了這項(xiàng)工作。他給開始做原型驗(yàn)證的人的建議是:分析ASIC的設(shè)計(jì),要考慮到容量、互連線、時(shí)鐘、存儲(chǔ)器的需要。檢查所有的RTL代碼,嘗試綜合到FPGA中。要注意到ASIC的某些特性用FPGA實(shí)現(xiàn)很困難。嘗試

  用最少數(shù)目的FPGA來使流程簡化。使用增量的方法,但是要注意到減少設(shè)計(jì)后一些問題可能不會(huì)冒出來。另外建議使用最新的最好的工具。


 

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

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

關(guān)閉