知识卡片一:
【FPGA 基础篇】开启硬件编程之门
FPGA 的本质: FPGA(现场可编程门阵列)并非在运行软件程序,而是在构建电路本身。用户可以通过 Verilog/VHDL 等硬件描述语言,在芯片出厂后随时重新配置其内部逻辑。
FPGA 的优势: FPGA 最主要的优势在于可重构和低延迟。与 CPU 的顺序执行不同,FPGA 是真正的硬件级并行架构,实现纳秒级响应和确定性的时延表现。
FPGA 基本结构: FPGA 由 CLB 逻辑单元(包含 LUT 查找表与触发器)、可编程互连布线、I/O 及配置存储组成。
FPGA 核心资源:
CLB(逻辑单元): 由 LUT(查找表)和触发器组成,是实现复杂逻辑的基础。
硬核资源: 包含用于高速缓存的 Block RAM、进行高性能运算的 DSP 单元、以及管理时钟的 PLL/MMCM、高速 Serdes 串行解串器。
*硬核资源的存在,使现代 FPGA 从"可编程逻辑"转变为"可重构计算平台"
SoC FPGA:
SoC FPGA 指 FPGA+ARM 处理器 的软硬件协同架构。ARM 处理器运行Linux/RTOS,负责管理控制、协议栈、用户界面,FPGA 负责高速数据处理,实现硬件加速、实时控制。SoC FPGA在嵌入式系统中非常常见,是FPGA发展的重要里程碑。
当前 FPGA 技术趋势
当前高端 FPGA 配备超高速接口(SerDes/光收发器等)、HBM存储、AI加速功能,已广泛应用于数据中心和 AI 推理,其角色发生了根本性转变。
FPGA 国内外厂商
国外巨头: AMD Xilinx(行业开创者,生态最完善);Intel FPGA(原 Altera,深度整合数据中心生态);Lattice(低功耗专家)及 Microchip(航天级领导者)
国产力量: 紫光同创(Titan 系列)、安路科技(Phoenix 系列)、高云、复旦微等
国产特点: 政策驱动国产化替代,具备显著的价格竞争力(低 30%-50%)及本地化中文支持
AMD 产品系列:
纯逻辑板卡
Artix-7:低成本,低功耗
Kintex-7:性价比最优
Virtex-7:高端旗舰
Kintex ultrascale
Kintex ultrascale+
Virtex ultrascale+
Zynq 系列(SoC FPGA)
Zynq-7000(双核ARM Cortex-A9)
Zynq UltraScale+(四核A53+双核R5)
Zynq RFSoC(集成RF数据转换器)
AMD 开发工具:
Vivado: 负责硬件综合、布局布线及调试的专业级 IDE
Vitis: 统一的软件开发平台,支持更高级别的软件编程与 AI 推理加速
IP Integrator: 通过图形化界面快速集成官方与第三方 IP 核
FPGA 典型应用:
通信/工业/医疗
雷达与航空航天
AI 加速/数据中心
FPGA 开发"五步走":
功能设计 → HDL 编码 → 仿真验证→ 综合与实现 → 下载配置
SoC FPGA:
SoC FPGA 指 FPGA+ARM 处理器 的软硬件协同架构。ARM 处理器运行Linux/RTOS,负责管理控制、协议栈、用户界面,FPGA 负责高速数据处理,实现硬件加速、实时控制。SoC FPGA在嵌入式系统中非常常见,是FPGA发展的重要里程碑。
当前 FPGA 技术趋势
当前高端 FPGA 配备超高速接口(SerDes/光收发器等)、HBM存储、AI加速功能,已广泛应用于数据中心和 AI 推理,其角色发生了根本性转变。
知识卡片二:
【ZYNQ 架构篇】双剑合璧的异构计算
什么是 Zynq: 它将 PS(处理系统,通常是 ARM 处理器)与 PL(可编程逻辑,即 FPGA 部分)集成在单颗芯片上
ZYNQ 7000: 搭载双核 ARM Cortex-A9
ZYNQ UltraScale+ MPSoC: 升级为多处理器架构,拥有负责应用的 APU(四核 A53)、负责实时控制的 RPU(双核 R5F)以及 GPU 和视频编解码单元
ABMA总线: ZYNQ内部通信采用的是ABMA 总线架构,这是 ARM 定义的一套标准总线协议。支持多个Master(主设备)和多个Slave(从设备),支持并行访问。
电源域(Power Domain):Zynq MPSoC被划分为电源域:
LPD(低功耗域)
FPD(高性能域)
PL(FPGA逻辑)
BPD(电池域)
*不同模块可以独立供电/关闭,更加节能,可靠性更高,支持不同运行模式
PS时钟系统: Zynq 内部有多个 PLL
LPD相关:
RPLL → RPU
FPD相关:
APLL → APU(CPU)
DPLL → DDR
VPLL → 视频接口
*不同模块有独立时钟,可以独立调频,优化性能/功耗
PS-PL交互:
PL 访问 PS: S_AXI_HP0_FPD
*常用于图像处理/数据采集/AI加速
PS 访问 PL: M_AXI_HPMx_FPD
*常用于控制寄存器/配置IP
低功耗路径
S_AXI_LPD
M_AXI_HPM0_LPD
628