前幾天,我與一位從事硬核FPGA設(shè)計(jì)的設(shè)計(jì)師談起我開發(fā)系統(tǒng)芯片的方式,。由于我提到了‘FPGA’,,因此他問我對(duì)于仿真器的感覺怎么樣。而當(dāng)我告訴他我已近三年不依賴仿真器后,,他大吃一驚,,覺得不可思議。
這同我與許多其他FPGA設(shè)計(jì)師圍繞著提高設(shè)計(jì)抽象度的對(duì)話很類似,。正如軟件開發(fā)人員非常依賴調(diào)試器和代碼仿真器來查找錯(cuò)誤和驗(yàn)證功能一樣,,F(xiàn)PGA設(shè)計(jì)師同樣一直習(xí)慣利用仿真器來進(jìn)行這些工作。仿真器為FPGA設(shè)計(jì)師提供了開發(fā)復(fù)雜IP所需的控制手段和可視性,,隨后設(shè)計(jì)師們?cè)O(shè)計(jì)流程就可以以良好的仿真工具為中心組織起來,。不進(jìn)行仿真而從事設(shè)計(jì)的觀念是完全違背常規(guī)的。
與此相對(duì)的是電路板設(shè)計(jì)師所用的方法,。電路板設(shè)計(jì)師就是那些從事將現(xiàn)成元器件拼接在一塊印刷電路板上來從而制造出新型電子產(chǎn)品的人,。通過假定這些元器件滿足其產(chǎn)品資料的規(guī)范,電路板設(shè)計(jì)師將元器件視為“黑盒”,,他們將精力集中于圍繞元器件之間的相互通信上而非元器件內(nèi)部的開發(fā)上,,對(duì)系統(tǒng)進(jìn)行整體仿真的情況十分少見。相反它們使用測(cè)試代碼和/或仿真源代碼進(jìn)行樣品設(shè)計(jì)和“實(shí)況”運(yùn)行,。
和電路板設(shè)計(jì)師,,在門級(jí)/門電路水平上對(duì)整個(gè)系統(tǒng)進(jìn)行仿真的情況一樣,F(xiàn)PGA設(shè)計(jì)師不對(duì)系統(tǒng)進(jìn)行仿真的情況一樣是令人費(fèi)解的,。隨著電路板設(shè)計(jì)師日益使用FPGA和現(xiàn)成IP來縮小設(shè)計(jì)和加快開發(fā)速度,,什么才是最合適的開發(fā)方法呢?他們應(yīng)當(dāng)不仿真還是仿真,?
FPGA仿真最適合開發(fā)定制IP的設(shè)計(jì)師,。但是,一旦IP得到驗(yàn)證,,使用該IP下游的設(shè)計(jì)師們重復(fù)這一工作就沒有多少價(jià)值了,。相反,他們應(yīng)當(dāng)采取與電路板設(shè)計(jì)師相似的策略,,也就是進(jìn)行 “實(shí)況”樣品設(shè)計(jì),。當(dāng)然,,需要有一個(gè)合適的執(zhí)行平臺(tái)才能使其成為可能。
對(duì)許多傳統(tǒng)FPGA設(shè)計(jì)師來說,,使用這一方式的主張仍然讓人覺得不太舒服,。但是,隨著設(shè)計(jì)從抽象水平不斷朝著系統(tǒng)水平上升,,在仿真基礎(chǔ)開發(fā)方面,,這種方法仍然是比較好的。具有諷刺意味的是,,采用下一代設(shè)計(jì)工具的電路板設(shè)計(jì)師實(shí)際上能夠比傳統(tǒng)使用者更好地利用FPGA,。