隨著越來(lái)越多的公司對(duì)基于 RISC-V ISA 的設(shè)備感興趣,以及越來(lái)越多的核心、加速器和基礎(chǔ)設(shè)施組件以商業(yè)或開源形式提供,最終用戶面臨著越來(lái)越困難的挑戰(zhàn):如何確保他們做出最佳選擇。
每個(gè)用戶可能會(huì)有一組需求和擔(dān)憂,這些需求和擔(dān)憂幾乎等同于 RISC-V 產(chǎn)品的靈活性,遠(yuǎn)遠(yuǎn)超出傳統(tǒng)的 PPA 指標(biāo),擴(kuò)展到安全和保障問(wèn)題或質(zhì)量考慮因素。這可能包括驗(yàn)證附屬物的適應(yīng)性,它使架構(gòu)擴(kuò)展和必要的驗(yàn)證能夠與之相伴。
傳統(tǒng)上,已經(jīng)部署了三個(gè)級(jí)別的原型設(shè)計(jì)——虛擬原型、仿真和 FPGA 原型,包括它們之間的混合。然后每個(gè)平臺(tái)用于各種目的,包括軟件驗(yàn)證、架構(gòu)驗(yàn)證、硬件功能驗(yàn)證、性能分析等。
RISC-V 的設(shè)計(jì)和軟件生態(tài)系統(tǒng)正在建立,但配置和驗(yàn)證生態(tài)系統(tǒng)正在落后,行業(yè)需要建立新技術(shù)。RISC-V的靈活性給驗(yàn)證帶來(lái)了巨大的挑戰(zhàn),超出了固定處理器驗(yàn)證所需的任何挑戰(zhàn)。RISC-V不僅讓硬件軟件共同開發(fā)成為可能更成為了必要的。
硬件軟件共同開發(fā)
過(guò)去,先選擇硬件,然后開發(fā)運(yùn)行在其上的軟件。使用 RISC-V,硬件通常由軟件驅(qū)動(dòng)。“你必須選擇的第一件事是你想要的標(biāo)準(zhǔn) RISC-V 選項(xiàng),” Imperas Software的創(chuàng)始人兼首席執(zhí)行官 Simon Davidmann 說(shuō)。“RISC-V 功能集目前有 200 或 300 個(gè)選項(xiàng)。如何知道算法是否會(huì)受益于浮點(diǎn)單元或 SIMD、硬件乘法器,甚至矢量引擎?必須針對(duì)希望該處理器完成的應(yīng)用程序類型或工作計(jì)算出將需要并且能夠負(fù)擔(dān)得起的硬件功能。這本身就成了一個(gè)挑戰(zhàn)。”
需要原型來(lái)進(jìn)行這些類型的權(quán)衡。“如果設(shè)計(jì)師的目標(biāo)是評(píng)估性能和適合目的,那么虛擬原型設(shè)計(jì)是唯一可行的選擇,”Quadric 首席營(yíng)銷官 Steve Roddy說(shuō)。“構(gòu)建硬件原型比創(chuàng)建子系統(tǒng)或整個(gè) SoC 的 SystemC 模型耗時(shí)多 10 到 50 倍。SystemC 虛擬原型的運(yùn)行速度通常足以回答性能問(wèn)題,例如在可接受的精度范圍內(nèi),可以通過(guò)該處理器內(nèi)核獲得每秒多少幀的吞吐量,或者功能 X 的峰值和平均帶寬要求是多少。”
獲得正確的準(zhǔn)確性可能很困難。“一切都與準(zhǔn)確性和快速構(gòu)建模型的能力有關(guān),” Arteris IP解決方案和業(yè)務(wù)開發(fā)副總裁 Frank Schirrmeister 說(shuō)。“正確的準(zhǔn)確性取決于問(wèn)題要求,而生成這些要求并非易事。如果是 ASIP 提供商,將能夠從擁有的任何模板生成這些內(nèi)容。根據(jù)可能需要流水線準(zhǔn)確性的問(wèn)題,可能需要內(nèi)存準(zhǔn)確性,它不需要完全準(zhǔn)確,但是當(dāng)涉及 CAD 部門時(shí),他們太害怕回答錯(cuò)誤的問(wèn)題。”
但準(zhǔn)確性是與速度的權(quán)衡。“雖然一些虛擬原型是周期準(zhǔn)確的,但它們通常運(yùn)行速度太慢,無(wú)法獲得必要的軟件吞吐量,”Imperas 的 Davidmann 說(shuō)。“最高性能的虛擬原型不是性能引擎,因?yàn)樗鼈儾粚?duì)處理器流水線建模。他們從軟件的角度來(lái)看它,您可以在其中編譯它并在硬件上運(yùn)行它,您可以通過(guò)查看指令數(shù)或近似時(shí)序估計(jì)來(lái)了解近似性能。這應(yīng)該足以做出這種架構(gòu)決策。”
它通常需要幾個(gè)原型。“我們通常出于兩個(gè)原因制作原型,”Microchip Technology 的 FPGA 業(yè)務(wù)部軟件和系統(tǒng)工程高級(jí)總監(jiān) Venki Narayanan 說(shuō)。“一個(gè)是架構(gòu)驗(yàn)證,以確保我們滿足所有性能指標(biāo)和要求以及功能驗(yàn)證。另一個(gè)原因是嵌入式軟件和固件開發(fā)。驗(yàn)證需要使用不同級(jí)別的原型制作技術(shù),最常見(jiàn)的是使用我們自己的 FPGA 開發(fā)用于架構(gòu)和功能驗(yàn)證的仿真平臺(tái)。我們還使用 QEMU 等架構(gòu)模型來(lái)構(gòu)建用于性能驗(yàn)證和嵌入式軟件開發(fā)的虛擬平臺(tái)。”
可能性的數(shù)量正在增加。“如今,公司可以通過(guò)多種方式使用 RISC-V 進(jìn)行原型設(shè)計(jì),”RISC-V International 的首席技術(shù)官 Mark Himelstein 說(shuō)。“這些范圍從制造商級(jí)別的單板計(jì)算機(jī)到支持企業(yè) LINUX 的主板。仿真環(huán)境(如 QEMU)允許開發(fā)人員在硬件完成之前開發(fā)軟件,并且從嵌入式 SoC(來(lái)自 Espressif 和 Telink 等公司)到 FPGA(來(lái)自 Microsemi 等公司),到處都有現(xiàn)成的部件,到英特爾和 SiFive 即將推出的 Horse Creek 開發(fā)板。”
回到性能/準(zhǔn)確性權(quán)衡。“物理原型需要更多的設(shè)計(jì)工作,因?yàn)檫B接和綜合了真正的 RTL,但它們提供了更高的準(zhǔn)確性和吞吐量,”Quadric 的 Roddy 說(shuō)。“FPGA 系統(tǒng)中的物理原型,無(wú)論是本土開發(fā)的還是來(lái)自大型 EDA 公司的,都需要付出努力才能實(shí)現(xiàn)。但它的運(yùn)行速度比 SystemC 模型快一個(gè)數(shù)量級(jí),比全門級(jí)仿真快幾個(gè)數(shù)量級(jí)。設(shè)計(jì)團(tuán)隊(duì)通常會(huì)在 IP 選擇過(guò)程中從基于 C 的模型轉(zhuǎn)向物理模型,以驗(yàn)證 IP 選擇后的實(shí)際設(shè)計(jì),并作為系統(tǒng)軟件開發(fā)平臺(tái)。”
一旦知道想要硬件中的哪些功能集,就可以看看是否有人已經(jīng)創(chuàng)建了滿足大部分需求的解決方案。Davidmann 說(shuō):“很有可能,所有的供應(yīng)商都在那里,將會(huì)有一個(gè)商業(yè)解決方案,它具有用戶正在尋找的東西類型。”“但是使用 RISC-V,不必按原樣接受該解決方案。RISC-V 價(jià)值的一個(gè)重要部分是可以自由更改、修改和添加想要的不同內(nèi)容。”
選擇實(shí)施方案
有許多方法可以實(shí)現(xiàn)一組功能,例如流水線階段數(shù)或推測(cè)執(zhí)行功能。每一種都將在功率、性能和面積之間進(jìn)行不同的權(quán)衡。“ISA 風(fēng)格,無(wú)論是 RISC-V、Arm、Cadence 的 Xtensa、Synopsys 的 ARC,都不會(huì)真正影響建模和原型設(shè)計(jì)目標(biāo)以及權(quán)衡,”Roddy 說(shuō)。“無(wú)論處理器品牌如何,系統(tǒng)架構(gòu)師都需要回答有關(guān) SoC 設(shè)計(jì)目標(biāo)的問(wèn)題。在技術(shù)層面上,相對(duì)于建模和性能分析工具支持,RISC-V 潮流確實(shí)在市場(chǎng)上處于穩(wěn)定地位。有許多相互競(jìng)爭(zhēng)的核心供應(yīng)商,每個(gè)供應(yīng)商都有不同的實(shí)現(xiàn)和處理器特性。作為主系統(tǒng) CPU,它沒(méi)有 Arm 的壽命長(zhǎng),因此在 EDA 領(lǐng)域得到廣泛驗(yàn)證的生態(tài)系統(tǒng)參與者較少,對(duì)來(lái)自各種 RISC-V 供應(yīng)商的現(xiàn)成 RISC-V 內(nèi)核的即用型建模支持。作為可配置、可修改的核心,RISC-V 世界落后于 Tensilica 花費(fèi) 25 年構(gòu)建的指令集自動(dòng)化水平。因此,RISC-V 作為現(xiàn)成構(gòu)建塊的建模支持較少,用作指令集實(shí)驗(yàn)平臺(tái)的自動(dòng)化程度較低。”
這只是需要評(píng)估的實(shí)施的一個(gè)方面。它的質(zhì)量如何?如果想修改它,如何重新驗(yàn)證它?
性能是其中最容易評(píng)估的。“這與選擇任何傳統(tǒng)處理器供應(yīng)商沒(méi)有什么不同,”戴維曼說(shuō)。“他們會(huì)告訴你這個(gè)內(nèi)核每瓦特能提供多少 Dhrystones,他們會(huì)提供典型的處理器分析數(shù)據(jù),這表明這就是這個(gè)微架構(gòu)的運(yùn)行速度。他們擁有所有這些數(shù)據(jù),任何獲得處理器核心許可的人都會(huì)熟悉這些數(shù)據(jù),并會(huì)與他們交談并獲取這些信息。數(shù)據(jù)表中可能會(huì)有許多可選選項(xiàng),可以在供應(yīng)商網(wǎng)站上的數(shù)據(jù)表上查看它。
在此級(jí)別,您可能需要循環(huán)精度。Schirrmeister 說(shuō):“大多數(shù)人將其輸入仿真器并通過(guò)它運(yùn)行足夠的數(shù)據(jù)以做出合理的決定。我認(rèn)為短期內(nèi)不會(huì)升級(jí)到虛擬原型。一些公司正在談?wù)?FPGA 原型,可以在其中擁有自己的單板解決方案。根據(jù)需要回答的問(wèn)題,可以決定對(duì)其進(jìn)行配置、生成,然后將其泵入 FPGA 以通過(guò)它運(yùn)行更多數(shù)據(jù),并在其之上使用適當(dāng)?shù)能浖獭T撔袠I(yè)擁有足夠快的進(jìn)入仿真器和原型設(shè)計(jì)的途徑,使這成為可能。基本問(wèn)題是根據(jù)盡可能準(zhǔn)確的數(shù)據(jù)做出這個(gè)決定,但是當(dāng)想做出那個(gè)決定時(shí)可能沒(méi)有那么準(zhǔn)確的數(shù)據(jù)。”
其中許多原型必須包含的不僅僅是處理器。“虛擬平臺(tái)提供了與其他外部物理硬件功能集成的能力,例如在真實(shí)環(huán)境中運(yùn)行的內(nèi)存和傳感器,”Microchip 的 Narayanan 說(shuō)。“混合系統(tǒng)可以將虛擬平臺(tái)與其他外部功能的物理原型結(jié)合在一起。FPGA 仿真和原型設(shè)計(jì)有助于發(fā)現(xiàn)與時(shí)序相關(guān)的錯(cuò)誤,例如競(jìng)爭(zhēng)條件,因?yàn)檫@更加準(zhǔn)確,并且外部功能正在高速運(yùn)行。”
驗(yàn)證
由于處理器設(shè)計(jì)長(zhǎng)期以來(lái)一直在內(nèi)部進(jìn)行,因此沒(méi)有用于構(gòu)建處理器的公共驗(yàn)證生態(tài)系統(tǒng),并且 RISC-V 的功能需要比以往任何時(shí)候都更加靈活的驗(yàn)證解決方案。這種創(chuàng)造才剛剛開始。
“有像 Dhrystones 或 CoreMark 這樣的行業(yè)指標(biāo),因此人們可以比較性能,”Davidmann 說(shuō)。“但是你怎么能比較驗(yàn)證質(zhì)量呢?需要有一個(gè)公平的競(jìng)爭(zhēng)環(huán)境,需要一些質(zhì)量指標(biāo)來(lái)進(jìn)行驗(yàn)證。”
這是開源運(yùn)動(dòng)可以提供幫助的地方。“如果你看看 RISC-V 生態(tài)系統(tǒng),就會(huì)發(fā)現(xiàn)大量非常有經(jīng)驗(yàn)的處理器開發(fā)人員,”Schirrmeister 說(shuō)。“有兩個(gè)極端。一個(gè)是我從供應(yīng)商那里得到了一個(gè)核心,如果它不起作用,那是他們有問(wèn)題。另一方面,我有完全的自由,什么都自己做。平衡正在這兩個(gè)極端之間的某個(gè)地方發(fā)展。你得到的東西是你的供應(yīng)商提供的一定數(shù)量的驗(yàn)證,然后擴(kuò)展是你自己的責(zé)任。”
這就是衡量標(biāo)準(zhǔn)的用武之地。“ISA 兼容性只是充滿復(fù)雜性的階梯中的第一級(jí),只有少數(shù)公司攀登過(guò),”Breker Verification Systems 首席執(zhí)行官 Dave Kelf 說(shuō)。“原型設(shè)計(jì)可能是完全確保處理器可靠運(yùn)行的唯一方法,但利用真實(shí)的工作負(fù)載來(lái)驅(qū)動(dòng)這些原型只是觸及了真實(shí)處理器覆蓋范圍的表面。這與推動(dòng)加速開發(fā)和上市時(shí)間問(wèn)題的開放式 ISA 的競(jìng)爭(zhēng)努力不一致。”
這些指標(biāo)是什么?“在OpenHW質(zhì)量組中,我們正在努力找出這些指標(biāo)應(yīng)該是什么,”Davidmann說(shuō)。“這包括功能覆蓋之類的東西,因?yàn)樗粌H僅是簡(jiǎn)單的說(shuō)明。對(duì)于高質(zhì)量的處理器,需要的遠(yuǎn)不止這些。需要有一種驗(yàn)證方法,可以確信您與參考系數(shù)的比較涵蓋了所有內(nèi)容。功能覆蓋率只是表明你已經(jīng)有了測(cè)試,但這必須與某種形式的已知參考進(jìn)行比較的方法相結(jié)合。我們將添加故障注入技術(shù),以便能夠確定您的測(cè)試臺(tái)是否真的檢測(cè)到問(wèn)題。”
這需要一套工具。“隨著 RISC-V 生態(tài)系統(tǒng)的成熟,商業(yè)實(shí)施開始支持明確的細(xì)分市場(chǎng),”Axiomise 創(chuàng)始人兼首席執(zhí)行官 Ashish Darbari 說(shuō)。“我們看到了對(duì)需要功能安全合規(guī)性的市場(chǎng)的支持,例如汽車。我們看到對(duì)物聯(lián)網(wǎng)的支持,需要安全性。RISC-V 供應(yīng)商正在投資于高級(jí)驗(yàn)證技術(shù),包括用于架構(gòu)建模和性能的虛擬原型設(shè)計(jì)。現(xiàn)在有工具可用于盡早采用形式化方法,以便在設(shè)計(jì)過(guò)程的早期消除錯(cuò)誤并避免錯(cuò)誤插入,因?yàn)樵O(shè)計(jì)人員很難通過(guò)處理器與內(nèi)存接口上的仿真來(lái)捕捉極端情況錯(cuò)誤。”
必要的工具之一是能夠根據(jù)特性列表或功能集生成測(cè)試用例。“自動(dòng)生成測(cè)試內(nèi)容以驅(qū)動(dòng)原型并及時(shí)考慮驗(yàn)證復(fù)雜性是關(guān)鍵,”Breker 的 Kelf 說(shuō)。“這些生成機(jī)制現(xiàn)在開始出現(xiàn)在市場(chǎng)上。”
結(jié)論
一個(gè)生態(tài)系統(tǒng)的好壞取決于它最薄弱的部分,對(duì)于 RISC-V 來(lái)說(shuō),就是 EDA 工具鏈。這樣做的原因有兩個(gè)。首先,直到最近,處理器驗(yàn)證工具還沒(méi)有商業(yè)市場(chǎng)。雖然它們?cè)谶^(guò)去存在,但它們要么消失,要么被解散到傳統(tǒng)的處理器公司中。其次,RISC-V ISA的靈活性創(chuàng)造了一種新的系統(tǒng)級(jí)優(yōu)化方法,需要一套新的工具。理解這個(gè)機(jī)會(huì)需要時(shí)間,并且需要時(shí)間才能出現(xiàn)適當(dāng)解決它的商業(yè)工具。
-
硬件
+關(guān)注
關(guān)注
11文章
3485瀏覽量
67535 -
軟件
+關(guān)注
關(guān)注
69文章
5155瀏覽量
89246 -
RISC-V
+關(guān)注
關(guān)注
46文章
2583瀏覽量
48884
原文標(biāo)題:選擇正確的 RISC-V 內(nèi)核
文章出處:【微信號(hào):ICViews,微信公眾號(hào):半導(dǎo)體產(chǎn)業(yè)縱橫】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
關(guān)于RISC-V芯片的應(yīng)用學(xué)習(xí)總結(jié)
RISC-V MCU技術(shù)
Imagination放棄RISC-V處理器內(nèi)核開發(fā)
關(guān)于RISC-V學(xué)習(xí)路線圖推薦
《RISC-V能否復(fù)制Linux 的成功?》
RISC-V發(fā)展及FPGA廠商為什么選擇RISC-V

英偉達(dá)2024年預(yù)計(jì)出貨10億個(gè)RISC-V內(nèi)核
RISC-V內(nèi)核是如何與FPGA內(nèi)核進(jìn)行資源共享的?
加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未來(lái) !

RISC-V Summit China 2024 青稞RISC-V+接口PHY,賦能RISC-V高效落地

RISC-V Summit China 2024 | 青稞RISC-V+接口PHY,賦能RISC-V高效落地
2024 RISC-V 中國(guó)峰會(huì):華秋電子助力RISC-V生態(tài)!

評(píng)論