你是否會遇到以下問題:bug可能比較微妙,不直觀,無法手動推斷;或者在被觀察到之前就被激活很久了,傳統(tǒng)的模擬設(shè)計需要花很長時間自動;驗證工作量隨著設(shè)計復(fù)雜性的增加而增加,人工推理和手動編寫屬性不再可行,等等。目前驗證CPU的主流方法,如HW Testbench,
Universal Verification Methodology (UVM),
SW Testbench, Property Checking,
這些現(xiàn)有方法具有范圍受限、仿真較慢、long bug traces、需要手動編寫test的特點。
那么,如何可靠、快速、自動地驗證處理器硬件,并且生成bug trace?
NO.1
形式化驗證的開展基于形式化規(guī)范和自動推理。其中形式化規(guī)范是指通過形式化語言將DUV和待證明的屬性建模成形式化模型,自動推理是指通過嚴格的數(shù)學(xué)方法來推導(dǎo)DUV和待證明屬性規(guī)范之間的邏輯關(guān)系,通常是證明DUV的形式化模型能滿足所有形式化屬性規(guī)范。
形式化驗證的基本步驟:
系統(tǒng)建模:把系統(tǒng)轉(zhuǎn)換為能被模型檢測工具所接受的形式。這是模型檢測的首要步驟,構(gòu)建系統(tǒng)模型時為了提高驗證過程的效率及可行性需要將和要驗證的屬性無關(guān)的細節(jié)抽象掉,僅保留與此相關(guān)的細節(jié),這是一個比較簡單但通常會比較繁瑣的過程。
形式化規(guī)范:在對模型進行驗證之前以邏輯公式的形式給出待驗證的屬性。命題時態(tài)邏輯能夠表達出系統(tǒng)的行為如何隨著時間而發(fā)生變化,因而通常被用來描述規(guī)范。一條規(guī)范只是描述了系統(tǒng)某一個屬性,一組規(guī)范是否覆蓋了系統(tǒng)需要滿足的所有屬性一直是個開放問題。規(guī)范開發(fā)的人力投入也是長期困擾形式驗證的問題。
形式化驗證:模型檢測工具對輸入的模型的狀態(tài)空間進行搜索來確定輸入的規(guī)范是否為真,為真表示模型滿足規(guī)范;為假則表示模型不滿足規(guī)范,此時會給出一個反例來說明規(guī)范為假的原因。
NO.2
QED(快速錯誤檢測)是一種識別錯誤的方法(主要在處理器中,但也可用于其他組件),它將一組原始測試轉(zhuǎn)換為QED檢查。這涉及到將寄存器文件分成兩部分,其中一半用于原始指令,另一半用于重復(fù)的指令序列,原始序列和復(fù)制序列都以相同的順序執(zhí)行相同的指令,但它們是交錯的,在原始指令序列和復(fù)制指令序列完成后,寄存器文件的兩部分應(yīng)該匹配。
根據(jù)經(jīng)驗,與傳統(tǒng)技術(shù)相比,這種方法可以將bug trace的長度減少多達6個數(shù)量級。
Bounded Model Checking(BMC)用于驗證有限狀態(tài)模型的正確性。它通過遍歷有限長度的路徑來檢查模型是否滿足給定的性質(zhì)。
SQED基于BMC進行符號運算搜索所有指令序列組合。這為我們提供了一種無需編寫測試就可以驗證處理器的方法,也不需要提供任何手寫屬性,只依賴于SQED檢查。是對傳統(tǒng)的形式驗證方法的突破。
NO.3
基于SQED的指令集形式驗證具有如下特點
全自動驗證:Symbolic Instructions + Self-Consistency Checking,不需要開發(fā)屬性集。
高覆蓋率:BMC工具搜索給定深度的所有指令序列。
最簡bug復(fù)現(xiàn):BMC工具自動生成從復(fù)位狀態(tài)到bug site的最短路徑。
借助AveMC高性能形式驗證平臺,AveMC/SQED組合為芯片設(shè)計指令集驗證提供了全新的驗證解決方案。
NO.4
AveMC在開源RISC-V上的SQED驗證過程: 給定RISC-V核的RTL實現(xiàn)和ISA SPEC,從ISA SPEC中自動解析生成QED Module(一個新的RTL),將原有的RISC-V核和QED Module連接起來。這里AveMC就可以直接進行驗證了。

指令集形式驗證是芯片設(shè)計驗證中的新興方向,在RISCV和AI/ML硬件加速芯片的驗證中得到越來越廣泛的應(yīng)用。SQED是指令集形式驗證領(lǐng)域的新興工具,它通過完全自測試的特性解決了驗證屬性開發(fā)的低效和覆蓋率問題。在上海阿卡思微電子技術(shù)有限公司形式驗證平臺AveMC上,SQED得到了成功的實現(xiàn)。與開源形式驗證工具相比,AveMC/SQED不僅提升了驗證速度,還能發(fā)現(xiàn)其他工具無法發(fā)現(xiàn)的bug。
上海阿卡思微電子技術(shù)有限公司由硅谷回國的資深電子設(shè)計自動化(EDA)專家于2020年在上海張江高科技園區(qū)設(shè)立,旗下子公司成都奧卡思微電科技有限公司于2018年在成都高新區(qū)創(chuàng)立,公司聚集國際知名EDA公司和芯片設(shè)計公司具有多年研發(fā)經(jīng)驗的尖端人才,基于形式化方法為邏輯芯片設(shè)計和工控軟件等提供驗證工具及咨詢服務(wù),憑借在形式化方法領(lǐng)域深厚的技術(shù)積累及深入的產(chǎn)品實踐,公司已推出系列商用性能優(yōu)異的驗證工具,服務(wù)于復(fù)雜芯片設(shè)計及通用設(shè)計流程,獲得多個標桿客戶的采購使用。在研產(chǎn)品及應(yīng)用包括高階等價驗證、功能安全等,覆蓋數(shù)字信息、智能硬件、航空航天、人工智能等行業(yè)需求。公司將最新的EDA技術(shù)與本土用戶需求相結(jié)合,服務(wù)于中國集成電路自主可控設(shè)計;將產(chǎn)品開發(fā)與數(shù)字產(chǎn)業(yè)趨勢相結(jié)合,服務(wù)于中國技術(shù)創(chuàng)新與技術(shù)趕超;將技術(shù)推廣與產(chǎn)品優(yōu)化相結(jié)合,服務(wù)于海內(nèi)外需求市場。致力于成為國內(nèi)領(lǐng)先的形式化技術(shù)開發(fā)與服務(wù)商。
審核編輯:湯梓紅
-
cpu
+關(guān)注
關(guān)注
68文章
11281瀏覽量
225100 -
芯片設(shè)計
+關(guān)注
關(guān)注
15文章
1155瀏覽量
56680 -
指令集
+關(guān)注
關(guān)注
0文章
229瀏覽量
24365 -
RISC-V
+關(guān)注
關(guān)注
48文章
2888瀏覽量
53052
原文標題:基于AveMC/SQED的RISC-V指令集驗證,芯片設(shè)計驗證領(lǐng)域的一個新興方向
文章出處:【微信號:gh_ca7d2d1f4371,微信公眾號:阿卡思微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
驗證RISC-V處理器的安全性
面向多核處理器的低級并行程序驗證
基于處理器硬件系統(tǒng)的電機控制設(shè)計實驗室
基于驗證庫的微處理器指令集驗證方法
Tensilica如何驗證處理器核心
通用處理器設(shè)計中硬件仿真驗證
快速開發(fā)基于Blackfin處理器的視頻應(yīng)用
英特爾至強處理器和Xeon Phi協(xié)處理器集群的性能驗證
關(guān)于RISC-V 處理器驗證的問題
基于形式驗證的高效RISC-V處理器驗證方法
利用先進形式驗證工具來高效完成RISC-V處理器驗證
如何可靠、快速、自動地驗證處理器硬件
評論