創(chuàng)建定制ASIC(專用集成電路)的一個重要階段是驗證定制ASIC是否以可能達(dá)到的最佳方式完成其任務(wù)。一般可通過合成并運行RTL來驗證,判斷ASIC的運行情況是否符合最初設(shè)定的性能規(guī)范。經(jīng)過調(diào)整設(shè)計后,其性能會隨著每次RTL運行有所提升,但每個迭代周期都需要數(shù)周才能產(chǎn)生影響。
Sondrel開發(fā)了一種名為性能驗證環(huán)境(PVE)的方法,據(jù)此創(chuàng)建Synopsys?SystemC仿真模型,并通過模型調(diào)整各類參數(shù),從而了解參數(shù)變化對性能規(guī)范的影響。每個變量無需花費過長時間即可建模并在數(shù)小時內(nèi)運行,而若是嘗試使用RTL仿真則需數(shù)周時間。RTL仿真日益精確,但相比于這種新的建模方式在數(shù)日內(nèi)即可達(dá)到最佳配置的速度而言,其精確度就顯得微不足道了。精確度和速度之間已經(jīng)達(dá)成了一定的平衡。這使得Sondrel借助配置方便快速且風(fēng)險較小的優(yōu)點,成功為客戶創(chuàng)建了許多項目。
?
該方法首先使用勘探平臺獲取并導(dǎo)出所有交易追蹤結(jié)果到Sondrel的PVE,該PVE使用了基于Synopsys VCS?、Synopsis DVE、Synopsys Verdi?產(chǎn)品的Python-in-SystemC內(nèi)嵌技術(shù)。它還可以作為Mentor ?Questa? 和Cadence? Xcelium? 等其他EDA供應(yīng)商的支持工具。
?
PVE插圖左側(cè)即為PVE的測試臺編譯流程,使用了某知名EDA供應(yīng)商的RTL編譯器。該編譯器采用Sondrel PVE(由SystemC和Python代碼構(gòu)成),并將其與生成的RTL和Python3.9的二進(jìn)制(可作為開源工具)相結(jié)合,由此創(chuàng)建模擬器屏幕截圖應(yīng)用程序,即運行測試的最終可執(zhí)行程序。
?
如流程圖右側(cè)所示,在運行該程序時,自周期精確的SystemC仿真架構(gòu)的選取使用案例追蹤,系統(tǒng)架構(gòu)師提供腳本讀取追蹤信息,并以FSDB波形數(shù)據(jù)庫的輸出進(jìn)行仿真運用。如有必要,可以使用Verdi、DVE、Questa和Xceium定義的標(biāo)準(zhǔn)工具和方法進(jìn)行調(diào)試。
該方法的優(yōu)勢在于,由于RTL仿真可提供詳盡的仿真細(xì)節(jié),可以暴露勘探平臺上并不明顯的RTL問題。此外,整個流程也可以在UVM環(huán)境準(zhǔn)備就緒前完成,提前明確RTL的運行狀態(tài)。多數(shù)情況下,和獲取System Verilog-UVM知識相比,它在獲取Python知識時更易操作,因此這種方法對架構(gòu)師和性能工程師而言非常便捷易行。
?