新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 市場分析 > 是否存在用于 RISC-V 驗證的必要工具?

是否存在用于 RISC-V 驗證的必要工具?

作者: 時間:2023-04-06 來源:半導體產(chǎn)業(yè)縱橫 收藏

Semiconductor Engineering 與 Cadence 產(chǎn)品管理集團總監(jiān) Pete Hardee 坐下來討論 處理器的驗證;參與討論的還有 Codasip 戰(zhàn)略和生態(tài)系統(tǒng)副總裁 Mike Eftimakis ;Simon Davidmann,Imperas Software 創(chuàng)始人兼首席執(zhí)行官;Sven Beyer,西門子 EDA 處理器驗證項目經(jīng)理;Synopsys 聯(lián)盟合作伙伴營銷高級總監(jiān) Kiran Vittal ;Breker Verification 首席執(zhí)行官 Dave Kelf 和 Viosoft Corporation 總裁兼首席技術(shù)官 Hieu Tran。

本文引用地址:http://m.butianyuan.cn/article/202304/445325.htm

SE: 驗證流程是什么樣的?

Kelf: 我們將處理器的驗證看作是一堆活動,但在那個堆棧中有很多環(huán)回。許多公司將遵守 ISA 視為一項單獨的活動。他們將執(zhí)行「Hello World」測試作為第一個堆棧,以確保一切正常運行,然后他們將運行盡可能多的一致性測試。他們嘗試匹配 ISA,然后開始測試微架構(gòu)。我們看到發(fā)生的事情是,當他們運行一致性測試時,他們可能看起來獲得了一致性,然后他們開始編寫微架構(gòu)測試,當他們在堆棧中走得更遠時,他們會提出一些問題,我們可以驗證核心與系統(tǒng)其余部分的關系嗎?我們可以在上面啟動操作系統(tǒng)嗎?它是否具有必要的性能?他們能否分析設計以確保性能正確并啟動這些驗證活動以揭示驗證中的更多錯誤?當我們測試常規(guī) ASIC 或常規(guī)核心時,你可以運行所有驗證活動,獲得非常好的覆蓋率,然后在最后進行驗證。通常不必返回驗證。有了這些處理器,你就可以做到。你必須始終通過該驗證堆棧來回移動。這真的會減慢你的速度,以及該架構(gòu)的整個驗證過程。黃金參考模型變得至關重要。Imperas 模型被許多人公認為最先進的行業(yè)標準模型。我們一直在使用這些模型。引入一個你可以依賴的真正可靠的核心參考模型正變得至關重要。你可以測試微架構(gòu),你可以針對該核心模型測試與系統(tǒng)其余部分的一些交互,并真正更清楚地了解實際處理器中發(fā)生的事情。

Tran:對于 ,黃金參考模型的想法是否可行我有些懷疑。如果回到 Unix 出現(xiàn)的那一天,就會有少數(shù)供應商擁有自己的實現(xiàn)。有 Solaris、SVR4、IBM 的 AIX 等等選擇。從所有這些不同的 Unix/Linux 實現(xiàn)中實現(xiàn)一個可以跨平臺運行的通用可執(zhí)行文件的想法是不可能的。每個供應商都受到激勵來構(gòu)建增值和自定義擴展,這將使他們與其他供應商脫穎而出。我們在這里看到了 RISC-V。與 x86 和 Arm 不同的是,大多數(shù)實現(xiàn)都在 Intel 或 Arm 的保護傘下,實際上有數(shù)百個不同的機構(gòu)和組織在構(gòu)建他們自己的 RISC-V 實現(xiàn)。當你談論矢量擴展之類的東西時,在規(guī)范如此之大的情況下,許多實施者決定只實施該擴展的一個子集。你將如何創(chuàng)建一個通用的黃金參考模型來驗證針對這種實施方式的執(zhí)行情況?其次,當我們談論執(zhí)行的驗證和驗證時,你必須更深入地了解工具鏈和操作系統(tǒng)。以矢量擴展為例。我接觸過并與之合作的每個供應商都有自己的編譯器,他們自己的 LLVM 實現(xiàn)來支持他們的矢量擴展。而且它們中沒有一個與其他的兼容。因此,你可以從供應商 A 那里獲取 LLVM 編譯器,生成代碼,但對于供應商 B 的實施來說,它的效率不會很高。

Davidmann: 我顯然不同意這個評論。RISC-V 完全是一場噩夢,因為有太多選擇。這是兼容性和合規(guī)性的挑戰(zhàn)之一。有這么多配置選項,都是合法的,但最大的問題是,如何創(chuàng)建參考模型?但它比那更糟。每三個月,每個擴展都會有一個新版本。在我們的模擬器中,它是一個完整的參考。它對于任何獨立的子集都是完全可配置的,而且對于版本也是如此。我們有 11 個版本的向量,其中 4 個已經(jīng)進入硅片。我不認為這有什么問題,只要它的設計和架構(gòu)是正確的。RISC-V 提供了將事情做得更好的機會。我們不能接受只有一個 Arm 或一個 Intel 的舊方式。那是行不通的。如果舊世界是你可以有一個做一件事的參考模型,那么新世界是你有一個可以做 100 件事的參考模型。這就是我們要去的地方。否則,RISC-V 將永遠無法完成它的使命。我們必須解決這些問題。

Hardee:我們知道處理器的實現(xiàn),細節(jié)決定成敗。我們當然同意你的看法,即 SystemVerilog,Verilog,在捕獲這些實現(xiàn)細節(jié)方面要好得多。但是你必須根據(jù)捕獲意圖的更高級別模型來驗證該實現(xiàn)。那不是一個單一的參考模型。它可以是很多,也可以是為我們正在談論的許多變體創(chuàng)建參考模型的標準化方法。

Davidmann:五六年前,我是 RISC-V 國際組織的一員,該組織研究了形式化并最終選擇 SAIL 作為構(gòu)建黃金參考模型的語言。我們弄錯的是 SAIL 不是很容易配置。它非常適合一種架構(gòu)。對于 Arm,這太棒了。他們擁有從定義開始的整個流程,一直到構(gòu)造正確,一直到正式描述,這非常棒。RISC-V 的挑戰(zhàn)在于它在設計上具有無限的可配置性。因此,在 SAIL 中對其進行建模是一個真正的挑戰(zhàn)。這就是 Imperas 選擇動態(tài)模型的原因。

Vittal:幾乎每家公司都在采用 RISC-V。甚至領先的半導體供應商也在進行 RISC-V 設計,許多初創(chuàng)公司也是如此。但關鍵是能夠有一個成功的驗證計劃,你有非常高質(zhì)量的刺激來實現(xiàn)你的覆蓋目標。驗證和調(diào)試齊頭并進。硬件/軟件調(diào)試,逐步執(zhí)行代碼以同時查看問題?;氐郊軜?gòu)的靈活性,這帶來了挑戰(zhàn)——同時也為我們所有人帶來了機遇。正在開發(fā)創(chuàng)新的解決方案。RISC-V 供應商和 EDA 工具公司以及其他 EDA 合作伙伴等之間正在進行大量協(xié)作。

Kelf:有些公司已經(jīng)在一定程度上解決了這個問題。RISC-V 的無限可配置性,所有這些都是真的。但歸根結(jié)底,Arm 和 Intel 已經(jīng)解決了他們的可配置性稍差的處理器的驗證問題。他們有一個流程,或一系列復雜的流程,這些流程包括一系列不同的活動。Arm 使用很多正式工具,做很多不同的事情。一個好的起點可能是查看其中一些人在他們的流程中正在做什么,并嘗試將其中的一些自動化。你需要一些可以被所有試圖做 RISC-V 處理器并一起合作的人使用的東西——合作提出這些更通用的流程,看看我們是否可以標準化其中的一些東西。而不是在適當?shù)臉藴室饬x上,

SE:你們提到我們確實需要新工具、新流程。如今缺少什么呢?我們?nèi)绾未_定某人需要提供的東西是什么?

Kelf:有很多人在內(nèi)部做 RISC-V 處理器,他們正在重新開始。他們正在學習如何進行處理器驗證。像 Codasip 這樣的公司從 Arm 和 Intel 等公司引進了具有豐富經(jīng)驗和專業(yè)知識的人,他們確實知道該做什么。因此,我們看到其中一些公司現(xiàn)在正在生產(chǎn)流程,他們正在考慮諸如「處理器能否支持完全一致性?」之類的問題。它是否適用于系統(tǒng)的其余部分?RISC-V 內(nèi)部的安全指令,如 PMP(物理內(nèi)存保護)指令能否正確運行?

Davidmann:當我們在五六年前開始使用 RISC-V 時,RISC-V 沒有什么特別的東西。我們有 Verilog 模擬器,你有一些正式的東西,你可以寫一些屬性。有 GCC,你可以運行它并調(diào)試它。就是這樣。我們在過去五年中看到的是,人們通過學習如何以專有方式驗證處理器而衍生出許多工具和技術(shù)。我們一直在努力讓它更加公開。我們一直在努力了解英特爾和 Arm 是如何做到的,以及所使用的技術(shù)類型。我們一直在 OpenHW 內(nèi)工作,我負責驗證任務。它是關于具有工業(yè)質(zhì)量的開源硅。這與使用開源工具無關。我們在過去幾年學到的是很多不同的技術(shù),很多不同的做事方式,我們已經(jīng)發(fā)展并構(gòu)建了像這個可配置的參考模型這樣的工具,比如為你做驗證的技術(shù),比如我們一直在發(fā)展的功能覆蓋,以試圖檢查 Linux 有多好運行。人們一直在構(gòu)建測試生成器。其他公司一直在構(gòu)建正式工具,例如西門子的 OneSpin Technologies,它們專注于 RISC-V。已經(jīng)有三四家其他公司參與了正式方面的工作。我們看到的是正在構(gòu)建一些特定的 RISC-V 技術(shù),正在構(gòu)建一些驗證 IP,越來越多的 EDA 供應商正在學習人們需要的方法,并且他們正在構(gòu)建工具。但現(xiàn)在還為時尚早。我們距離真正使用 RISC-V 僅五年時間,并且可能需要幾年的時間才能進入商業(yè)領域。之前有五年的學術(shù)工作。像 Codasip 這樣的公司,以及硅 IP 的其他商業(yè)供應商,確實在內(nèi)部發(fā)展和構(gòu)建技術(shù)以進行驗證。我們正在努力幫助將它們構(gòu)建為商業(yè)工具,一些 EDA 供應商也是如此。我們正處于 RISC-V 驗證技術(shù)新時代的開端。

Vittal:主流處理器開發(fā)人員知道他們在做什么。他們以前做過 x86 和 Arm。他們正在采用 RISC-V,而且他們確切地知道該做什么。他們還利用開源社區(qū)。對于主流,當你查看 RISC-V 時,它正在被主流設計師采用,這就是他們需要方法的地方,那也就是缺少的東西。Synopsys 提供驗證和驗證所需的一切,包括軟件和硬件。我們有 VIP,我們有正式的技術(shù),我們有數(shù)據(jù)路徑,但缺少的是一種方法論。并且該方法具有處理器驗證工程師和其他專家的專業(yè)知識。

Eftimakis:這是 IP 供應商的秘密武器。這就是我們內(nèi)部所做的。

Davidmann:像 Imperas 這樣的公司正在努力使它更加公開。它以前可能是專有 IP。我們提供了一個關于 RISC-V 處理器驗證參考流程的 90 分鐘教程。它列出了你需要的所有不同部分,以及當今可用的技術(shù)和不可用的技術(shù)。我們談論基于商業(yè)技術(shù)的測試生成器。

Vittal:我們有類似的東西,我們的客戶可以從使用開源核心的門戶網(wǎng)站下載。這可以帶你完成整個驗證過程。

Beyer:添加新工具是關鍵,但我們需要高度可配置的 RISC-V 參考模型,并使其可用于工具和流程。然后我們可以圍繞它構(gòu)建一些東西,以便沒有深厚經(jīng)驗的人可以達到對 RISC-V 內(nèi)核擁有體面驗證經(jīng)驗的地步。

Eftimakis:我們已經(jīng)將工具集成到我們的流程中,包括 Imperas 和 OneSpin。這是我們認為成為 RISC-V 一部分的好處,因為我們可以利用這些為生態(tài)系統(tǒng)構(gòu)建的工具,并將它們集成到我們的驗證流程中。我們可以將比較與模型、模擬、形式驗證、斷言等結(jié)合起來。這是我們從成為這個生態(tài)系統(tǒng)的一部分中獲得的好處。



關鍵詞: RISC-V

評論


相關推薦

技術(shù)專區(qū)

關閉