阿里云提供的FaaS(FPGA as a Service)F5实例支持多种开发模式,用于满足不同应用场景和不同开发者的开发需求。本文为您介绍F5实例的基本概念、FPGA板卡信息以及系统架构内容。
基本概念
名称 | 解释 |
---|---|
OPAE | 全称为Open Programmable Acceleration Engine,属于Intel配套软件栈,包括内核态空间和用户态空间两部分,OPAE提供了内核态和用户态的API封装。 |
IOFS | 全称为Intel Open FPGA Stack。更多信息,请参见Intel® Open FPGA Stack。 |
MMD | 全称为Memory Mapped Device,该层属于Ali Shim用户态驱动。 |
Runtime | 表示Intel OpenCL/OneApi软件栈,属于IOFS生态种的一个组件。 |
FIM | 全称为FPGA Interface Manager。FPGA的静态区域,负责管理FPGA板卡的外围硬件电路及状态监控,向用户逻辑侧提供标准的AXI4总线接口,用于与主机(Host)、板载DDR进行交互。 |
PCIe Bridge | FIM中的PCIe Bridge将PCIe协议简化成标准的AMBA总线接口,用户无需关注复杂的PCIe协议,通过AXI-Lite4、AXI4协议即可完成寄存器的读写和Host Memory的读写。 |
DDR | FIM中提供四组DDR4(单路4 GB)接口封装,每路DDR均封装成Intel标准的AvalonMM总线接口。 |
Clock Reconfig | FIM中提供两组用户可配置的时钟,您可以根据自己设计方案中的具体频率来配置相应的时钟频率。 |
SEU | 全称为Single-Event Upsets,表示F5 FPGA板卡提供的FPGA CRAM单粒子翻转检测功能。 |
Remote STP | JATG协议封装,通过相应软件栈和PCIe协议,实现传统逻辑开发工程师使用物理JTAG进行实时波形调试和跟踪的能力。 |
PIM | 全称为Platform Interface Manager,表示接口转换适配单元。根据用户需求将FIM提供的标准AXI4接口转换为用户需要的接口形式。 |
Ali Shim | F5实例针对Intel OneAPI/OpenCL所提供的逻辑适配层。 |
AFU | 全称为Accelerator Functional Unit。用户可以在该层上开发自己的逻辑,然后集成到F5实例中。 |
F5 FPGA板卡规格
板卡 | 规格 |
---|---|
FPGA型号 | Intel Agilex,更多信息,请参见Intel® Agilex™ F-Series FPGA and SoC FPGA。 |
PCIe | PCIe Gen 4 ×16 |
DDR | DDR4 (4 GB) ×4 |
F5实例的系统架构

- FIM组件FIM组件属于F5 FPGA板卡上的静态区域,您无法在该区域进行任何修改操作,整个FIM组件所占用的资源为整个FPGA板卡片上资源的8%,除FIM组件所占据的静态区资源外,其余资源您均可以使用。FIM组件在FPGA器件上的布局布线位置如下图(图中红色部分)所示:说明 了解FIM组件在FPGA器件上的布局布线位置,您可以更方便地使用除了FIM外剩下的芯片面积和资源。
- 开发模式
F5实例支持以下三种开发模式用于满足不同应用场景和开发者的开发需求。
- 模式1:基于Intel IOFS的RTL开发流程
该模式适用于熟悉Intel IOFS RTL开发流程的开发者或组织团队。您可以采用该模式来进行开发或者移植您的设计方案至F5实例中,无需了解复杂的PCIe、DDR协议及Host驱动开发,仅需专注于OPAE Based RTL Design部分的逻辑开发以及OPAE Base App部分的Host应用层代码的开发。
阿里云F5实例提供了已适配的OPAE Driver和FIM组件,根据您解决方案的接口需求,开发套件中PIM组件提供AMAB、AVALON两套标准总线可供选择,更多信息,请参见F5实例开发套件。
- 模式2:基于Intel OpenCL/OneAPI开发流程
该模式适用于熟悉Intel OpenCL/OneApi开发方式的开发者或组织团队。F5实例兼容了Intel的OpenCL/OneAPI开发流程,您可以采用该模式来进行开发或者移植您的设计方案至F5实例中,几乎无需具备FPGA相关背景知识,仅需专注于OpenCL/OneAPI Kernel部分及OpenCL/OneAPI App部分的代码开发。
阿里云F5实例的开发套件提供了适配后的FIM、PIM、SHIM以及Host侧适配过的OPAE Driver、MMD、Runtime,帮助您顺利地移植设计方案到F5实例中。
- 模式3:高度定制的RTL开发流程该模式适用于FPGA资深用户或者有完整软硬件栈解决方案的开发者或组织团队。您可以采用该模式来进行开发或者移植您的设计方案至F5实例中。
- 逻辑侧:F5实例在FIM中将PCIe、DDR等协议均封装成标准的AMBA/AVALON总线,从而使您更专注于应用的开发。根据设计需求,您可通过PIM来适配自己设计的总线接口,也可以在AFU中自定义DMA协议以及业务逻辑开发。
- Host侧:您可以基于自己的需求高度定制整个软件栈。
- 模式1:基于Intel IOFS的RTL开发流程