那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于形式的高效 RISC-V 處理器驗(yàn)證方法

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-07-10 09:42 ? 次閱讀

RISC-V的開放性允許定制和擴(kuò)展基于 RISC-V 內(nèi)核的架構(gòu)和微架構(gòu),以滿足特定需求。這種對(duì)設(shè)計(jì)自由的渴望也正在將驗(yàn)證部分的職責(zé)轉(zhuǎn)移到不斷壯大的開發(fā)人員社群。然而,隨著越來越多的企業(yè)和開發(fā)人員轉(zhuǎn)型RISC-V,大家才發(fā)現(xiàn)處理器驗(yàn)證絕非易事。新標(biāo)準(zhǔn)由于其新穎和靈活性而帶來的新功能會(huì)在無意中產(chǎn)生規(guī)范和設(shè)計(jì)漏洞,因此處理器驗(yàn)證是處理器開發(fā)過程中一項(xiàng)非常重要的環(huán)節(jié)。

在復(fù)雜性一般的RISC-V 處理器內(nèi)核的開發(fā)過程中,會(huì)發(fā)現(xiàn)數(shù)百甚至數(shù)千個(gè)漏洞。當(dāng)引入更多高級(jí)特性的時(shí)候,也會(huì)引入復(fù)雜程度各不相同的新漏洞。而某些類型的漏洞過于復(fù)雜,導(dǎo)致在仿真環(huán)節(jié)都無法找到它們。因此必須通過添加形式驗(yàn)證來賦能 RTL 驗(yàn)證方法。從極端漏洞到隱匿式漏洞,形式驗(yàn)證能夠讓您在合理的處理時(shí)間內(nèi)詳盡地探索所有狀態(tài)。

在本文中,我們將介紹一個(gè)基于形式驗(yàn)證的、易于調(diào)動(dòng)的 RISC-V 處理器驗(yàn)證程序。與 RISC-V ISA 黃金模型和 RISC-V 合規(guī)性自動(dòng)生成的檢查一起,展示了如何有效地定位那些無法進(jìn)行仿真的漏洞。通過為每條指令提供一組專用的斷言模板來實(shí)現(xiàn)高度自動(dòng)化,不再需要手動(dòng)設(shè)計(jì),從而提高了形式驗(yàn)證團(tuán)隊(duì)的工作效率。

1、基于先進(jìn)內(nèi)核的處理器開發(fā)

嵌入式系統(tǒng)的應(yīng)用越來越廣泛,同時(shí)對(duì)處理器的性能、功耗和面積(PPA)要求越來越高,因此我們將這樣的產(chǎn)業(yè)和技術(shù)背景下用實(shí)際案例來分析處理器的驗(yàn)證。Codasip L31 是一款用于微控制器應(yīng)用的 32 位中端嵌入式 RISC-V 處理器內(nèi)核。作為一款多功能、低功耗、通用型的 CPU,它實(shí)現(xiàn)了性能和功耗的理想平衡。從物聯(lián)網(wǎng)設(shè)備到工業(yè)和汽車控制,或作為大型系統(tǒng)中的深度嵌入式內(nèi)核,L31可在一個(gè)非常小巧緊湊的硅片面積中實(shí)現(xiàn)本地處理能力。L31是通過 Codasip Studio 使用 CodAL 語(yǔ)言設(shè)計(jì)而成,該內(nèi)核完全可定制,包括經(jīng)典的擴(kuò)展和特性,以及實(shí)現(xiàn)這些擴(kuò)展和特性所需的高效和徹底的驗(yàn)證。

1685495502743186.png

圖1 Codasip L31處理器內(nèi)核架構(gòu)圖解(來源:Codasip)

表 1 Codasip L31內(nèi)核展示了RISC-V處理器的優(yōu)異特性

特性 描述
指令集架構(gòu) (ISA) RV32 I/M/C/F/B
流水線 3級(jí)順序流水線
分支預(yù)測(cè)器 可選,優(yōu)化過的單線程性能
并行乘法器 并行實(shí)現(xiàn),單周期乘法
序列除法器 順序執(zhí)行
內(nèi)存保護(hù) ●具有 2/4/8/16 個(gè)區(qū)域的可選MPU
●具有 2/4/8/16 個(gè)區(qū)域的物理內(nèi)存屬性
機(jī)器和用戶權(quán)限模式
耦合存儲(chǔ)器 (TCM) ●指令和數(shù)據(jù)TCM
●可定制大小高達(dá)2MB
AHB-Lite TCM 輔助端口
接口 用于獲取和數(shù)據(jù)的 32 位 AHB-Lite 接口(帶緩存的 AXI-Lite)
浮點(diǎn)單元 (FPU) 可選,單精度
調(diào)試 ●標(biāo)準(zhǔn) RISC-V 調(diào)試
●2/4 JTAG
●2-8 個(gè)斷點(diǎn)和觀察點(diǎn)
●系統(tǒng)總線接入
中斷 ●中斷控制器
●標(biāo)準(zhǔn) RISC-V CLINT 執(zhí)行
●多達(dá) 128 個(gè)中斷
●WFI(等待中斷)
●NMI(不可屏蔽中斷)

2 創(chuàng)建最優(yōu)的RISC-V處理器驗(yàn)證方法

處理器驗(yàn)證需要制定合適的策略、勤勉的工作流程和完整性,而方興未艾的、更加靈活的RISC-V處理器開發(fā)則需要針對(duì)自己處理器功能設(shè)置做詳盡的驗(yàn)證規(guī)劃;也需要參考一些內(nèi)核供應(yīng)商的內(nèi)外部因素,比如該供應(yīng)商自己的開發(fā)工具體現(xiàn)和外部開發(fā)工具伙伴,以及同系、同款或者同廠內(nèi)核的出貨量等。

驗(yàn)證處理器意味著需要考慮諸多不確定性。最終產(chǎn)品將運(yùn)行什么軟件?用例是什么?可能發(fā)生哪些異步事件?這些未知數(shù)意味著較大的驗(yàn)證范圍。然而,覆蓋整個(gè)處理器狀態(tài)空間是無法實(shí)現(xiàn)的,這也不是Codasip這樣的領(lǐng)先內(nèi)核供應(yīng)商的目標(biāo)。

在確保處理器品質(zhì)的同時(shí),充分利用時(shí)間和資源才是處理器驗(yàn)證的正解。明智的處理器驗(yàn)證意味著在產(chǎn)品開發(fā)過程中盡早并高效地發(fā)現(xiàn)相關(guān)漏洞。在頂層方面,Codasip提供了多種創(chuàng)新的驗(yàn)證路徑,其驗(yàn)證方法基于以下內(nèi)容:

驗(yàn)證是在處理器開發(fā)期間與設(shè)計(jì)團(tuán)隊(duì)合作完成的。

驗(yàn)證是所有行業(yè)標(biāo)準(zhǔn)技術(shù)的組合。使用多種技術(shù)可以讓您最大限度地發(fā)揮每一種技術(shù)的潛力,并有效地覆蓋盡可能多的極端情況。

驗(yàn)證需持續(xù)進(jìn)行。有效的辦法是運(yùn)用隨著處理器復(fù)雜程度而不斷發(fā)展的技術(shù)組合。

在驗(yàn)證L31內(nèi)核時(shí),我們的想法是讓仿真和形式驗(yàn)證相輔相成。

2.1仿真的優(yōu)勢(shì)和目的

仿真實(shí)際上不可或缺,它允許我們?cè)趦蓚€(gè)級(jí)別上進(jìn)行驗(yàn)證設(shè)計(jì):

頂層仿真(Top-level),主要是為了確保設(shè)計(jì)在最常見的情況下符合其規(guī)范(CPU 的 ISA)。

塊級(jí)仿真(Block-level),以確保微架構(gòu)按照預(yù)期設(shè)計(jì)。然而,很難將這些檢查與頂層架構(gòu)規(guī)范聯(lián)系起來,因?yàn)檫@通常依賴于定向隨機(jī)測(cè)試生成,因此能夠應(yīng)付棘手和不尋常的情況。

頂層仿真通常不像塊級(jí)仿真那樣特意強(qiáng)調(diào)設(shè)計(jì)。因此,它可以實(shí)現(xiàn)針對(duì) ISA 的設(shè)計(jì)的整體驗(yàn)證。

2.2形式驗(yàn)證的優(yōu)勢(shì)和目的

形式驗(yàn)證使用數(shù)學(xué)技術(shù)對(duì)以斷言形式編寫的問題提供有關(guān)設(shè)計(jì)的明確答案。

形式驗(yàn)證工具對(duì)斷言和設(shè)計(jì)的組合進(jìn)行詳盡的分析。不需要指定任何刺激,除了指定一些非正常情況以避免假漏洞。該驗(yàn)證工具可以提供詳盡的“已證實(shí)”答案或“失敗”答案,同時(shí)生成顯示刺激的波形,證明斷言是錯(cuò)誤的。在大型和復(fù)雜的設(shè)計(jì)中,工具有時(shí)只能提供有限的證明,這意味著從重置到特定數(shù)量的周期都不存在漏洞場(chǎng)景。同時(shí)也存在不同的技術(shù)方法來增加該周期循環(huán)次數(shù),或獲得“已證明”或“失敗”的答案。

形式驗(yàn)證用于以下情況:

為完整的驗(yàn)證一個(gè)模塊,潛在地消除了任何仿真的需要。由于形式驗(yàn)證的計(jì)算復(fù)雜性,形式化驗(yàn)收(sign-off)僅限于小模塊。

除了仿真之外,還要驗(yàn)證一個(gè)模塊,即使是個(gè)大模塊,因?yàn)樾问津?yàn)證能夠在極端情況下找到漏洞,而隨機(jī)仿真只能“靠運(yùn)氣”找到,而且概率非常低。

處理一些仿真不充分的驗(yàn)證任務(wù),例如時(shí)鐘門控、X態(tài)傳播(X-propagation)、數(shù)據(jù)增量處理(CDC)、等價(jià)性檢查等。

幫助調(diào)查缺少調(diào)試信息的已知漏洞,并確定潛在的設(shè)計(jì)修復(fù)。

對(duì)漏洞進(jìn)行分類和識(shí)別,以便通過形式驗(yàn)證來學(xué)習(xí)和改進(jìn)測(cè)試平臺(tái)/仿真。

為了潛在地幫助仿真,填充覆蓋范圍中的漏洞。

3解決方案:一種基于形式驗(yàn)證的高效的 RISC-V 處理器驗(yàn)證方法

為了獲得一種高效的RISC-V處理器驗(yàn)證方法,我們決定以采用西門子EDA 處理器驗(yàn)證APP來高效驗(yàn)證Codasip L31 RISC-V 內(nèi)核為例,來進(jìn)行詳盡的說明。該工具的目標(biāo)是確保 RTL 級(jí)別的處理器設(shè)計(jì)正確且詳盡地實(shí)現(xiàn)指令集架構(gòu) (ISA)規(guī)范,而本文希望介紹的是一種端到端的解決方案

1.該工具從一個(gè)頂層并有效的“黃金模型”中生成以下:

Verilog 語(yǔ)言中,ISA 的單周期執(zhí)行模型。

一組斷言,用于檢查待測(cè)試模塊 (DUT)和模型 (M)在架構(gòu)級(jí)別的功能是否相同。

注意:這并沒有進(jìn)行任何正式等價(jià)性檢查。

2.當(dāng)在 DUT 中獲取新指令 (I)時(shí),會(huì)捕獲架構(gòu)狀態(tài) (DUT-init)。

3.該指令在流水線中運(yùn)行。

4.捕獲另一個(gè)架構(gòu)狀態(tài)(DUT-final)。

5.M 被輸入 DUT-init 和 I,并計(jì)算出一個(gè)新的 M-final 狀態(tài)。

6.斷言檢查 M-final 和 DUT-final 中的資源是否具有相同的值。

1685495496934257.png

圖 2 3 級(jí) L31 內(nèi)核的端到端驗(yàn)證流程(當(dāng)驗(yàn)證指令 I 既沒有停止也沒有清除緩存數(shù)據(jù)時(shí))

這種端到端的驗(yàn)證方法可以在比整個(gè)CPU 更小、更簡(jiǎn)單的模塊(例如數(shù)據(jù)緩存)上合理實(shí)現(xiàn)。可以在緩存上寫入端到端斷言,以驗(yàn)證寫入特定地址的數(shù)據(jù)是否從同一地址正確讀取。這使用了眾所周知的形式驗(yàn)證技術(shù),例如記分牌算法

然而,對(duì)于 CPU來說,手動(dòng)編寫這樣的斷言是不可行的。它需要指定每條指令的語(yǔ)義,并與所有執(zhí)行模式交叉。這通常根本不可能實(shí)現(xiàn)。 CPU 的形式驗(yàn)證被分成更小的部分,但是仍然無法驗(yàn)證所有部分是否正確執(zhí)行了 ISA。

使用建議的方法意味著能夠立即驗(yàn)證完整的 L31 內(nèi)核,而無需編寫任何復(fù)雜的斷言。如上所述,黃金模型和檢查斷言是自動(dòng)生成的。

這種方法同時(shí)具有高度可配置性和自動(dòng)化性,特別是對(duì)于 RISC-V CPU,例如 L31:

用戶可以指定設(shè)計(jì)執(zhí)行的頂層 RISC-V 參數(shù)和擴(kuò)展。

該工具能夠自動(dòng)從設(shè)計(jì)中提取數(shù)據(jù),例如將架構(gòu)寄存器與實(shí)際每秒浮點(diǎn)運(yùn)算次數(shù)相關(guān)聯(lián)。

該工具允許添加自定義,例如用來驗(yàn)證的新指令(具有為用戶“擴(kuò)展”黃金模型的能力)。

最后,黃金模型不是由Codasip開發(fā)的(除了一些自定義部分),這一事實(shí)提供了額外的保證,這從驗(yàn)證獨(dú)立性的角度來看很重要。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19406

    瀏覽量

    231160
  • RISC-V
    +關(guān)注

    關(guān)注

    45

    文章

    2322

    瀏覽量

    46586
  • codasip
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    6245
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    驗(yàn)證RISC-V處理器的安全性

    。 本文討論了與硬件安全驗(yàn)證相關(guān)的一些挑戰(zhàn),并介紹了一種基于形式方法來解決。實(shí)現(xiàn)流行的RISC-V指令集架構(gòu)(ISA)的設(shè)計(jì)示例展示了這種方法
    的頭像 發(fā)表于 03-16 10:47 ?9769次閱讀
    <b class='flag-5'>驗(yàn)證</b><b class='flag-5'>RISC-V</b><b class='flag-5'>處理器</b>的安全性

    學(xué)習(xí)RISC-V入門 基于RISC-V架構(gòu)的開源處理器及SoC研究

    RISC-V架構(gòu)的開源處理器與SoC。1 RISC-V簡(jiǎn)介1.1 RISC-V的基本設(shè)計(jì)RISC-V是一個(gè)典型三操作數(shù)、加載-存儲(chǔ)
    發(fā)表于 07-27 18:09

    RISC-V是什么?如何去設(shè)計(jì)RISC-V處理器

    RISC-V是什么?有哪些特點(diǎn)?如何去設(shè)計(jì)RISC-V處理器
    發(fā)表于 06-18 09:24

    RISC-V開源處理器核介紹

    本期文章目錄一個(gè)小型RISC-V開源處理器核介紹!#SOC#FPGA#RISC-V點(diǎn)擊閱讀數(shù)字積木從零開始寫RISC-V處理器(超詳細(xì))#
    發(fā)表于 07-23 09:42

    香山處理器 RISC-V的典范

    https://github.com/JiaoXianjun/XiangShan談到RISC-V,應(yīng)該都會(huì)想到香山處理器。其經(jīng)歷了幾代的演進(jìn),性能越來越高。采用Chisel Rocketchip框架,能夠方便的定制屬于你的RISC-V
    發(fā)表于 04-14 15:51

    讀《玄鐵RISC-V處理器入門與實(shí)戰(zhàn)》

    是由美國(guó)伯克利大學(xué)的 Krest 教授及其研究團(tuán)隊(duì)提出的,當(dāng)時(shí)提出的初衷是為了計(jì)算機(jī)/電子類方向的學(xué)生做課程實(shí)踐服務(wù)的。由于這是伯克利大學(xué)研究并流片的第五代RISC架構(gòu)處理器,因此就命名為RISC-V
    發(fā)表于 09-28 11:58

    RISC-V是通用RISC處理器還是可定制的處理器?

    隨著這些年的發(fā)展,RISC-V的受重視程度與與日俱增。這主要因?yàn)樗敲赓M(fèi)的、靈活的,并且速度很快。這使RISC-V成為許多開發(fā)人員的安全便捷選擇。但是您會(huì)認(rèn)為RISC-V是通用RISC
    的頭像 發(fā)表于 11-17 16:11 ?3585次閱讀

    定制RISC-V處理器簡(jiǎn)化設(shè)計(jì)驗(yàn)證

      Imperas 產(chǎn)品組合以及來自快速發(fā)展的 RISC-V 生態(tài)系統(tǒng)的其他工具,為您今天開始自己的開放式處理器設(shè)計(jì)提供了足夠的資源。
    的頭像 發(fā)表于 06-01 10:00 ?1658次閱讀
    定制<b class='flag-5'>RISC-V</b><b class='flag-5'>處理器</b>簡(jiǎn)化設(shè)計(jì)<b class='flag-5'>驗(yàn)證</b>

    關(guān)于RISC-V 處理器驗(yàn)證的問題

    處理器驗(yàn)證是一個(gè)全新的領(lǐng)域。我們知道 Arm 和 Intel 對(duì)處理器質(zhì)量的期望設(shè)置了很高的標(biāo)準(zhǔn)。在 RISC-V 中,我們必須嘗試并遵循這一點(diǎn)。
    發(fā)表于 03-22 15:19 ?622次閱讀

    如何利用形式化驗(yàn)證提高RISC-V處理器質(zhì)量?

    RISC-V是一個(gè)模塊化的指令集架構(gòu),可以為其開發(fā)一個(gè)架構(gòu)測(cè)試套件。它被用于基于仿真的驗(yàn)證,以驗(yàn)證一個(gè)處理器的實(shí)現(xiàn)。
    發(fā)表于 04-17 14:54 ?621次閱讀

    基于形式驗(yàn)證高效RISC-V處理器驗(yàn)證方法

    轉(zhuǎn)型RISC-V,大家才發(fā)現(xiàn)處理器驗(yàn)證絕非易事。新標(biāo)準(zhǔn)由于其新穎和靈活性而帶來的新功能會(huì)在無意中產(chǎn)生規(guī)范和設(shè)計(jì)漏洞,因此處理器驗(yàn)證
    的頭像 發(fā)表于 06-01 09:07 ?675次閱讀
    基于<b class='flag-5'>形式</b><b class='flag-5'>驗(yàn)證</b>的<b class='flag-5'>高效</b><b class='flag-5'>RISC-V</b><b class='flag-5'>處理器</b><b class='flag-5'>驗(yàn)證</b><b class='flag-5'>方法</b>

    基于形式驗(yàn)證高效RISC-V處理器驗(yàn)證方法

    隨著RISC-V處理器的快速發(fā)展,如何保證其正確性成為了一個(gè)重要的問題。傳統(tǒng)的測(cè)試方法只能覆蓋一部分錯(cuò)誤情況,而且無法完全保證處理器的正確性。因此,基于
    的頭像 發(fā)表于 06-02 10:35 ?1444次閱讀

    利用先進(jìn)形式驗(yàn)證工具來高效完成RISC-V處理器驗(yàn)證

    在本文中,我們將以西門子EDA處理器驗(yàn)證應(yīng)用程序?yàn)槔Y(jié)合Codasip L31這款廣受歡迎的RISC-V處理器IP提供的特性,來介紹一種利用先進(jìn)的EDA工具,在實(shí)際設(shè)計(jì)工作中對(duì)
    的頭像 發(fā)表于 07-10 10:28 ?601次閱讀
    利用先進(jìn)<b class='flag-5'>形式</b><b class='flag-5'>驗(yàn)證</b>工具來<b class='flag-5'>高效</b>完成<b class='flag-5'>RISC-V</b><b class='flag-5'>處理器</b><b class='flag-5'>驗(yàn)證</b>

    思爾芯原型驗(yàn)證助力香山RISC-V處理器迭代加速

    2023年10月19日,思爾芯(S2C)宣布北京開源芯片研究院(簡(jiǎn)稱“開芯院”)在其歷代“香山”RISC-V處理器開發(fā)中采用了思爾芯的芯神瞳VU19P原型驗(yàn)證系統(tǒng),不僅加速了產(chǎn)品迭代,還助力多家企業(yè)
    的頭像 發(fā)表于 10-25 08:24 ?584次閱讀
    思爾芯原型<b class='flag-5'>驗(yàn)證</b>助力香山<b class='flag-5'>RISC-V</b><b class='flag-5'>處理器</b>迭代加速

    使用 RISC-V 進(jìn)行高效數(shù)據(jù)處理方法

    使用RISC-V進(jìn)行高效數(shù)據(jù)處理方法涉及多個(gè)方面,包括處理器內(nèi)核與DSA(領(lǐng)域特定加速)之間
    的頭像 發(fā)表于 12-11 17:52 ?475次閱讀
    百家乐官网没有必胜| 成人百家乐官网的玩法技巧和规则| 百家乐平台信誉| 石棉县| 百家乐必学技巧| 盛世国际娱乐| 属猴人做生意门面的风水| 大发888娱乐城客户端迅雷下载| 百家乐官网路单破| 德州扑克 让牌| 百家乐官网赢钱的技巧是什么| 大发888游戏平台 新葡京| 百家乐官网牌盒| 皇冠网上投注站| 百家乐官网技巧之写路| 功夫百家乐的玩法技巧和规则| 百家乐官网视频双扣游戏| 百家乐最新投注方法| 海口市| 在线百家乐技巧| 百家乐官网视频免费下载| 大发888方官| 81数理 做生意| 易胜博百家乐官网下载| 2016哪个属相做生意吉利| 百家乐官网怎样概率大| 大发888真人真钱| 百家乐补牌规律| 云鼎百家乐官网注册| 宝马会百家乐的玩法技巧和规则| 百家乐官网变牌桌| 在线娱乐城注册送彩金| 大集汇百家乐官网的玩法技巧和规则| bet365 app| 百家乐娱乐网真人娱乐网| 百家乐官网怎么玩最保险| bet365官方网址| 百家乐蓝盾有赢钱的吗| 百家乐官网桌子轮盘| 大发888 今日头条| 百家乐下注几多|