你是否會遇到以下問題:bug可能比較微妙,不直觀,無法手動推斷;或者在被觀察到之前就被激活很久了,傳統(tǒng)的模擬設計需要花很長時間自動;驗證工作量隨著設計復雜性的增加而增加,人工推理和手動編寫屬性不再可行,等等。目前驗證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ù)學方法來推導DUV和待證明屬性規(guī)范之間的邏輯關系,通常是證明DUV的形式化模型能滿足所有形式化屬性規(guī)范。
形式化驗證的基本步驟:
系統(tǒng)建模:把系統(tǒng)轉換為能被模型檢測工具所接受的形式。這是模型檢測的首要步驟,構建系統(tǒng)模型時為了提高驗證過程的效率及可行性需要將和要驗證的屬性無關的細節(jié)抽象掉,僅保留與此相關的細節(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(快速錯誤檢測)是一種識別錯誤的方法(主要在處理器中,但也可用于其他組件),它將一組原始測試轉換為QED檢查。這涉及到將寄存器文件分成兩部分,其中一半用于原始指令,另一半用于重復的指令序列,原始序列和復制序列都以相同的順序執(zhí)行相同的指令,但它們是交錯的,在原始指令序列和復制指令序列完成后,寄存器文件的兩部分應該匹配。
根據(jù)經(jīng)驗,與傳統(tǒng)技術相比,這種方法可以將bug trace的長度減少多達6個數(shù)量級。
Bounded Model Checking(BMC)用于驗證有限狀態(tài)模型的正確性。它通過遍歷有限長度的路徑來檢查模型是否滿足給定的性質。
SQED基于BMC進行符號運算搜索所有指令序列組合。這為我們提供了一種無需編寫測試就可以驗證處理器的方法,也不需要提供任何手寫屬性,只依賴于SQED檢查。是對傳統(tǒng)的形式驗證方法的突破。
NO.3
基于SQED的指令集形式驗證具有如下特點
全自動驗證:Symbolic Instructions + Self-Consistency Checking,不需要開發(fā)屬性集。
高覆蓋率:BMC工具搜索給定深度的所有指令序列。
最簡bug復現(xiàn):BMC工具自動生成從復位狀態(tài)到bug site的最短路徑。
借助AveMC高性能形式驗證平臺,AveMC/SQED組合為芯片設計指令集驗證提供了全新的驗證解決方案。
NO.4
AveMC在開源RISC-V上的SQED驗證過程: 給定RISC-V核的RTL實現(xiàn)和ISA SPEC,從ISA SPEC中自動解析生成QED Module(一個新的RTL),將原有的RISC-V核和QED Module連接起來。這里AveMC就可以直接進行驗證了。
指令集形式驗證是芯片設計驗證中的新興方向,在RISCV和AI/ML硬件加速芯片的驗證中得到越來越廣泛的應用。SQED是指令集形式驗證領域的新興工具,它通過完全自測試的特性解決了驗證屬性開發(fā)的低效和覆蓋率問題。在上海阿卡思微電子技術有限公司形式驗證平臺AveMC上,SQED得到了成功的實現(xiàn)。與開源形式驗證工具相比,AveMC/SQED不僅提升了驗證速度,還能發(fā)現(xiàn)其他工具無法發(fā)現(xiàn)的bug。
上海阿卡思微電子技術有限公司由硅谷回國的資深電子設計自動化(EDA)專家于2020年在上海張江高科技園區(qū)設立,旗下子公司成都奧卡思微電科技有限公司于2018年在成都高新區(qū)創(chuàng)立,公司聚集國際知名EDA公司和芯片設計公司具有多年研發(fā)經(jīng)驗的尖端人才,基于形式化方法為邏輯芯片設計和工控軟件等提供驗證工具及咨詢服務,憑借在形式化方法領域深厚的技術積累及深入的產(chǎn)品實踐,公司已推出系列商用性能優(yōu)異的驗證工具,服務于復雜芯片設計及通用設計流程,獲得多個標桿客戶的采購使用。在研產(chǎn)品及應用包括高階等價驗證、功能安全等,覆蓋數(shù)字信息、智能硬件、航空航天、人工智能等行業(yè)需求。公司將最新的EDA技術與本土用戶需求相結合,服務于中國集成電路自主可控設計;將產(chǎn)品開發(fā)與數(shù)字產(chǎn)業(yè)趨勢相結合,服務于中國技術創(chuàng)新與技術趕超;將技術推廣與產(chǎn)品優(yōu)化相結合,服務于海內外需求市場。致力于成為國內領先的形式化技術開發(fā)與服務商。
審核編輯:湯梓紅
-
cpu
+關注
關注
68文章
10901瀏覽量
212677 -
芯片設計
+關注
關注
15文章
1028瀏覽量
54972 -
指令集
+關注
關注
0文章
227瀏覽量
23408 -
RISC-V
+關注
關注
45文章
2322瀏覽量
46390
原文標題:基于AveMC/SQED的RISC-V指令集驗證,芯片設計驗證領域的一個新興方向
文章出處:【微信號:gh_ca7d2d1f4371,微信公眾號:阿卡思微電子】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論