隨著后摩爾時代的到來,5G、AI、自動駕駛等眾多熱門應(yīng)用不斷涌現(xiàn),芯片規(guī)模呈指數(shù)級增長,十億門甚至幾十億門的芯片設(shè)計(jì)比比皆是,大芯片的驗(yàn)證效率問題已成為芯片設(shè)計(jì)公司的一大痛點(diǎn)。
在這樣的背景下,FPGA(現(xiàn)場可編程門陣列)原型驗(yàn)證已發(fā)展為芯片公司不可缺少的驗(yàn)證方法。
Part 1
什么是FPGA原型驗(yàn)證?
FPGA原型驗(yàn)證,是基于FPGA的一種芯片功能驗(yàn)證方式。它利用了FPGA可以多次擦寫的特性,在芯片RTL代碼開發(fā)的過程中,將RTL代碼綜合到FPGA上來做芯片的功能驗(yàn)證。其目的是在芯片流片之前,為芯片開發(fā)團(tuán)隊(duì)提供一個可以反復(fù)迭代的邏輯驗(yàn)證平臺。在芯片設(shè)計(jì)定型之后,流片回片之前,為軟件開發(fā)團(tuán)隊(duì)提供一個可以提前開發(fā)軟件功能的硬件環(huán)境,縮短芯片回片之后產(chǎn)品的上市時間。這個驗(yàn)證環(huán)境能夠讓芯片驗(yàn)證與軟件驗(yàn)證并行,確保芯片軟硬件功能在真實(shí)應(yīng)用場景中準(zhǔn)確無誤。
Part 2
為什么要使用FPGA原型驗(yàn)證?
現(xiàn)代SoC芯片是一個軟硬件協(xié)同運(yùn)行的系統(tǒng),上面有復(fù)雜的軟件運(yùn)行,幫助芯片實(shí)現(xiàn)各種功能。與芯片協(xié)同工作的軟件系統(tǒng),其設(shè)計(jì)、開發(fā)和驗(yàn)證工作需要和芯片設(shè)計(jì)驗(yàn)證工作同步展開。這樣才能保證芯片功能正確,降低芯片流片失敗的風(fēng)險(xiǎn),縮短產(chǎn)品的上市周期。
為了保證芯片功能正確,在芯片RTL代碼開發(fā)之后,需要經(jīng)過一系列的驗(yàn)證流程。常見的數(shù)字芯片驗(yàn)證手段,包括邏輯功能仿真、形式化驗(yàn)證、硬件加速器和FPGA原型驗(yàn)證等。
這幾種常見的數(shù)字芯片驗(yàn)證手段中,F(xiàn)PGA原型驗(yàn)證技術(shù)是最適合芯片軟硬件協(xié)同功能的驗(yàn)證技術(shù)之一。FPGA原型驗(yàn)證平臺可以提供調(diào)試芯片軟件必要的真實(shí)物理接口和硬件環(huán)境。這是邏輯功能仿真和形式化驗(yàn)證無法提供的。
相比硬件加速器,F(xiàn)PGA原型驗(yàn)證平臺的軟件運(yùn)行速度快一個數(shù)量級,局部或某些接口邏輯代碼可以按照更接近真實(shí)芯片的頻率運(yùn)行,很大程度縮短了軟件運(yùn)行的調(diào)試時間和驗(yàn)證迭代的周期,同時也使得軟硬件開發(fā)驗(yàn)證并行成為可能。在芯片驗(yàn)證流程中,F(xiàn)PGA原型驗(yàn)證技術(shù)是軟硬件協(xié)同功能驗(yàn)證的必備解決方案,具有顯著的不可替代性。
因此,F(xiàn)PGA原型驗(yàn)證技術(shù),作為主流且成熟的芯片驗(yàn)證方法,已成為數(shù)字芯片公司不可或缺的驗(yàn)證工具。
Part 3
在FPGA原型驗(yàn)證中
為什么分割引擎非常重要?
FPGA原型驗(yàn)證的原理是將芯片RTL代碼綜合到FPGA上來驗(yàn)證芯片的功能。對于目前主流行業(yè)應(yīng)用而言,芯片規(guī)模通常達(dá)到上億門甚至數(shù)十億門,一顆FPGA的容量難以容納下芯片的所有邏輯功能。用戶需要設(shè)法將大的設(shè)計(jì)分割為若干個小的部分,配置到多顆FPGA中,從而來實(shí)現(xiàn)整個設(shè)計(jì)的邏輯功能。
目前市場上大部分的FPGA原型驗(yàn)證平臺,仍然是需要用戶手動分割,需要花費(fèi)很多精力并且容易出錯。而領(lǐng)先的原型驗(yàn)證平臺可以通過分割引擎來實(shí)現(xiàn)自動化分割,自動化分割引擎是否智能、高效,直接影響FPGA的資源分配和使用率、系統(tǒng)運(yùn)行速度、編譯時間以及迭代周期,從而進(jìn)一步影響芯片產(chǎn)品的上市時間。
因此,合見工軟在2022年6月推出了時序驅(qū)動全流程編譯軟件APS Compiler,配合高性能的UV APS原型驗(yàn)證系統(tǒng),面對十億門以上設(shè)計(jì),可自動化快速實(shí)現(xiàn)更卓越的性能,很大程度降低用戶的初期部署成本。
APS Compiler集成了業(yè)界領(lǐng)先的時序驅(qū)動引擎,可通過1:1024大范圍的TDM Ratio自動尋求更優(yōu)解,輕松處理多達(dá)100顆FPGA的設(shè)計(jì)容量,無論是性能還是自動化程度均可媲美業(yè)界前沿的同類工具。
那么APS Complier具體是如何實(shí)現(xiàn)高智能、全自動的呢?
Part 4
時序驅(qū)動全流程編譯軟件
APS Complier的三大特性
特性一:超大規(guī)模容量支持
當(dāng)前芯片設(shè)計(jì)規(guī)模越來越大,這就要求FPGA原型驗(yàn)證平臺的容量也足夠大。APS Complier在架構(gòu)設(shè)計(jì)之初,就考慮到了這種需求。我們的分割引擎采用業(yè)內(nèi)創(chuàng)新的架構(gòu),通過時序驅(qū)動的分割算法,可以輕松支持百片F(xiàn)PGA規(guī)模的芯片設(shè)計(jì)分割任務(wù)。
特性二:運(yùn)行速度大幅提升
由于主流芯片的設(shè)計(jì)頻率很高,為了讓原型驗(yàn)證平臺盡可能和芯片性能接近,我們需要讓FPGA原型平臺保持在盡可能高的頻率上運(yùn)行,而這是由FPGA之間互聯(lián)的路徑?jīng)Q定的,這些互聯(lián)一般以時分復(fù)用的方式來實(shí)現(xiàn)。
APS Complier集成了業(yè)內(nèi)先進(jìn)的全路徑時序驅(qū)動分割引擎,與傳統(tǒng)的Cut-size Driven的分割方式相比,它優(yōu)勢在于能夠根據(jù)靜態(tài)時序分析結(jié)果,自動識別并考慮每一條跨越FPGA互聯(lián)的關(guān)鍵路徑信號所在時鐘域的頻率和時序要求,實(shí)現(xiàn)快速迭代,優(yōu)化FPGA之間的跳數(shù),選擇更優(yōu)的時分復(fù)用比例,最終整體提升FPGA驗(yàn)證平臺運(yùn)行速度。
特性三:快速編譯和迭代
隨著FPGA規(guī)模不斷加大,它需要的編譯時間也不斷增加。這導(dǎo)致FPGA布局布線的時間占據(jù)了FPGA原型驗(yàn)證平臺編譯的絕大部分時間。當(dāng)出現(xiàn)資源使用率過高導(dǎo)致的擁塞和過高要求的時序約束時,編譯時間更會大大拉長。
APS Complier可以根據(jù)時序約束要求和資源使用率設(shè)置,智能分割大規(guī)模芯片設(shè)計(jì)到多片F(xiàn)PGA上,優(yōu)化和平衡每個FPGA內(nèi)部的資源使用率和時序約束,達(dá)到更大化縮短每片F(xiàn)PGA編譯時間的效果。
在迭代方面,我們知道SoC、ASIC驗(yàn)證過程中由于芯片設(shè)計(jì)迭代而常常帶來模塊增減,這導(dǎo)致原型驗(yàn)證中分割方案修改頻繁。APS Complier支持自動分割模式,很大程度縮短了首次系統(tǒng)分割成功的時間。同時,它還支持用戶向?qū)У姆指钅J竭M(jìn)行性能調(diào)優(yōu),并支持導(dǎo)入上次分割結(jié)果,很大程度縮短代碼微調(diào)后的迭代時間,提高了工作效率和生產(chǎn)力。
編輯:黃飛
?
評論
查看更多