FPGA
FIELD PROGRAMMABLE GATE ARRAY

现场可编程门阵列
硬件即软件,重构计算的自由

从第一块开发板点灯,到 RTL 设计、时序收敛、验证签核与 SoC 系统——这里汇集 FPGA 的方方面面,为中文学习者提供一条清晰的进阶之路。

9 大模块SystemVerilog 学习手册
32 个子项数据类型 / 接口 / 断言
4 层进阶入门 → 设计 → 验证 → 系统
开源 + 商业全工具链覆盖
INTRODUCTION

什么是 FPGA?

FPGA 是「出厂后仍可反复编程」的数字集成电路:由海量可配置逻辑块(CLB)、互连资源与专用硬核组成,用硬件描述语言(HDL)描述电路,编译后直接生成并行工作的真实硬件——而不是逐条执行的指令流。

⚡

真并行

成千上万个逻辑单元同拍工作,流水线与数据通路天然并行,吞吐远超顺序执行的 CPU。

🔁

可重构

上电加载比特流即成为不同电路;一次投片、无限改版,省去 ASIC 高昂的流片成本与周期。

🎯

低时延确定性

硬件级流水线,纳秒~微秒固定时延。高频交易、雷达信号处理、通信基带的核心选型。

维度MCU / CPUFPGAASIC
执行方式指令流顺序/多线程电路并行电路并行
开发语言C / C++ / RustVerilog / VHDL / 高层次综合Verilog / VHDL
修改成本重新编译重新综合、上电即换重新流片(百万美元级)
单位性能功耗灵活但低高最高
适合场景控制、通用计算原型验证、小批量、低时延流式计算超大批量(手机 SoC)
ARCHITECTURE

芯片内部长什么样?

现代 FPGA = 可编程逻辑资源 + 片上互连 + 专用硬核。理解每种资源的结构,是写出好 RTL、做时序收敛的基础。

LUT 查找表组合逻辑核心,6 输入实现任意函数
触发器 FF与 LUT 同块,时序逻辑基本单元
Block RAM片上双口存储,FIFO / 缓存推断
DSP 硬核乘加阵列,滤波 / 乘法流水线
可编程互连开关矩阵与布线资源,延迟主因
时钟网络GCLK / BUFG / MMCM / PLL 全局时钟
IO BankLVCMOS /差分标准,IDELAY / ODELAY
高速串行GTX / GTY 收发器,PCIe / 万兆以太网
🧩

CLB / LE:基本逻辑单元

Xilinx 称 CLB(内含 LUT6 + 触发器对),Intel/Altera 称 LE。一个 10 万门设计 ≈ 数千个 LUT。资源占用率在 Vivado 综合报告中一目了然。

🛣️

互连与布线

逻辑资源之间的可编程开关矩阵决定信号路径。跨时钟域、长走线、高扇出都会在实现后暴露为时序违例——好的 RTL 结构能让布线器“走得顺”。

⏱️

时序收敛

建立时间 / 保持时间 / 时钟偏斜是 FPGA 设计的终极 Boss。流水线切分、关键路径复制、约束驱动实现(XDC / SDC)是三大常用武器。

🏗️

硬核 SoC

Zynq(ARM A53 + PL)、Intel SoC FPGA(双核 A76 级处理器)让“处理器 + 可编程逻辑”片内协同:软件管控制、硬件管吞吐。

ECOSYSTEM

厂商与器件生态

选型即选生态:工具链成熟度、开发板价格、文档质量与供应链同样重要。

🏔️

AMD Xilinx

7 系列(Artix / Kintex / Virtex)性价比经典,UltraScale+ / Versal 高端霸主。Vivado 工具链 + UG 文档体系最全。

🌉

Intel (Altera)

Cyclone V / 10 低功耗主力,Agilex 旗舰。Quartus 工具链,板载硬核(PCIe、EMIF)丰富。

🇨🇳

国产三杰

紫光同创 Pango、安路 Ellicore(小金人 EP4/EP5)、高伦 Gowin(GW1N/GW2A,开源 Yosys 支持最好)。

🧊

Lattice

iCE40 / ECP5 / CertusPro-NX:小封装低功耗之王,开源生态(nextpnr / Yosys)最早的拥趸。

🔌

Microchip

IGLOO / PolarFire:非易失闪存工艺,断电保配置,抗辐照系列用于航天。

📟

开发板速览

Basys3 / Nexys Video(教学)、DE10-Nano(Intel)、 Tang Nano(Gowin,几十元入门)、Alveo(数据中心加速卡)。

TOOLCHAIN

工具链全景

从写代码到烧比特流:综合 → 优化映射 → 布局布线 → 静态时序分析 → 下载调试,每一步都有商业与开源两套选择。

环节商业工具开源替代说明
仿真Questa / VCS / XceliumVerilator / Icarus / GTKWaveVerilator 编译式仿真速度最快,SV 支持日趋完善
综合Vivado / Quartus / Yosys 商用版Yosys把 RTL 转成网表;开源流程核心
布局布线Vivado / Quartus / Icestormnextpnr决定真实物理时延,P&R 质量 = 时钟上限
比特流随厂商 IDEtrellis / vprECP5 / iCE40 等已有完整文档化开源链路
嵌入式软件Vitis / Platform Designerbuildroot / ZephyrSoC 上跑 Linux 或裸机固件
形式验证VC Formal / JasperGold / Questa SVASymbiYosys数学证明断言恒成立,验证“找不到的 bug”
LEARNING PATH

四阶段学习路径

数字电路 → HDL → 设计方法学 → 系统能力。每个阶段都给出可检验的目标。

数字逻辑与电路基础

布尔代数、组合/时序电路、状态机、时钟与复位概念。目标:手推一位全加器到移位寄存器。

HDL 设计入门(先 Verilog 思想,再 SystemVerilog 写法)

module、always_comb/always_ff、阻塞 vs 非阻塞、参数化。目标:计数器、UART、SPI 自主实现并通过仿真。推荐直接学习本站 SystemVerilog 手册。

设计方法学与验证

跨时钟域(同步器/FIFO/握手)、状态机编码、interface + SVA 断言、testbench 与覆盖率。目标:给自定义 IP 写完整验证环境。

时序收敛与系统级

约束编写(SDC/XDC)、关键路径分析、流水线调优、SoC(AXI / Zynq / PS-PL)、Pynq / 加速卡应用。目标:把设计跑到目标频率并上板稳定工作。

HANDS-ON

实战项目清单

按难度递进的练手项目,每一个都能在简历上讲出完整故事。

💡

Lv.1 呼吸灯 / PWM

分频、计数器与 IO 约束入门,一块板子一小时跑通。

💡

Lv.1 按键消抖 + 数码管扫描

理解亚稳态与多路复用的第一课。

📡

Lv.2 UART / SPI / I2C 控制器

协议状态机设计 + 自写 testbench 验证闭环。

🖥️

Lv.2 VGA / HDMI 显示

时序发生器、显存(BRAM)与像素流水线。

🔀

Lv.3 异步 FIFO + CDC

格雷码指针、同步器与满空判断——面试必考、工程必用。

🧮

Lv.3 FIR / FFT 信号处理

DSP 推断、流水线设计与数据吞吐优化。

🖥️

Lv.4 RISC-V 软核 SoC

PicoRV32 起步,挂 AXI 外设,跑通 Linux。

🚀

Lv.4 万兆网络 / PCIe 加速

GTX 收发器、协议 IP 集成与板级调试。

🤖

Lv.5 卷积加速器 / AI 推理

数据流架构设计,与 CPU/GPU 的能效对比。

LEARNING · FLAGSHIP

SystemVerilog 现代 FPGA 设计学习手册

本站旗舰学习板块:9 大模块 32 子项,从 logic / enum / struct 数据类型,到 interface / modport 接口,再到 SVA 断言、类与约束随机、功能覆盖率与综合案例——覆盖现代 FPGA 设计与验证全流程,内置 AI 设计导师实时答疑。

数据类型Interface 接口SVA 断言类与随机化功能覆盖率FPGA 综合同步 FIFO 案例AI 导师
立即进入手册 →
systemverilog_manual.ts interface fifo_if #(DW, DEPTH); logic [DW-1:0] data; logic valid; assert property (a_full); always_ff @(posedge clk) begin q <= d; // logic 一把梭
RESOURCES

延伸阅读与资源

IEEE 1800-2023SystemVerilog 语言标准原文,断言语义的最终裁判
《Verilog 数字系统设计》Brown & Vranesic,高校教材经典
《SystemVerilog 硬件设计描述语言》Chris Spear,SV 入门首选
Cummings 论文系列SNUG 论文,CDC / FSM 工程实践标杆
01 课程 / 正点原子中文 FPGA 板级教程与开发板资料
hdl4kids / nand2tetris从零构建计算机的入门思路
OpenTitan工业级 SV + UVM + 形式验证开源范本
PicoRV32克利的极简 RISC-V 软核,读源码学设计