RISC-V產(chǎn)業(yè)生態(tài)已經(jīng)進(jìn)入快速發(fā)展期,隨著大量的公司進(jìn)入到RISC-V技術(shù)領(lǐng)域,基于RISC-V架構(gòu)的芯片也如雨后春筍般涌入市場??梢灶A(yù)見的是,RISC-V的時(shí)代正在到來。
當(dāng)下的芯片市場,以x86、MIPS、ARM、RISC-V四種主流指令集/芯片架構(gòu)為主,其中最為常見還是x86以及ARM。在AI熱潮的推動(dòng)下,RISC-V近年來正在飛速發(fā)展,其作為一種全新的、簡單且開源免費(fèi)的指令集架構(gòu)則是實(shí)現(xiàn)突破限制的最佳選擇。
RISC-V+FPGA——全新發(fā)展方向
RISC-V處理器和FPGA的生態(tài)環(huán)境非常匹配,RISC-V的出現(xiàn)恰好給FPGA新的選擇和發(fā)展方向,包括SoC FPGA發(fā)展、實(shí)現(xiàn)軟硬件都可編程以及拓寬FPGA應(yīng)用領(lǐng)域,其必將會(huì)在SoC FPGA生態(tài)里面發(fā)揮重要作用。
在此背景下,以及在中國科學(xué)院計(jì)算技術(shù)研究所的大力支持下,英特爾FPGA中國創(chuàng)新中心運(yùn)營方重慶海云捷迅科技有限公司不懈攻關(guān),于2021年9月實(shí)現(xiàn)了RISC-V處理器在FPGA上的成功部署,并正確控制其外設(shè)功能,踏出了在“RISC-V+FPGA”發(fā)展道路上的第一步。
技術(shù)背景——NutShell處理器
選用的RISC-V處理器是由中國科學(xué)院大學(xué)與中國科學(xué)院計(jì)算技術(shù)研究所發(fā)布的首期“一生一芯”計(jì)劃成果-果殼NutShell處理器。果殼處理器是使用Chisel語言模擬化設(shè)計(jì)的,基于 RISC-V RV64開放指令集的順序單發(fā)射處理器實(shí)現(xiàn)。
果殼NutShell處理器基于9級(jí)流水線順序設(shè)計(jì)。存儲(chǔ)系統(tǒng)方面, 果殼NutShell處理器包含一級(jí)指令緩存和數(shù)據(jù)緩存及可選的二級(jí)緩存。處理器通過AXI4總線與外界相連。果殼NutShell處理器支持M、S、U三個(gè)特權(quán)級(jí),支持I、M、A、C、Zicsr與Zifencei指令擴(kuò)展,支持虛實(shí)地址轉(zhuǎn)換,包含頁表緩沖(TLB)以加速地址轉(zhuǎn)換過程,支持Sv39分頁方案。
圖一 果殼NutShell處理器整體微結(jié)構(gòu)設(shè)計(jì)圖
果殼NutShell處理器的設(shè)計(jì)由三部分組成: 負(fù)責(zé)分支預(yù)測和取指的前端(Front-end),負(fù)責(zé)執(zhí)行指令的執(zhí)行引擎(Execution Engine,也稱后端Back-end),以及用于訪存操作的訪存單元(LSU)。前端完成取指與譯碼操作后會(huì)將指令放置在譯碼緩沖區(qū)中。后端從譯碼緩沖區(qū)中讀出指令并順序執(zhí)行。訪存單元作為一個(gè)功能單元(FU)包含在后端流水線中。控制邏輯分布在流水線的各個(gè)部分。
技術(shù)背景——Cyclone® V SoC FPGA
選用的FPGA芯片是由Intel發(fā)布的一款在單一芯片上集成了雙核的ARM Cortex-A9處理器和FPGA邏輯資源的SoC芯片-Cyclone® V SoC FPGA芯片。該芯片相較于傳統(tǒng)的單一ARM處理器或FPGA芯片,既擁有了ARM處理器靈活高效的數(shù)據(jù)運(yùn)算和事務(wù)處理能力,同時(shí)又集成了FPGA的高速并行處理優(yōu)勢。
圖二 Cyclone® V SoC FPGA整體架構(gòu)圖
此外,搭載 Cyclone® V SoC FPGA芯片的硬件平臺(tái)是由重慶海云捷迅科技有限公司自主研發(fā)的AIGO_C5MB Development Kit。平臺(tái)采用核心板加擴(kuò)展板的方式,方便用戶對核心板的二次開發(fā)利用。核心板以 Cyclone® V SoC芯片為核心,芯片不僅僅將雙核Cortex-A9嵌入式內(nèi)核與FPGA可編程邏輯相結(jié)合,還具有與高性能、低功耗處理器系統(tǒng)相結(jié)合的強(qiáng)大的可重新配置能力。Intel SoC集成了一個(gè)基于ARM的HPS,該系統(tǒng)由處理器、外設(shè)和內(nèi)存接口組成,并通過一個(gè)高帶寬的互聯(lián)網(wǎng)絡(luò)與FPGA結(jié)構(gòu)進(jìn)行無縫連接。另外,核心板上搭載高速芯片、千兆以太網(wǎng)PHY以及USB2.0 PHY。其擴(kuò)展板則是為用戶提供了豐富的外設(shè)接口??梢詽M足用戶各種高速數(shù)據(jù)交換、數(shù)據(jù)存儲(chǔ)、視頻傳輸處理以及工業(yè)控制的需求。為高速數(shù)據(jù)傳輸和交換、數(shù)據(jù)處理的前期驗(yàn)證和后期應(yīng)用提供了可能,也為高校的開發(fā)教學(xué)、工程師的深度開發(fā)等提供了適用性。
圖03 AIGO_C5MB Development Kit實(shí)物圖
技術(shù)路線
成果實(shí)現(xiàn)的技術(shù)手段主要為將果殼NutShell RISC-V處理器架構(gòu)與Cyclone® V SoC FPGA的“FPGA(PL)+ARM(PS)”架構(gòu)進(jìn)行適配,并在Intel自有的硬件開發(fā)平臺(tái)Quartus Prime中進(jìn)行硬件平臺(tái)搭建以及相關(guān)代碼編寫。
項(xiàng)目成果
完成架構(gòu)適配、硬件平臺(tái)搭建以及相關(guān)代碼編寫后,可正確控制串口外設(shè)打印如下信息。
圖四 成果展示圖
感謝中國科學(xué)院計(jì)算技術(shù)研究所和香山技術(shù)團(tuán)隊(duì)的大力支持!
重慶海云捷迅科技有限公司將持續(xù)和中國科學(xué)院計(jì)算技術(shù)研究所以及香山技術(shù)團(tuán)隊(duì)展開合作,實(shí)現(xiàn)與高性能開源RISC-V處理器“香山”的對接以及相關(guān)功能的應(yīng)用。重慶海云捷迅科技有限公司將持續(xù)在RISC-V領(lǐng)域發(fā)揮重要作用以及在自主可控之路中砥礪前行。
作者簡介
彭詩翰,重慶海云捷迅科技有限公司-FPGA工程師。美國佛蒙特大學(xué)電子電氣工程及數(shù)學(xué)雙學(xué)士學(xué)位、美國東北大學(xué)電子電氣與電腦工程碩士學(xué)位。具備出色的項(xiàng)目管理能力,且熟知FPGA異構(gòu)計(jì)算、人工智能等相關(guān)技術(shù),精通Arduino、Matlab的實(shí)操運(yùn)用。