《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 一個工程師有關(guān)FPGA項(xiàng)目的感言

一個工程師有關(guān)FPGA項(xiàng)目的感言

2015-10-15
關(guān)鍵詞: 工程師 FPGA

  一個工程師有關(guān)FPGA項(xiàng)目的感言
  1. 要和人配合,。以我們做硬件的工程師為例,測試的時候一般都需要軟件的配合,,一個對硬件來說無比復(fù)雜的工作,,可能在軟件工程師看來就是幾行簡單的代碼,。所以要和人配合,多聽聽別人的意見,,這樣必然可以產(chǎn)生新的 know-how 從而加快測試和開發(fā)的速度,,退一步講,至少沒有壞處,。
  2. 測試還是要別人來做,。開發(fā)者看待自己的產(chǎn)品有如看待自己,大多是沒有勇氣去發(fā)現(xiàn)缺點(diǎn)的,。一是源自自尊心,,二是為了避免額外的工作,。所以就算有問題,如果不嚴(yán)重就藏著掖著,。但是這對項(xiàng)目來說是不行的,,所以測試,verification,,一定要旁人來做。
  3. 多點(diǎn)時間思考,。出現(xiàn)問題后,,不要急著修改。要思考推測可能的原因,,想清楚后把這些可能的原因都用debug pin或者chipscope引出來,。
  4. 注意復(fù)用已有的debug pin。很多時候,,在測試過程中產(chǎn)生了一大堆測試信號,,但是時間一長就忘了復(fù)用。實(shí)際上,,當(dāng)一個問題產(chǎn)生的時候,,通過反復(fù)觀察已有的debug-pin或許足以發(fā)現(xiàn)問題根源,而無需再引出新的pin,,并浪費(fèi)時間去綜合和PAR,。
  5. 仿真加時序足矣。數(shù)字電路在時鐘同步的設(shè)計(jì)原則下,,其功能通過simulation就可以驗(yàn)證,。simulation的結(jié)果和PAR后產(chǎn)生的FPGA-image完全等價。當(dāng)然FPGA也要遵循同樣的設(shè)計(jì)原則:即時鐘同步,。所以對于PAR的結(jié)果首先就要確保其時鐘同步的特性,。體現(xiàn)為寄存器之間的path必須在一個時鐘周期內(nèi)完成。(當(dāng)然有其他約束的例外,。)同時要滿足FPGA器件的setup和hold要求,。一旦出現(xiàn)timing-error必須通過各種途徑消除error,因?yàn)閑rror的存在,,意味著時鐘同步的大前提已經(jīng)被破壞,,這時,simulation取得的結(jié)果和FPGA是不等價的,,繼續(xù)測試也毫無意義了,。
  6. 注意不可控的接口部分。FPGA內(nèi)部的寄存器之間的timing完全可以通過PAR報(bào)告來確認(rèn)是否有問題,。但是和外界的接口部分卻充滿了疑問,。我們一般通過假定的input-delay和output-delay來對接口部分進(jìn)行約束,。由于從一開始就施加的是假定的delay,所以即使沒有timing-error,,其結(jié)果也存在諸多疑問,。以我正在進(jìn)行的測試為例,模塊內(nèi)部loopback測試完全正常,,但是一過cable,,傳到對方FPGA,則馬上產(chǎn)生很多誤碼,。由于simulation沒有問題,,所以必然是我們的某個假定出現(xiàn)了問題,尤其是時鐘同步的假定會得不到滿足,。這時候,,就要想盡一切辦法,使接口也滿足假定的條件,,或者調(diào)整設(shè)計(jì),,將不理想的接口adapting成理想的接口。
  7. 向直接上司匯報(bào)情況,,尋求各種可能的許可,。懶得向直接上司匯報(bào)情況時,萬一出現(xiàn)進(jìn)度或者結(jié)果不符,,所有責(zé)任都需要本人承擔(dān),。如果提前向上司匯報(bào)情況并取得許可,則一切后果都在可控范圍內(nèi),。比如,,工作繁忙時又被派給新的任務(wù),則不能一味逆來順受,。應(yīng)該向上司說明困難,,并提前想好一個可行的解決方案供上司參考。
  8. 外部接口是最大障礙,。如前所述,,F(xiàn)PGA內(nèi)部如果timing沒有問題的話,一般和仿真結(jié)果是一致的,,問題是外部的接口,,包括cable連線等,不在我們確切控制的范圍內(nèi),,比如其延時特性在40Mhz下仍然正常,,但是在80Mhz時可能出現(xiàn)不可預(yù)料的情況。所以應(yīng)該盡量使用經(jīng)過驗(yàn)證的"cable--frequency"組合,?;蛘咄ㄟ^設(shè)備測量并確認(rèn)外部接口的延時特性,。這樣可以進(jìn)行有針對性的調(diào)整。我最近的教訓(xùn)就是花了整整一個月調(diào)整并測試內(nèi)部的結(jié)構(gòu),,但是仍然失敗,。結(jié)果發(fā)現(xiàn)由于cable的問題,80Mhz的信號(數(shù)據(jù)+使能+others)無法正常并行傳輸,。如果換成40Mhz的信號就通過了,。
  9. 綜合PR后的結(jié)果要和代碼等價。前面提到仿真加時序足矣,,這里面的前提是PR的結(jié)果和原始代碼要等價,。為了確認(rèn)這一點(diǎn),就要把握syn和pr過程中的所有warning以及error,,warning的內(nèi)容不是完全可以忽略的。要特別關(guān)注綜合報(bào)表中的以下內(nèi)容:unused ports, reMOVal of redundant logic, latch inference,,simulation mismatch等等,。在報(bào)表中輸入關(guān)鍵字查找即可。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。