基于FPGA的嵌入式AI解决方案——EdgeBoard硬件设计与解析
EdgeBoard是基于FPGA打造的嵌入式AI解决方案,能够提供强大的算力,并支持定制化模型,适配各种不同的场景,并大幅提高设备的AI推理能deeplab力,具有高性能、高通用、易集成等特点。
EdgeBoard系列计算卡符合工业设计标准、满足-40℃~85℃的温度范围,接口齐全,可广泛适配如安防监控、工业质检、医疗诊断、科研教学、智能零售等各种场景。
EdgeBoard产品分为三个系列,称之为“三兄弟”,能够满足客户不同的需求,既有满足高性能计算的方案,也有高性价比的处理方案。本文将从“三兄弟”的特点及整体硬件框架两个方面来介绍EdgeBoard。
1.为什么EdgeBoard使用FPGA
理想的异构计算平台应该具备三种基本能力:首先专有的硬件加速能力,提高算法的性能;其次高效灵活适配算法的能力,适配不断演进的算法;最后丰富的外围接口,适合不同的应用场景。
CPU作为通用处理器,以逻辑计算作为出发点,更偏重控制流数据,适用于控制和调度类任务,不易于进行外围电路的扩展。GPU具有并行计算的特点,广泛应用在训练阶段,但由于功耗大、成本高等原因,少有部署在端上的产品,另外高延迟及缺少对外围电路的支持也不利于部署到端上的产品中。ASIC作为一种专用集成电路芯片,具有体积小、功耗低、计算性能高等特点,但AISC芯片研发时间长,资金投入大,由于芯片内部结构相对固定,无法适配快速演进的AI算法,在应用场景没有明确之前ASIC显然不是最优的选择。
FPGA作为一种现场可编程门阵列,具有低功耗、低延迟、高性能等优势,其可编程的特性又可以灵活适配不同的算法,同时FPGA丰富的外围接口可以满足不同的应用需求,FPGA差异化的内部逻辑资源可以提供不同的算力支持,这些优势使得FPGA被广泛应用在AI推理加速上。
2.EdgeBoard计算卡介绍
2-1 概述
EdgeBoard是基于Xilinx Zynq UltraScale+ MPSoC系列芯片打造的计算卡,芯片内部集成ARM处理器+GPU+FPGA的架构,既具有多核处理能力、也有视频流硬解码处理能力,还具有FPGA的可编程的特点。内置Linux 4.14.0系统和深度学习预装环境,与百度大脑模型定制平台(AIStudio、EasyDL、EasyEdge)深度打通,实现模型的训练、部署、推理等一站式服务。
EdgeBoard计算卡产品可以分为FZ9、FZ5、FZ3三个系列,是分别基于XCZU9EG、XAZU5EV、XAZU3EG研发而来,分别具有高性能,硬解码,低成本等特点,针对不同需求和应用场景,有不同的市场定位和产品定位,满足各类开发者多样性的需求。
2-2 FZ9系列计算卡
EdgeBoard FZ9系列计算卡是基于XCZU9EG芯片的高性能计算卡,具有较高的性能和集成功能。ZU9芯片PS端具有四核Cortex-A53和双核Cortex-R5 以及Mali-400MP2 GPU;PL端资源DSP Slices 2520,计算性能达3.6Tops,片上存储BRAM高达32.1Mb。
FZ9计算卡产品采用核心板+扩展板的双层设计方案,增加了对外接口的数量,其80*120mm的尺寸方便计算卡集成于到产品中,具备软硬一体的解决方案(软件+FPGA),支持多种视频源(usb、mipi、bt1200、网络摄像头)的输入,并具有强大的视频预处理能力,视频输出DisplayPort接口兼容标准Linux视频框架V4L2。高性能的视频处理能力和标准化的视频输出接口可满足机器学习、医疗诊断等行业需求。
EdgeBoard FZ9计算卡
2-3 FZ5系列计算卡
EdgeBoard FZ5系列计算卡是基于XAZU5EV芯片的计算卡,提供较高性能和功能集成,具有多路视频流H264&H265标准的编解码功能。ZU5芯片PS端同样包含四核Cortex-A53 、双核Cortex-R5、以及GPU Mali-400MP2;PL端资源DSP Slices 1248,计算性能达2.4Tops,片上存储BRAM达5.1Mb,UltraRAM 18Mb。
FZ5计算卡产品延续了FZ9计算卡的产品形态,采用核心板+扩展板双层设计方案,具有多视频输入接口,VCU(Video Codec Unit)硬核解码,对视频的输入处理采用流水线设计,实现高吞吐量和低时延,具有极佳的功耗性能比。产品可以广泛应用于具有硬解码需求的视频图像推理,满足安防监控、工业质检、自动驾驶等行业需求。
EdgeBoard FZ5计算卡
2-4 FZ3系列计算卡
EdgeBoard FZ3系列计算卡是基于XAZU3EG芯片的计算卡,处理器ZU3芯片内置四核Cortex-A53和核心FPGA可编程逻辑模块;PL端资源DSP Slices 360,实测计算性能达1.2Tops,片上存储BRAM达7.6Mb。
FZ3计算卡产品具有高集成性的设计方案,板卡尺寸为80*70mm,具有usb3.0、bt1120、mipi、网络等多视频输入接口,板载2GB 64bit位宽的 DDR4,整体功耗仅5W左右,极佳的功耗性能比。对于FZ3产品具有的高性能、低功耗、低成本、小体积的特点,产品可以广泛应用于科研教学、智能零售、安防监控等行业。
EdgeBoard FZ3计算卡
3.EdgeBoard框架及性能介绍
3-1 MPSoC系统框架
Zynq UltraScale+ MPSoC架构提供频率高达1.5GHz的四核Cortex®-A53 高效 64位 ARMv8 应用处理器、具有双核 ARM® Cortex®-R5 600MHz的实时低功耗协处理器,以及ARM® Mali™-400MP2 GPU达到667MHz,同时EV系列还包含 H.265/H.264 视频编解码器单元,可提供原生 UltraHD 压缩及专用引擎,满足动态电源管理与安全配置需求。Zynq UltraScale+ MPSoC平台系统顶层框图如下:
MPSoC平台系统框架
3-2 EdgeBoard计算卡配置比较
基于MPSoC平台系统顶层框图,EdgeBoard计算卡的系统框架设计如下:
EdgeBoard计算卡系统框架
EdgeBoard计算卡在配置方面,拥有4GB 和2GB 的不同DDR4内存配置版本,存储支持8GB eMMC,256MB NOR Flash,8Kb EEPROM,具有多路视频(usb、mipi、bt1200、网络视频)输入接口,同时为满足开发者调试便捷性,支持TF Card系统盘启动。
EdgeBoard计算卡的整体配置比较:
3-3 常用模型在EdgeBoard上的性能数据
EdgeBoard软核仍在持续升级,性能也将同步提升。不同版本的网络模型对算力要求不同,针对具体项目应用需求,可进行定制优化。