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