【进阶篇】突破与挑战!RISC-V再一次成功部署FPGA
继实现首期“一生一芯”计划成果-果壳Nutshell处理器在Intel低功耗的经典FPGA芯片-Cyclone V SoC FPGA上的成功部署后,在中国科学院计算技术研究所的大力支持下,海云捷迅不懈攻关,于2021年12月28日实现了开源高性能RISC-V处理器-香山处理器(雁栖湖架构)在Intel高性能超大容量的高端FPGA芯片-Stratix 10 SX SoC FPGA上的成功部署。
技术背景
香山处理器-雁栖湖版本…
本次项目选用的RISC-V处理器是由中国科学院计算技术研究所和鹏城实验室联合发布的已于2020年7月实现流片的“雁栖湖”版本香山处理器。香山处理器是一款开源的高性能RISC-V处理器,基于Chisel硬件设计语言实现,支持 RV64GC 指令集。在香山处理器的开发过程中,通过使用包括Chisel、Verilator、GTKwave等在内的大量开源工具,实现差分验证、仿真快照、RISC-V检查点等处理器开发的基础工具,并建立起一套包含设计、实现、验证等在内的基于全开源工具的处理器敏捷开发流程。
图一 香山处理器目录结构
香山处理器是乱序六发射结构设计,前端包括取指单元、分支预测单元、指令缓冲等单元,顺序取指。后端包括译码、重命名、重定序缓冲、保留站、整型/浮点寄存器堆、整型/浮点运算单元。访存子系统被分离为包括两条Load流水线和两条Store流水线,以及独立的Load队列和Store队列,Store Buffer等。缓存包括I$、D$、L1+$、L2$、TLB和预取器等模块。
图二 香山处理器架构设计图
Stratix 10 SX SoC FPGA …
本次项目选用的FPGA芯片是由Intel公司发布的Stratix 10 SX 2800 SoC FPGA芯片,其具体型号为1SX280LU2F50E2VGS2。该芯片采用Intel 14nm工艺制造,具备96个全双工收发器通道,收发器数据速率达到28.3Gbps,浮点计算性能10TFlops,并配备专用安全器件管理器(SDM),支持AES-256、SHA-256/384、ECDSA-256/384加解密加速认证。其特点为集成四核心ARM A53 CPU处理器并采用HyperFlex内核体系结构,单芯片整合灵活、低延迟的1.5GHz ARM处理器和高性能、高密度的FPGA,逻辑单元密度(LE)高达2753000。性能比上代产品提升2倍,而功耗则降低70%,非常适合5G无线通信、软件定义射频、军事安全计算、网络功能虚拟化(NFV)以及数据中心加速等等。
图三 Intel Stratix 10 SX SoC FPGA架构图
而搭载该FPGA芯片的硬件平台则选用的是Intel Stratix 10 SoC Development Kit(ES Edition)。
图四 Stratix 10 SoC Development Kit(ES Edition)实物图
图五 Stratix 10 SoC Development Kit(ES Edition)框图
技术路线
本次成果实现的技术手段依旧沿用先前成功实现果壳NutShell处理器与Intel Cyclone V SoC FPGA对接的方式,对香山RISC-V处理器架构与Intel Stratix 10 SX 2800 SoC FPGA的“FPGA(PL)+ARM(PS)”架构进行适配,并在Intel自有的硬件开发平台Quartus Prime中进行硬件平台搭建以及相关代码编写。
项目成果
完成架构适配、硬件平台搭建以及相关代码编写后,可正确控制串口外设打印如下信息。
感谢中国科学院计算技术研究所和香山技术团队的大力支持。
本次香山RISC-V处理器架构与Intel Stratix 10 SX 2800 SoC FPGA的“FPGA(PL)+ARM(PS)”架构成功适配是海云捷迅在RISC-V领域取得的又一阶段性重要成果。此后,海云捷迅还将持续在RISC-V领域发挥重要作用以及在自主可控之路上砥砺前行。
在研发过程中,海云捷迅遇到并成功克服了无借鉴经验资料、硬件工程编译时间长达十数小时、接口不匹配等种种困难,后续我们将会详细描述如何一步一步突破这些难题实现香山处理器和Intel Stratix 10 SX 2800 SoC FPGA对接过程,敬请期待。
作者简介
彭诗翰,海云捷迅-FPGA工程师。美国佛蒙特大学电子电气工程及数学双学士学位、美国东北大学电子电气与电脑工程硕士学位。具备出色的项目管理能力,且熟知FPGA异构计算、人工智能等相关技术,精通Arduino、Matlab的实操运用。