產(chǎn)品服務(wù)
什么是DUT?芯片驗證,尤其是數(shù)字芯片需要圍繞DUT做什么?當(dāng)我復(fù)盤了整個芯片驗證周期,答案也呼之欲出。面對復(fù)雜的設(shè)計代碼,工程師們通常使用軟件仿真、硬件仿真和原型驗證等驗證策略加速驗證收斂。上回我們解釋了軟件仿真和硬件仿真是如何圍繞DUT進(jìn)行工作的。不清楚的小伙伴可以回看前兩集。
今天我們來說說原型驗證。原型驗證將設(shè)計映射到FPGA陣列,通過模擬芯片的功能和應(yīng)用環(huán)境,來驗證芯片整體功能,并提供片上軟件開發(fā)環(huán)境。相比硬件仿真,原型驗證的運行速度更接近于真實芯片,可以配合軟件工程師來進(jìn)行底層軟件的開發(fā)。這一流片前的軟硬件協(xié)同開發(fā),是其最不可替代的地方。再相比軟件仿真,原型驗證有更大的優(yōu)勢。軟件仿真使用的激勵源模型與真實數(shù)據(jù)存在一定差異,這導(dǎo)致它無法完全覆蓋所有的Corner Case。這時,原型驗證就顯示出了其不可替代的重要性。
以下是DUT在原型驗證流程中的關(guān)鍵步驟,包括設(shè)計分割、分割后的系統(tǒng)級時序分析、編程和下載、功能驗證調(diào)試等。
設(shè)計分割:在開始階段,需要對DUT進(jìn)行分割,以適應(yīng)FPGA的資源限制。因為單一的FPGA無法容納超大規(guī)模的設(shè)計,我們利用特殊工具將設(shè)計邏輯分割成更小的部分,然后將每個部分映射到一個或多個FPGA上。這樣做需要在保持設(shè)計整體性的同時,盡可能減少跨FPGA的信號數(shù)量,以降低路徑延遲,提高系統(tǒng)性能。以思爾芯的芯神瞳原型驗證解決方案為例,在芯神瞳RTL級的設(shè)計分割流程中,邏輯綜合是將DUT轉(zhuǎn)化為FPGA能理解的網(wǎng)表的過程。在分割后的設(shè)計中插入TDM(時分復(fù)用)是影響系統(tǒng)性能的關(guān)鍵步驟,其目的是通過時分復(fù)用來傳輸那些超過物理連接數(shù)量的互聯(lián)信號。最后,映射和布局布線是將綜合后的設(shè)計分配到FPGA的特定資源上,比如查找表、觸發(fā)器、DSP模塊等,然后進(jìn)行布局布線。
時序分析:時序分析是確認(rèn)設(shè)計在FPGA上運行時滿足所有時序要求的步驟,包括單個FPGA和整體系統(tǒng)的時序要求。由于設(shè)計被分割,考慮到分割造成的路徑延遲,主要由時分復(fù)用(TDM)和跨FPGA連線延遲構(gòu)成。若存在不滿足時序的路徑,可通過優(yōu)化時序約束、設(shè)計、流水線設(shè)計、調(diào)整分割邊界和布局布線等提升時序性能,達(dá)到預(yù)期時鐘頻率,降低延遲。原型驗證系統(tǒng)的運行頻率是關(guān)鍵性能指標(biāo)。提高頻率可通過調(diào)整分割邊界、優(yōu)化分割后TDM、布局布線約束和使用時序驅(qū)動的分割算法,降低關(guān)鍵路徑延遲,提升系統(tǒng)性能。
編程和下載:將映射和布局布線后的設(shè)計編譯為FPGA的比特文件;搭建各個FPGA之間的互聯(lián)組網(wǎng)結(jié)構(gòu),然后將比特文件下載到對應(yīng)的各個FPGA上。下載完成后根據(jù)需要對全局時鐘、全局復(fù)位以及其他外圍IP進(jìn)行配置。這確保了DUT可以在原型上正確地運行。
功能驗證調(diào)試:這個階段主要是測試DUT在FPGA上運行時的功能的正確性。我們可以通過實際的硬件接口或虛擬IO接口對DUT進(jìn)行測試,以驗證其是否符合預(yù)期。
芯神瞳就提供了基于時序驅(qū)動的RTL級分割算法,能夠?qū)崿F(xiàn)全自動的分割編譯流程。其內(nèi)置的增量編譯算法功能可以幫助用戶完成快速迭代的版本迭代,大大提高用戶開發(fā)驗證效率。
縱觀軟件仿真、硬件仿真、原型驗證這三種方法通過各自的優(yōu)點和功能,共同為芯片設(shè)計提供了一種全面而高效的驗證手段,有助于加速整個芯片開發(fā)周期,同時確保設(shè)計的正確性。
歡迎點贊、關(guān)注加轉(zhuǎn)發(fā),為你帶來更多EDA硬核科普。