FPGA板級(jí)測(cè)試若干方法小結(jié)
1)有關(guān)時(shí)序問(wèn)題
本文引用地址:http://www.ex-cimer.com/article/201701/338016.htm學(xué)習(xí)過(guò)FPGA的都知道,F(xiàn)PGA可以接受的時(shí)鐘和所允許的時(shí)序遠(yuǎn)遠(yuǎn)低于ASIC。這是由于ASIC時(shí)鐘樹(shù)與布線相對(duì)自由,故對(duì)于高速率設(shè)計(jì)解決起來(lái)相對(duì)容易。對(duì)于Xilinx FPGA而言,盡管采用了90nm工藝的Virtex-4可以支持的性能高達(dá)500M[1],但是其時(shí)鐘樹(shù)和布線資源相對(duì)固定,因此一旦在編譯和布局布線的時(shí)候處理不當(dāng),就會(huì)產(chǎn)生時(shí)序沖突(timing violation)。產(chǎn)生時(shí)序沖突的結(jié)果,輕則使設(shè)計(jì)的邏輯與實(shí)際布局布線后的網(wǎng)表不一致,重則導(dǎo)致布局布線根本無(wú)法通過(guò),從而致使驗(yàn)證無(wú)法進(jìn)行。
2)設(shè)計(jì)過(guò)程中注意時(shí)序問(wèn)題
若希望設(shè)計(jì)的產(chǎn)品能夠在FPGA驗(yàn)證平臺(tái)上順利的完成驗(yàn)證,在設(shè)計(jì)過(guò)程中就需要注意盡量多的使用FPGA的內(nèi)部資源,如DSP48,乘法器,RAM,DCM等。 畢竟IP核提供商最懂它們自己的產(chǎn)品。例如使用Xilinx工具時(shí),Xilinx的ISE中配有Core Generator這個(gè)工具。通過(guò)該工具可以生成需要的乘法器。使用這些乘法器來(lái)代替普通的乘法器,可以達(dá)到滿意的效果。除了乘法器,還可以使用該工具產(chǎn)生RAM和DCM等。這些直接生成的IP性能都非常好。
3)綜合過(guò)程解決時(shí)序問(wèn)題
使用Synplicity公司的Synplify工具進(jìn)行綜合,這是業(yè)界通常使用的綜合工具之一。選擇該工具最主要的原因在于它與Xilinx的FPGA配合的很好。有人做過(guò)實(shí)驗(yàn),通過(guò)該工具綜合產(chǎn)生結(jié)果報(bào)表,再通過(guò)ISE產(chǎn)生真實(shí)布局布線后的報(bào)表。對(duì)這兩個(gè)報(bào)表的時(shí)序估計(jì)部分進(jìn)行對(duì)比,我們發(fā)現(xiàn)兩者之間驚人的相似,最差路徑之間的差別不超過(guò)1ns。
4)布局布線階段解決時(shí)序問(wèn)題
當(dāng)綜合工作完成,進(jìn)入布局布線的階段后,仍然有兩種方法可以改善邏輯時(shí)序問(wèn)題。第一種是手動(dòng)增加并調(diào)整BUFG(Global Clock Buffer)。BUFG是Xilinx的全局時(shí)鐘資源,所有時(shí)鐘樹(shù)的起點(diǎn)都是BUFG,位于FPGA的北極和南極。當(dāng)布線后仍有負(fù)的slack時(shí),有可能是某些當(dāng)作時(shí)鐘使用的信號(hào)沒(méi)有被放上時(shí)鐘樹(shù),此時(shí)就要手動(dòng)將這些信號(hào)放上BUFG。若遇到門(mén)控時(shí)鐘,還應(yīng)該使用BUFGMUX資源。
5)代碼一致性
對(duì)于經(jīng)過(guò)FPGA驗(yàn)證的代碼而言,最擔(dān)心的是經(jīng)過(guò)驗(yàn)證的代碼和進(jìn)行流片的代碼不一致。導(dǎo)致這個(gè)現(xiàn)象產(chǎn)生的原因是多種的,其中版本控制和由于FPGA、ASIC專用器件不一致而引起的問(wèn)題是最常見(jiàn)的兩個(gè)問(wèn)題。
對(duì)于經(jīng)過(guò)FPGA驗(yàn)證的代碼,為了能夠使被測(cè)代碼可以順利的在FPGA進(jìn)行驗(yàn)證,一般都采取了FPGA專用的器件。這些FPGA專用器件在ASIC中是不存在的。為了解決這個(gè)問(wèn)題,通常采取"假代碼"(Fake Code)解決。顧名思義,"假代碼"就是在代碼中保留FPGA專用器件的名稱和接口,但是在FPGA和ASIC中使用不同的器件內(nèi)核。該器件若在FPGA下使用則使用FPGA專用器件,若在ASIC下使用,則使用自己編寫(xiě)的代碼。盡管這種做法仍然無(wú)法保證代碼的完全一致,但是卻最大限度的避免了代碼的差別。
評(píng)論