圖一 果殼NutShell處理器整體微結(jié)構設計圖

果殼NutShell處理器的設計由三部分組成: 負責分支預測和取指的前端(Front-end),負責執(zhí)行指令的執(zhí)行引擎(Execution Engine,也稱后端Back-end),以及用于訪存操作的訪存單元(LSU)。前端完成取指與譯碼操作后會將指令放置在譯碼緩沖區(qū)中。后端從譯碼緩沖區(qū)中讀出指令并順序執(zhí)行。訪存單元作為一個功能單元(FU)包含在后端流水線中??刂七壿嫹植荚诹魉€的各個部分。

技術背景——Cyclone? V SoC FPGA

選用的FPGA芯片是由Intel發(fā)布的一款在單一芯片上集成了雙核的ARM Cortex-A9處理器和FPGA邏輯資源的SoC芯片-Cyclone? V SoC FPGA芯片。該芯片相較于傳統(tǒng)的單一ARM處理器或FPGA芯片,既擁有了ARM處理器靈活高效的數(shù)據(jù)運算和事務處理能力,同時又集成了FPGA的高速并行處理優(yōu)勢。

圖片2.png

圖二 Cyclone? V SoC FPGA整體架構圖

此外,搭載 Cyclone? V SoC FPGA芯片的硬件平臺是由重慶海云捷迅科技有限公司自主研發(fā)的AIGO_C5MB Development Kit。平臺采用核心板加擴展板的方式,方便用戶對核心板的二次開發(fā)利用。核心板以 Cyclone? V SoC芯片為核心,芯片不僅僅將雙核Cortex-A9嵌入式內(nèi)核與FPGA可編程邏輯相結(jié)合,還具有與高性能、低功耗處理器系統(tǒng)相結(jié)合的強大的可重新配置能力。Intel SoC集成了一個基于ARM的HPS,該系統(tǒng)由處理器、外設和內(nèi)存接口組成,并通過一個高帶寬的互聯(lián)網(wǎng)絡與FPGA結(jié)構進行無縫連接。另外,核心板上搭載高速芯片、千兆以太網(wǎng)PHY以及USB2.0 PHY。其擴展板則是為用戶提供了豐富的外設接口??梢詽M足用戶各種高速數(shù)據(jù)交換、數(shù)據(jù)存儲、視頻傳輸處理以及工業(yè)控制的需求。為高速數(shù)據(jù)傳輸和交換、數(shù)據(jù)處理的前期驗證和后期應用提供了可能,也為高校的開發(fā)教學、工程師的深度開發(fā)等提供了適用性。

圖片3.png

圖03 AIGO_C5MB Development Kit實物圖

技術路線

成果實現(xiàn)的技術手段主要為將果殼NutShell RISC-V處理器架構與Cyclone? V SoC FPGA的“FPGA(PL)+ARM(PS)”架構進行適配,并在Intel自有的硬件開發(fā)平臺Quartus Prime中進行硬件平臺搭建以及相關代碼編寫。

項目成果

完成架構適配、硬件平臺搭建以及相關代碼編寫后,可正確控制串口外設打印如下信息。

圖片4.png

圖四 成果展示圖

感謝中國科學院計算技術研究所和香山技術團隊的大力支持!

重慶海云捷迅科技有限公司將持續(xù)和中國科學院計算技術研究所以及香山技術團隊展開合作,實現(xiàn)與高性能開源RISC-V處理器“香山”的對接以及相關功能的應用。重慶海云捷迅科技有限公司將持續(xù)在RISC-V領域發(fā)揮重要作用以及在自主可控之路中砥礪前行。

作者簡介

彭詩翰,重慶海云捷迅科技有限公司-FPGA工程師。美國佛蒙特大學電子電氣工程及數(shù)學雙學士學位、美國東北大學電子電氣與電腦工程碩士學位。具備出色的項目管理能力,且熟知FPGA異構計算、人工智能等相關技術,精通Arduino、Matlab的實操運用。

分享到

songjy

相關推薦