在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

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

我們?cè)谏弦黄夹g(shù)白皮書《基于形式驗(yàn)證的高效RISC-V處理器驗(yàn)證方法》中,以Codasip L31這款用于微控制器應(yīng)用的32位中端嵌入式RISC-V處理器內(nèi)核為例,介紹了一個(gè)基于形式驗(yàn)證的、易于調(diào)動(dòng)的RISC-V處理器驗(yàn)證程序。它與RISC-V ISA黃金模型和RISC-V合規(guī)性自動(dòng)生成的檢查一起,展示了如何有效地定位那些無法進(jìn)行仿真的漏洞。

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)。

在本文中,我們將以西門子EDA處理器驗(yàn)證應(yīng)用程序?yàn)槔Y(jié)合Codasip L31這款廣受歡迎的RISC-V處理器IP提供的特性,來介紹一種利用先進(jìn)的EDA工具,在實(shí)際設(shè)計(jì)工作中對(duì)處理器進(jìn)行驗(yàn)證的具體方法。這種驗(yàn)證方法通過為每條指令提供一組專用的斷言模板來實(shí)現(xiàn)高度自動(dòng)化,不再需要手動(dòng)設(shè)計(jì),從而提高了形式驗(yàn)證團(tuán)隊(duì)的工作效率。

如何使用西門子EDA處理器驗(yàn)證應(yīng)用程序

在我們使用該工具之前,需要為Codasip L31 RISC-V內(nèi)核進(jìn)行形式驗(yàn)證設(shè)置。此設(shè)置類似于使用帶有抽象、約束等基于斷言的驗(yàn)證(ABV)方法來形式驗(yàn)證標(biāo)準(zhǔn)斷言的設(shè)置。

該工具允許驗(yàn)證特定類別的指令,并啟用或禁用某些資源檢查。有了這個(gè)工具,我們的驗(yàn)證可以從一個(gè)簡化的空間開始,這包括:

只有最簡單的指令,例如只有整數(shù)運(yùn)算和邏輯指令。

只有最簡單(但最重要)的檢查。例如通用寄存器的更新。稍后可以添加的其他檢查指的是系統(tǒng)寄存器(CSR)或程序計(jì)數(shù)器(PC)的更新以及內(nèi)存訪問。

只有主功能模式:沒有中斷、中止、異常或調(diào)試訪問。

這三個(gè)正交約束可以根據(jù)微架構(gòu)特征的關(guān)鍵程度逐一放寬。經(jīng)典的形式驗(yàn)證技術(shù)可用于幫助獲得檢查器斷言的結(jié)果:抽象、設(shè)計(jì)縮減、案例拆分、不變量生成、半形式漏洞搜尋等。

結(jié)果

這種基于形式的方法使我們能夠找到極端情況,并深入了解改進(jìn)我們的仿真和測試平臺(tái)。在其他基于仿真的驗(yàn)證流程運(yùn)行而未發(fā)現(xiàn)新漏洞之后,此驗(yàn)證工作在項(xiàng)目快結(jié)束時(shí)完成,這使我們能夠找到真正的和重要的漏洞。

我們可以特別關(guān)注其中的三個(gè)漏洞,它們從用于L31的西門子EDA處理器驗(yàn)證應(yīng)用程序中找到。以下是發(fā)現(xiàn)和彌補(bǔ)這三個(gè)漏洞的具體方法:

1. 分支預(yù)測器損壞

有了這個(gè)漏洞,返回到先前持有跳轉(zhuǎn)/分支指令的PC地址會(huì)導(dǎo)致分支預(yù)測器錯(cuò)誤地預(yù)測跳轉(zhuǎn)到另一個(gè)地址。當(dāng)滿足以下條件時(shí),會(huì)發(fā)現(xiàn)這種極端情況:

自修改代碼

1686814603101938.png

當(dāng)添加未定義的指令(新指令異常)時(shí),也會(huì)出現(xiàn)此漏洞極其罕見的版本:

1686814599518270.png

該漏洞是通過檢查PC值的斷言發(fā)現(xiàn)的,直接后果是錯(cuò)誤地執(zhí)行了一個(gè)分支指令,導(dǎo)致代碼執(zhí)行錯(cuò)誤。通過正確清除分支預(yù)測和流水線的緩沖數(shù)據(jù)來修復(fù)此漏洞。

使用西門子EDA處理器驗(yàn)證應(yīng)用程序查找此漏洞需要8個(gè)周期和15分鐘的運(yùn)行時(shí)間。在仿真中重現(xiàn)該漏洞需要一個(gè)支持自修改代碼的隨機(jī)生成器,該代碼可正好返回相同的地址并將該地址從分支修改為另一種類型的指令。換句話說,隨機(jī)生成器不可能做到這一點(diǎn)。只有知道漏洞詳細(xì)信息的定向序列可以做到。

2. 同一條指令的多次執(zhí)行

出現(xiàn)這個(gè)漏洞,NPC(下一個(gè) PC)單元停頓就會(huì)出現(xiàn),這會(huì)導(dǎo)致多次獲取相同的地址。每條指令執(zhí)行并退出。

當(dāng)滿足以下條件時(shí),會(huì)出現(xiàn)這種極端情況:

內(nèi)核配置有TCM。

在提取總線上可以看到特定的延遲。

在流水線內(nèi)可以看到特定的停頓。

該漏洞會(huì)直接在流水線的其余部分造成未被正確處理的停頓,導(dǎo)致同一指令的多次執(zhí)行。可以通過正確處理其余流水線中的停頓來修復(fù)此漏洞。

使用西門子EDA處理器驗(yàn)證應(yīng)用程序查找此漏洞需要5個(gè)周期和10分鐘的運(yùn)行時(shí)間。在仿真中再現(xiàn)它需要隨機(jī)延遲和停頓的隨機(jī)模式,但也需要相當(dāng)多的“運(yùn)氣”來再現(xiàn)這個(gè)特定序列。

3. 合法的 FENCE.I 指令被認(rèn)為是非法的

出現(xiàn)這個(gè)漏洞,內(nèi)存屏障會(huì)由CSR單元處理。如果與CSR操作的CSR地址位元對(duì)應(yīng)的指令位元(位 [31:20])與某些CSR寄存器(例如調(diào)試、計(jì)數(shù)器)匹配,則指令可能會(huì)被錯(cuò)誤地標(biāo)記為非法。

當(dāng)滿足以下條件時(shí),會(huì)發(fā)現(xiàn)這種極端情況:

imm[11:0]/rs1/rd 中有隨機(jī)位元。

這些位元與其他一些非法指令相匹配。

1686814583187659.jpg

該漏洞的直接后果是錯(cuò)誤地引發(fā)了非法指令異常。通過正確解碼流水線每個(gè)部分的完整指令可修復(fù)此漏洞。

使用西門子EDA處理器驗(yàn)證應(yīng)用程序查找此漏洞僅用了8個(gè)周期和5分鐘的運(yùn)行時(shí)間。因?yàn)榫幾g器只會(huì)創(chuàng)建最簡單的二進(jìn)制編碼實(shí)現(xiàn),所以很難在仿真中重現(xiàn)該漏洞。它需要一個(gè)特殊的編譯器來創(chuàng)建合法編碼的變體,或者使用各種編碼進(jìn)行特殊的定向測試。

從中發(fā)現(xiàn)的優(yōu)勢/結(jié)論

應(yīng)用這種方法可以提高驗(yàn)證團(tuán)隊(duì)的工作效率。在項(xiàng)目的關(guān)鍵階段提高效率。雖然在開始時(shí)構(gòu)建正確的設(shè)置需要付出努力,但隨著我們添加新的指令類別和新的檢查器,進(jìn)度就會(huì)加快。這個(gè)“最佳點(diǎn)”是我們發(fā)現(xiàn)大多數(shù)問題的地方,隨著放寬約束以允許該工具探索更深?yuàn)W的操作模式,速度就開始放緩。

1686814579752512.png

圖 1 驗(yàn)證L31 RISC-V內(nèi)核的最佳效率的最佳點(diǎn)(來源:Codasip)

總的來說,因?yàn)槭褂梦鏖T子EDA處理器驗(yàn)證應(yīng)用程序驗(yàn)證整個(gè)CPU所需的總體工作量遠(yuǎn)低于手動(dòng)達(dá)到類似驗(yàn)證質(zhì)量所需的工作量,所以使用該工具是相當(dāng)高效的。在總共30個(gè)漏洞中,有15個(gè)是通過形式驗(yàn)證發(fā)現(xiàn)的。

表1 仿真 vs形式驗(yàn)證

驗(yàn)證技術(shù) 仿真驗(yàn)證 形式驗(yàn)證
驗(yàn)證基礎(chǔ)設(shè)施 測試臺(tái)、隨機(jī)指令生成器、檢查器 西門子EDA處理器驗(yàn)證應(yīng)用程序提供的斷言
開發(fā)時(shí)間 人-年(person-years of efforts) 時(shí)間極短(只需要自定義生成的設(shè)置)
運(yùn)行時(shí)間 成千上萬次的測試/案例和成千上萬個(gè)仿真小時(shí) 在2小時(shí)的運(yùn)行時(shí)間內(nèi)完成完整驗(yàn)證(最佳情況下)

當(dāng)結(jié)合在一起到達(dá)高質(zhì)量水平時(shí),仿真和形式驗(yàn)證是非常強(qiáng)大的,并使我們能夠促進(jìn)改進(jìn)驗(yàn)證的良性循環(huán)。

1686814575164031.png

圖 2 通過持續(xù)改進(jìn)達(dá)到一流的品質(zhì)(來源:Codasip)

該解決方案在Codasip L31這種3級(jí)流水線微控制器上的實(shí)施被證明是可行的,現(xiàn)在已部署到Codasip的下一代RISC-V內(nèi)核中,包括嵌入式和應(yīng)用內(nèi)核。借助在L31上使用西門子EDA處理器驗(yàn)證應(yīng)用程序積累的知識(shí),即使應(yīng)用內(nèi)核更復(fù)雜,也可以減少建立穩(wěn)健環(huán)境所需的工作量。而Codasip的下一步計(jì)劃包括進(jìn)一步研究該工具如何應(yīng)用于超標(biāo)量和亂序內(nèi)核,以及支持新的 RISC-V 擴(kuò)展。

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

    關(guān)注

    48

    文章

    7819

    瀏覽量

    153142
  • codasip
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    6359
  • RISC-V處理器
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    10231
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Codasip攜手西門子打造RISC-V領(lǐng)域最完整形式驗(yàn)證

    進(jìn)行全面和徹底的處理器測試。Codasip不斷在處理器驗(yàn)證方面投入巨資,以再接再厲為業(yè)界提供最高質(zhì)量的RISC-V處理器半導(dǎo)體知識(shí)產(chǎn)權(quán)(IP
    的頭像 發(fā)表于 05-07 13:55 ?6800次閱讀
    Codasip攜手西門子打造<b class='flag-5'>RISC-V</b>領(lǐng)域最完整<b class='flag-5'>形式</b><b class='flag-5'>驗(yàn)證</b>

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

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

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

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

    從零開始寫RISC-V處理器之六 寫在最后

    都是跨平臺(tái)、輕量級(jí)的工具。iverilog用來編譯verilog代碼,gtkwave用來查看波形。驗(yàn)證一個(gè)處理器,首先是能跑通各個(gè)指令,RISC-V官方提供了指令兼容性測試程序,這些程
    發(fā)表于 08-23 15:05

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

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

    開發(fā)出商用的RISC-V處理器還需要哪些開發(fā)工具和環(huán)境?

    開發(fā)出商用的RISC-V處理器還需要哪些開發(fā)工具和環(huán)境? 處理器是軟硬件的交匯點(diǎn),所以必須有完善的編譯、開發(fā)
    發(fā)表于 11-18 06:05

    創(chuàng)新引領(lǐng)|芯華章聯(lián)手芯科技提升RISC-V處理器設(shè)計(jì)驗(yàn)證

    科技將正式采用芯華章自主研發(fā)的新一代智能驗(yàn)證系統(tǒng)穹景 (GalaxPSS)及數(shù)字仿真穹鼎 (GalaxSim)等系列EDA驗(yàn)證產(chǎn)品,加速新一代復(fù)雜
    發(fā)表于 03-03 10:32 ?2103次閱讀

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

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

    Axiomise通過形式驗(yàn)證公理化RISC-V處理器

    盡管由于開源架構(gòu)設(shè)計(jì)新的微處理器在經(jīng)濟(jì)上是可行的,但測試和驗(yàn)證仍然是主要障礙。 隨著 RISC-V 等開源處理器架構(gòu)的出現(xiàn),芯片設(shè)計(jì)變得越來越大眾化,越來越多的組織敢于涉足
    發(fā)表于 07-29 10:02 ?720次閱讀
    Axiomise通過<b class='flag-5'>形式</b><b class='flag-5'>驗(yàn)證</b>公理化<b class='flag-5'>RISC-V</b><b class='flag-5'>處理器</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 ?696次閱讀

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

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

    基于形式驗(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 ?758次閱讀
    基于<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處理器驗(yàn)證方法

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

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

    RISC-V的開放性允許定制和擴(kuò)展基于 RISC-V 內(nèi)核的架構(gòu)和微架構(gòu),以滿足特定需求。這種對(duì)設(shè)計(jì)自由的渴望也正在將驗(yàn)證部分的職責(zé)轉(zhuǎn)移到不斷壯大的開發(fā)人員社群。然而,隨著越來越多的企業(yè)和開發(fā)人員轉(zhuǎn)型
    的頭像 發(fā)表于 07-10 09:42 ?843次閱讀
    基于<b class='flag-5'>形式</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)宣布北京開源芯片研究院(簡稱“開芯院”)在其歷代“香山”RISC-V處理器開發(fā)中采用了思爾芯的芯神瞳VU19P原型驗(yàn)證系統(tǒng),不僅加速了產(chǎn)品迭代,還助力多家企業(yè)
    的頭像 發(fā)表于 10-25 08:24 ?662次閱讀
    思爾芯原型<b class='flag-5'>驗(yàn)證</b>助力香山<b class='flag-5'>RISC-V</b><b class='flag-5'>處理器</b>迭代加速
    主站蜘蛛池模板: 在线免费色 | 天天爱天天干天天操 | 国产成人亚洲毛片 | 国产精品三级a三级三级午夜 | 六月天婷婷 | 免费看黄的视频网站 | 黑人40厘米全进去xxxx猛交 | 天天看片天天干 | 高h文男主又粗又狠 | 啪啪免费观看 | 1024你懂的国产欧美日韩在 | 黄视频在线免费看 | 欧美性视频一区二区三区 | 51影院在线观看成人免费 | 欧美午夜大片 | 天天操2023 | 老色批影院 | 美女张开腿让男人桶爽 | 久久激情综合网 | 欧美色图色就是色 | 久久久夜色精品国产噜噜 | 天天摸夜夜摸夜夜狠狠摸 | 国产一级在线观看www色 | 很黄很黄的网站免费的 | 国产普通话一二三道 | 天天做人人爱夜夜爽2020毛片 | 国产美女精品久久久久久久免费 | 国产在线精品香蕉综合网一区 | 国产丝袜va丝袜老师 | 高清视频在线播放 | 国产免费一级在线观看 | 四虎4hu永久在线观看 | 午夜精品在线观看 | 四虎网站最新网址 | bt天堂在线www最新版资源网 | 久久精品久噜噜噜久久 | 91av视频免费在线观看 | 性毛片 | 午夜一级免费视频 | 国产一级特黄高清在线大片 | ccav在线永久免费看 |