“RISC-V開源可擴(kuò)展的特性促進(jìn)了各種運(yùn)算領(lǐng)域的創(chuàng)新,然而開發(fā)擴(kuò)展指令集卻有很高的技術(shù)門坎,開發(fā)周期冗長?!?025年7月18日,在“第五屆RISC-V中國峰會”EDA分論壇上,晶心科技軟件工程師顏敬哲如是說。
針對這個痛點(diǎn),晶心科技已推出指令集設(shè)計(jì)工具(ACE framework and COPILOT,下文簡稱“ACE”)加速客制化指令開發(fā)。為了強(qiáng)化這套解決方案,現(xiàn)在更進(jìn)一步推出周期精準(zhǔn)的仿真器(AndesCycle),使軟件開發(fā)者能用C/C++語言擴(kuò)充RISC-V指令,同時做到行為與時序的模擬。
ACE架構(gòu):簡化定制指令
ACE框架可以幫助開發(fā)者高效、便捷地創(chuàng)建運(yùn)行在CPU上的定制指令。其設(shè)計(jì)流程非常簡潔:開發(fā)者只需提供兩個設(shè)計(jì)文件,甚至在某些情況下,只需要一個C模型文件。這些文件隨后會通過COPILOT代碼生成器進(jìn)行處理。COPILOT的獨(dú)特之處在于它不僅能生成供軟件開發(fā)者使用的庫文件(如Libacedbg),還能生成硬件的RTL代碼,這部分硬件負(fù)責(zé)執(zhí)行開發(fā)者定義的定制指令。這種方法極大地簡化了定制指令的集成和重新編譯過程。
ACE的關(guān)鍵特性包括:一是支持自定義標(biāo)量(ACE-Scalar)和向量(ACE-RVV)指令;二是提供一個直接的設(shè)計(jì)流程,在ACE定義文件中描述指令行為,在簡潔的Verilog文件中實(shí)現(xiàn)硬件邏輯;三是自定義優(yōu)化指令開發(fā)工具(COPILOT),為編譯器、調(diào)試器和指令集模擬器(ISS)生成擴(kuò)展源代碼,為ACE引擎RTL集成生成Verilog代碼。
舉例來說,COPILOT自動生成的輸出分為兩部分:軟件部分,供軟件開發(fā)者使用,包括Libacedbg;硬件部分,Verilog代碼,用于生成新的CPU設(shè)計(jì)。
AndesCycle仿真器:精確的性能分析
為了驗(yàn)證定制指令的性能,Andes推出了AndesCycle周期精準(zhǔn)仿真器。這款仿真器能夠幫助開發(fā)者快速評估定制指令是否達(dá)到預(yù)期性能,并能將其轉(zhuǎn)化為可執(zhí)行模型進(jìn)行分析。
AndesCycle有兩大特點(diǎn)。第一,性能分析結(jié)果生成:仿真結(jié)束后,AndesCycle會生成一系列性能分析結(jié)果。例如,熱點(diǎn)函數(shù)分析可以展示各個函數(shù)所占用的CPU周期,從而指導(dǎo)開發(fā)者決定是否需要通過定制指令來優(yōu)化特定函數(shù)。此外,它還能輸出更詳細(xì)的指令層級分析。
第二,流水線可視化:AndesCycle能夠?yàn)槊織l指令在執(zhí)行過程中繪制出流水線圖。這得益于其對CPU微架構(gòu)的深入掌握以及仿真過程中記錄的Trace信息。以AX45MPV為例,即使是亂序執(zhí)行的向量流水線和自動生成的ACE硬件,AndesCycle也能清晰地展示指令的流水線執(zhí)行情況,幫助開發(fā)者進(jìn)行精細(xì)調(diào)整。
AndesCycle仿真器的架構(gòu)包含三個主要部分:
核心仿真模塊:這部分模擬了CPU核心(例如AX45MPV core)、L2 Cache和PLDM等。
周邊接口和內(nèi)存建模:包括HTIF(負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)到主機(jī))、Memory建模、DTM(通過Open OCD)和Controller ELF Loader(加載程序)。
自定義指令硬件執(zhí)行模塊:這部分不是直接集成在AndesCycle硬件內(nèi)部,而是作為動態(tài)庫通過標(biāo)準(zhǔn)的DPI-C接口進(jìn)行調(diào)用。這種設(shè)計(jì)的好處在于,開發(fā)者可以快速迭代并評估定制指令,而無需每次都重新編譯整個仿真器。
當(dāng)CPU核心運(yùn)行到與定制指令(insn指令)相關(guān)的解碼和執(zhí)行邏輯時,仿真器會通過DPI-C調(diào)用C Wrapper Function,進(jìn)而打開一個動態(tài)函數(shù)庫并調(diào)用其中的insn engine。
這個引擎包含兩部分:控制邏輯(解碼部分,RTL代碼直接轉(zhuǎn)換為C++模型)和指令模塊(實(shí)際執(zhí)行邏輯)。指令模塊通過第二次DPI-C調(diào)用一個C模型函數(shù),這個C模型函數(shù)是由COPILOT自動生成的,它負(fù)責(zé)將Verilated tap轉(zhuǎn)換為C tap,然后調(diào)用insn文件中定義的C模型,并將執(zhí)行結(jié)果轉(zhuǎn)換回Verilated tap,從而完成一條定制指令的仿真。
對于開發(fā)者而言,這大大簡化了工作,他們通常只需要提供最基本的C模型,無需編寫Verilog代碼即可進(jìn)行性能評估。COPILOT會自動處理動態(tài)函數(shù)庫的生成和編譯。
兩個應(yīng)用案例
顏敬哲通過兩個具體案例展示了ACE框架和AndesCycle的實(shí)用性。
第一是視頻編解碼擴(kuò)展指令集,該案例由ByteDance提出,旨在通過引入向量指令加速視頻編解碼計(jì)算。僅需使用C模型來描述指令行為,無需提供Verilog,且仿真過程中假定為單周期執(zhí)行。
通過將C模型建模與流水線周期精確性相結(jié)合,并與純RTL設(shè)計(jì)的波形圖進(jìn)行對照,驗(yàn)證了該方法的周期準(zhǔn)確性,且無需提供Verilog。
第二是深度學(xué)習(xí)非線性激活函數(shù)Sigmoid,該案例關(guān)注深度學(xué)習(xí)中常用的非線性激活函數(shù)Sigmoid的加速。該案例設(shè)計(jì)了一條名為sigmoid.vv的ACE-RVV指令,通過編寫C模型來描述其行為。由于涉及到浮點(diǎn)數(shù)計(jì)算,甚至包括FP16,該方法可以引入現(xiàn)有庫來加速指令性能評估。
仿真過程中,假定為單周期執(zhí)行,最終實(shí)現(xiàn)了39%的加速。一條自定義的sigmoid.vv指令能夠取代標(biāo)準(zhǔn)RISC-V中所需的9條指令。
總結(jié)
ACE軟件框架和AndesCycle仿真器的結(jié)合提供了一個強(qiáng)大的解決方案,能夠顯著加速RISC-V定制指令的開發(fā)。ACE通過簡單的文件描述(甚至只需C模型)自動生成代碼,而AndesCycle則提供了快速且周期精準(zhǔn)的指令性能評估。
未來,該方案有望進(jìn)一步擴(kuò)展,支持C模型實(shí)現(xiàn)可變周期指令(例如與數(shù)據(jù)相關(guān)的存儲器操作)的建模。此外,還希望通過DPI-C動態(tài)函數(shù)庫的方式,支持客戶自定義System建模。
晶心科技于2005年成立,是RISC-V國際協(xié)會的創(chuàng)始首席會員,也是第一家推出商用RISC-V向量處理器的主流CPU供貨商,提供可配置性高的32/64位高效能CPU核,包含DSP、FPU、Vector、超純量、亂序執(zhí)行、多核心及車用系列,可應(yīng)用于各式SoC與應(yīng)用場景。公司提供功能齊全的整合開發(fā)環(huán)境和全面的軟/硬件解決方案,可幫助客戶在短時間內(nèi)創(chuàng)新其SoC設(shè)計(jì)。截至2024年底,Andes-Embedded? SoC累計(jì)出貨量已超過160億顆。
上一篇:如何加快基于RISC-V的SoC項(xiàng)目上市時間?西門子EDA給出了解法
下一篇:最后一頁
- 熱門資源推薦
- 熱門放大器推薦
- RISC-V人才該怎么培養(yǎng)?專家這樣說
- Arm SME2 技術(shù)加速安卓 AI 升級,驅(qū)動移動應(yīng)用下一代功能革新
- “東山RISC-V人才培養(yǎng)計(jì)劃”即將推出:2030年前1萬名學(xué)生實(shí)現(xiàn)10萬次代碼
- 上海交大孫亞男:已有30多家頂級芯片龍頭企業(yè)參與授課
- 日本半導(dǎo)體制造商 Rapidus 啟動 2nm GAA 晶體管試制,首塊晶圓亮相
- 北京大學(xué)林金龍:教學(xué)是發(fā)展RISC-V生態(tài)的重要環(huán)節(jié)
- 上??萍即髮W(xué)劉思廷:引入RISC-V課程,應(yīng)對傳統(tǒng)教學(xué)挑戰(zhàn)
- 上海市經(jīng)信委半導(dǎo)體處調(diào)研員夏益飛:芯片強(qiáng)則產(chǎn)業(yè)強(qiáng),人才強(qiáng)則芯片強(qiáng)
- “一生一芯”計(jì)劃,如何幫助國內(nèi)解決芯片人才缺乏危機(jī)?
- W83312SN 總線終端穩(wěn)壓器的典型應(yīng)用
- DC814D-J,使用 LTC6908-1 50KHz 至 10MHz 固定頻率硅振蕩器的演示板
- LTC3100EUD 演示板、1.5MHz 同步雙通道 DC/DC 轉(zhuǎn)換器和 100mA LDO
- 采用 XDPS21081 的 65W USB-PD 開關(guān)電源參考設(shè)計(jì)
- LTC3857EGN-1 高效雙路 1V/1.2V 降壓轉(zhuǎn)換器的典型應(yīng)用電路
- ZXGD3105EV1,基于 ZXGD3105 MOSFET 功率驅(qū)動器的評估板
- LTC3552 的典型應(yīng)用 - 獨(dú)立線性鋰離子電池充電器和雙路同步降壓轉(zhuǎn)換器
- LT3641 的典型應(yīng)用——具有上電復(fù)位和看門狗定時器的雙路單片式降壓穩(wěn)壓器
- RD-421,使用 FAN7527B 功率因數(shù)校正輔助電源應(yīng)用的參考設(shè)計(jì)
- LT3970IMS-3.3 5V、2MHz 降壓轉(zhuǎn)換器的典型應(yīng)用
- 2020年或達(dá)4600億 國產(chǎn)小家電爆發(fā)的三個邏輯
- 如何擴(kuò)大駕駛員的視野?攝像監(jiān)控系統(tǒng)安排上了!
- 自動駕駛技術(shù)如何成為半導(dǎo)體生產(chǎn)的新晉網(wǎng)紅?
- e絡(luò)盟和Hackster.io將成為全球最大的專業(yè)社區(qū)
- LoRaWAN網(wǎng)絡(luò)已經(jīng)完成了第一階段部署
- 無人機(jī)中寓教于樂的最佳典范-四軸飛行器特洛
- 蘋果將推出全新MacBook Pro,將放棄Touch Bar
- ?蘋果與LG電子聯(lián)手以制約三星電子
- 東風(fēng)汽車旗下智新半導(dǎo)體IGBT模塊正式投產(chǎn)
- 雷諾CEO:芯片短缺或?qū)⒊掷m(xù)到2022年
- 【寶寶秀】我們家的小豆豆
- 用5v穩(wěn)壓管得到的電壓給單片機(jī)供電問題
- chunyang原創(chuàng)——和攝影初學(xué)者談?wù)剶?shù)碼相機(jī)的選購,兼答網(wǎng)友
- 一般AD芯片輸入內(nèi)阻在啥級別
- 探究CRC32算法實(shí)現(xiàn)原理-why table-driven implemention(轉(zhuǎn)載)
- MXchip J-link 在線調(diào)試設(shè)置
- 有沒可以將0-40V電壓放大到0-80V的IC器件或電路~~~
- 單片機(jī)
- 關(guān)于CE中斷
- CreateFile調(diào)用 IIC驅(qū)動問題