FPGA 入门 49:FPGA 术语速查表
更新时间:2026-09-12。本文是
fpga/入门层第 51 篇(工具书,可随时回查)。不知道往哪篇走时看 FPGA 领域导读,选方向看 岗位地图。
本文要回答的问题
- 查表时只有一句话解释不够,每个高频术语背后的物理结构、在工具里的表现、常见误用分别是什么?
- 架构资源类术语(LUT、slice、BRAM、DSP、URAM、CLB)在 Xilinx 和 Intel 两个家族里怎么对应?
- 流程类术语(精化、综合、映射、打包、布局、布线、比特流)的输入输出和失败模式是什么?
- 时序术语(建立保持、偏斜、抖动、不确定度、关键路径、时序角)在报告里如何体现?
- CDC、复位、握手、AXI 这些设计术语之间是什么关系,各自解决什么问题?
- 高速接口和信号完整性词汇(SerDes、眼图、CDR、均衡、阻抗、端接)入门阶段要理解到什么程度?
- 阅读英文文档、报错信息和面试交流时,同一概念的两套叫法(Xilinx 与 Intel、缩写与全称)如何快速对应?
本文在速查表之后提供按主题展开的「术语详解卡片」,每张卡片给出定义、物理直觉、工具中的位置、关联篇目,适合碎片时间回读,也适合面试前快速过一遍。
一、架构与资源
| 术语 | 一句话解释 |
|---|---|
| LUT | 查找表,本质小块 SRAM,N 输入 LUT 实现任意 N 输入布尔函数;现代 FPGA 多为 6 输入 |
| FF | 触发器,时钟沿存 1 bit,和 LUT 配对构成"算一拍存一拍" |
| CLB / Slice / LAB | 逻辑单元的上层打包(Xilinx 叫 CLB/Slice,Intel 叫 LAB),内含多个 LUT+FF+进位链 |
| BRAM / URAM | 块状 RAM,专用存储资源;URAM 是更大容量的 UltraRAM |
| DSP48 / DSP Slice | 专用乘加器,乘法/累加/FIR 用它,省 LUT 且快 |
| MMCM / PLL | 时钟管理单元,对板载晶振倍频/分频/移相,产生设计所需时钟 |
| BUFG | 全局时钟缓冲,把时钟送上低抖动、低偏斜的全局时钟树 |
| GTP/GTX/GTH/GTH | Xilinx 高速串行收发器硬核,按线速分档(G 后面字母越高越快) |
| IOB / Bank | 输入输出缓冲 / 管脚分组,同一 Bank 通常共用 VCCO 电压 |
| PS / PL | Zynq 术语:硬核处理器系统 / 可编程逻辑 |
| 硬核/软核/固核 | 固化电路 / RTL 源码 / 已综合网表,三种 IP 交付形态 |
| ASIC | 专用集成电路,流片后固定,与可编程的 FPGA 相对 |
二、开发流程
| 术语 | 一句话解释 |
|---|---|
| RTL | 寄存器传输级,用 Verilog/VHDL 描述数据在寄存器间怎么流动、怎么算 |
| 可综合 | 代码能被翻译成真实电路;testbench 里的 $display、#delay 等不可综合 |
| 综合 synthesis | RTL → 门级/原语网表,回答"需要多少逻辑" |
| 实现 implementation | 网表 → 打包、布局、布线装进具体芯片(Intel 叫 fitter),回答"怎么摆怎么连" |
| 布局布线 place & route | 实现的核心两步:先定位置再连金属线 |
| 比特流 bitstream | 最终二进制配置文件(.bit/.bin/.sof),决定 FPGA 内部所有开关状态 |
| 下载/配置 program | 把比特流加载进 FPGA;SRAM FPGA 掉电丢失,需从 flash 重配 |
| 前仿真/后仿真 | 只验证 RTL 功能 / 带门级延迟和时序的仿真 |
| non-project 模式 | 不建 GUI 工程,纯 tcl 命令流一键构建,适合 CI |
三、约束与时序
| 术语 | 一句话解释 |
|---|---|
| XDC / SDC | Xilinx/业界标准约束文件(约束本质是 tcl 命令) |
| create_clock | 定义主时钟周期与波形,是一切 STA 的基准 |
| setup / hold | 建立时间(数据要在时钟沿前提前稳定)/ 保持时间(沿后还要稳定多久) |
| slack 裕量 | 要求时间 − 实际到达时间;正为通过,负为违例 |
| WNS / TNS | 最差 setup 路径裕量 / 所有负 setup 裕量之和 |
| WHS / THS | hold 版本的最差值 / 总和 |
| STA | 静态时序分析,不依赖仿真激励、遍历所有路径检查时序 |
| 关键路径 | slack 最差、决定最高频率的那条组合逻辑链 |
| false path | 声明某路径不需时序检查(如静态配置信号、已做 CDC 的跨域线) |
| multicycle | 多周期路径,放宽该路径所需时钟周期数 |
| generated clock | 由 MMCM/分频逻辑派生出的时钟,需让工具知道其关系 |
| clock groups | 声明时钟组间异步,互不需要时序分析(CDC 边界) |
| fanout 扇出 | 一个信号驱动多少个负载;过大布线慢、易违例,需复制 |
| retiming | 工具自动在组合逻辑前后移动寄存器以平衡延迟(不改变功能) |
四、跨域与设计
| 术语 | 一句话解释 |
|---|---|
| CDC | 跨时钟域(Clock Domain Crossing),信号从一个时钟域进另一个 |
| 亚稳态 metastability | 数据在判决窗口内变化时触发器输出短暂不确定,需时间收敛 |
| MTBF | 平均无故障时间,两级同步器把亚稳态概率压低到工程可接受 |
| 两级同步器 | 跨域单 bit 连打两拍,只适用于电平/慢变信号 |
| 格雷码 | 相邻值只变 1 bit 的编码,异步 FIFO 指针跨域用它杜绝多位同时翻转 |
| 异步 FIFO | 两侧用独立时钟的 FIFO,多 bit 数据跨域的标准解 |
| 异步断言、同步释放 | 推荐复位策略:复位可异步拉低生效、撤离时同步到时钟沿 |
| valid/ready | 流式握手:valid 表示数据有效,ready 表示下游能收;两者都高才成交 |
| 反压 backpressure | 下游 ready 拉低阻止上游发送的机制 |
| 乒乓 buffer | 两块缓存交替写/读,掩盖处理与传输延迟 |
| 流水线 pipeline | 把长组合逻辑切成多级寄存器,提高吞吐与最高频率 |
五、接口、存储与调试
| 术语 | 一句话解释 |
|---|---|
| AXI4 / AXI-Lite / AXI-Stream | ARM 片上总线族:完整带地址突发 / 简化寄存器访问 / 无地址流式数据 |
| DMA | 直接存储器访问,FPGA/设备不经过 CPU 直接搬数据进内存 |
| BAR / TLP | PCIe 映射给主机的地址空间 / PCIe 传输的事务层包 |
| RGMII / LVDS | 千兆以太网电接口 / 低压差分信号标准 |
| SerDes / 8b10b / CDR | 串行解串器 / 直流平衡编码 / 从数据边沿恢复时钟 |
| MIG | Xilinx DDR 内存接口 IP |
| JTAG | 4 线下载与边界扫描调试接口(TCK/TMS/TDI/TDO) |
| ILA / VIO | 片上逻辑分析仪(抓波形)/ 虚拟 IO(软件强制电平) |
| testbench | 给 RTL 施加激励、检查结果的仿真平台(不可综合) |
| lint | 静态规则检查,不仿真就能发现风格与潜在 bug |
| SEU | 单粒子翻转,辐射导致配置位翻转,高可靠场景需刷新/TMR |
六、架构资源术语详解卡
LUT(Look-Up Table,查找表):FPGA 组合逻辑的基本单元,物理上是一小块多端口 SRAM,输入当地址、存储内容是输出真值表,6 输入 LUT 可实现任意 6 输入布尔函数,也可拆成两个 5 输入函数或配成 64bit 分布式 RAM/移位寄存器。工具报告里 LUT as Logic、as Distributed RAM、as Shift Register 三种用法要分开看(见 资源报告)。Intel 对应的是 ALM 内的自适应查找表。
FF(Flip-Flop,触发器):时钟沿采样的 1bit 存储单元,和 LUT 同居 slice 但独立计数。所有同步状态最终都落在 FF;报告中 latch 计数应恒为零。D 触发器加时钟使能(CE)和置位/复位端,是 FPGA 上唯一推荐的状态存储形式(见 同步设计)。
CLB/Slice/LAB/ALM:CLB(可配置逻辑块)是 Xilinx 的组织单位,含两个 slice;slice 内含 4 个 LUT、8 个 FF、进位链和 MUX。SLICEM 的 LUT 可当存储/移位,SLICEL 只能做逻辑。Intel 的 LAB 含多个 ALM,概念对应但微观结构不同。
BRAM/URAM:块状硬核存储,36Kb/18Kb 两种组织,真双端口、可配 FIFO、ECC,不占 LUT/FF。URAM 是 UltraScale 的 288Kb 大块,省面积但复位和端口模式受限。推断规则见 BRAM 与分布式 RAM。
DSP48/DSP Slice:硬乘法累加器(25×18+48 位),支持级联、预加、模式检测;FIR、FFT、矩阵乘的物理载体。相邻 DSP 有专用级联走线,合理推断能让几百抽头滤波器跑高速(见 DSP48)。
布线资源:CLB 之间按长度分级的金属线段和可编程开关(PIP);时钟走专用低偏斜树,普通信号走通用布线。拥塞(congestion)是局部开关耗尽,总利用率不高也可能布不通。
MMCM/PLL/BUFG:混合模式时钟管理器和锁相环做频率合成/移相/去抖;BUFG 驱动全局时钟树,另有 BUFR/BUFIO 区域时钟。时钟必须从专用时钟脚进入并经缓冲,这是时序约束体系成立的物理前提。
SerDes(GTP/GTX/GTH/GTY):吉比特串行收发器硬核,含 PMA(并串转换、CDR、均衡)和 PCS(8b/10b、逗号对齐),支撑 PCIe、以太网、JESD204。线速档位决定封装和成本。
PS/PL、硬核/软核/固核:Zynq 中 PS 是硬核 ARM 子系统,PL 是 FPGA 阵列。软核以 RTL 交付(RISC-V、MicroBlaze),硬核是硅片固定电路(CPU、收发器),固核是已综合网表。
七、开发流程术语详解卡
Elaboration(精化):综合第一步,展开参数、generate、例化树,检查模块端口一致性;「elaboration failed」通常是层次或参数错误,还没碰逻辑优化。
Synthesis(综合):RTL 经优化(常量传播、FSM 重编码、资源共享)和技术映射,输出器件原语网表。综合后资源是估计、时序不含布线延迟(见 开发流程)。
Technology Mapping(技术映射):把通用布尔逻辑覆盖成 LUT/DSP/BRAM 原语的过程,推断(inference)是 RTL 风格引导它选择硬块;例化(instantiate)是直接点名原语。
Packing/Placement/Routing(打包/布局/布线):打包把 LUT/FF 组进 slice;布局给每个单元物理坐标;布线在开关图上连通网络。布局布线共同决定布线延迟,是实现阶段时序的主要变量。
Timing closure(时序收敛):通过约束、结构改造、物理优化让所有路径 slack 非负的迭代过程(见 时序报告)。
Bitstream/Configuration/Program:比特流是全部配置点的镜像;配置是上电加载过程;JTAG 直写临时、Flash 固化持久(见 比特流下载)。
Functional/Timing Simulation:功能仿真零延迟验证逻辑;时序仿真反标 SDF 标准延迟,用于检查异步接口和复位问题,常规设计已被 STA 大量替代。
Checkpoint(.dcp):布线后网表加约束加物理信息的快照,可打开复现、增量编译、交付他人调试,是工程交接的重要产物。
八、时序术语详解卡
Setup/Hold(建立/保持):触发器对数据相对时钟沿的时间窗口要求;路径必须在一个周期内到达(setup)且不能快到穿过同一沿(hold)。前者限最高频率,后者与频率无关。
Jitter/Skew/Uncertainty:抖动是时钟沿相对理想位置的短期偏差;偏斜是同一时钟到达不同寄存器的时间差;不确定度是 STA 为这些误差预留的扣减。PLL 能滤片上抖动但不能消除参考源噪声。
Slack:要求时间减到达时间。正值有裕量,负值违例。看 slack 要同时看路径类型、逻辑级数、布线占比。
WNS/WHS/TNS/THS/WTPWS:最差建立/保持裕量、负裕量总和、最差脉冲宽度 Slack。TNS 大表示违例面广,WNS 负一点点但 TNS=0 可能只有一条路径。
Critical path(关键路径):slack 最小的路径,决定 Fmax;优化它收益最大。关键路径会随每次布局变化,要看稳定的瓶颈模块而不是一次结果。
False path/Multicycle path/Max delay:时序例外,分别表示「不分析」「给多个周期」「手动上限」。每条都要有功能依据,滥用等于隐藏问题(进阶见 时序例外案例)。
Clock domain/Clock group:共享同一时钟信号和时序关系的寄存器集合;异步域之间用 set_clock_groups 切开 STA,但电路上仍需同步结构。
Corner/角点:工艺、电压、温度组合(slow-low、fast-high 等),STA 在悲观角签核以覆盖量产离散性。
Fmax:在不违例前提下芯片可跑的最高时钟频率,是微结构质量的综合指标。
九、设计与协议术语详解卡
Metastability/MTBF/Synchronizer:亚稳态是触发器在判决窗口采样时输出徘徊的物理现象;两级同步给一个周期收敛时间,把故障间隔拉到远超产品寿命;MTBF 是平均故障间隔的量化指标,和时钟频率、数据变化率指数相关。
Gray code:相邻整数只差 1bit 的编码,跨时钟域传输计数器时最多一位处于亚稳判决,不会出现非法中间值;异步 FIFO 读写指针的标准编码(见进阶 异步 FIFO)。
Handshake(握手):请求/应答式四相位或两相位同步协议,用延迟换确定性,适合低频控制跨域。
Pipeline/Throughput/Latency:流水线把组合逻辑切段插寄存器,提高时钟频率(吞吐),但增加结果延迟(latency);二者是不同指标,握手数据通路要让 valid 随数据一起走拍。
Backpressure(反压)/Skid buffer:下游用 ready 阻止上游发送;skid buffer 是在接口处插一级能保存一个事务的缓冲,切断 ready 组合长路径的标准组件。
AXI4/AXI-Lite/AXI-Stream:ARM AMBA 总线家族:AXI4 带地址突发、五个通道、用于内存映射主从;AXI-Lite 简化为单字寄存器访问;AXI-Stream 无地址只有 valid/ready/last,用于流式数据。三者共用握手思想但不可混用(见进阶 AXI)。
DMA/Scatter-Gather:设备绕过 CPU 直接在内存和设备间搬数据;描述符链式的分散聚集 DMA 能处理不连续物理页。
8b/10b/64b/66b:串行编码,保证直流平衡和时钟恢复、嵌入对齐字符;8b/10b 开销 20%,64b/66b 降到 3% 左右,用于更高速率。
CDR/Eye diagram/Equalization:时钟数据恢复从数据流中提取采样时钟;眼图把无数比特叠加衡量时序电压裕量;发送预加重/接收均衡补偿通道高频损耗。入门阶段建立「高速串行靠裕量而不是理想波形」的概念即可(见进阶 LVDS 源同步)。
十、调试与可靠性术语卡
ILA/VIO/JTAG-to-AXI:片上仪器家族,ILA 抓波形、VIO 在线驱动、JTAG-to-AXI 让电脑直接访问寄存器;都占用片上资源且改变布线(见 ILA)。
Sticky bit(粘滞位):一旦置位保持直到软件清除的错误标志,用来抓住人眼和轮询都来不及的瞬时故障,错误状态设计的标配。
Lint/CDC/RDC check:静态检查三剑客:lint 查编码隐患,CDC 查跨时钟域结构,RDC 查跨复位域;不依赖激励,应进 CI。
SEU/TMR/Scrubbing:单粒子翻转是辐射导致配置位翻转;三模冗余用三份逻辑表决;配置刷新在后台重写比特流纠正翻转(见专家 可靠性 SEU)。
Brown-out/Power-good/Watchdog:欠压、电源好信号、看门狗定时器,构成板级可靠性三件套;FPGA 系统复位应由电源监控芯片把关。
十一、术语学习法与对照速查
术语最快的掌握方式不是背表,而是建立「词—物—报告位置」三向连接:听到 WNS,脑子里出现 slack 公式,并知道在 Timing Summary 第几行;听到 SRL,脑中出现一个 LUT 当 32 级移位寄存器的画面,并知道在资源报告哪个子项核对。读英文数据手册时建议维护自己的对照卡:Xilinx 的 slice 对 Intel 的 ALM、BUFG 对 global routing network、DSP48 对 DSP Block、URAM 对 eSRAM 一类,两套命名背后的硅片结构高度相似。最后把术语按层级归档:物理层(LUT/FF/布线/电源)、结构层(BRAM/DSP/时钟/SerDes)、设计层(FSM/FIFO/流水线/握手)、协议层(AXI/PCIe/Ethernet)、流程层(综合/实现/STA/签核)、验证调试层(TB/断言/lint/ILA)。有了这张层级图,再遇到生词都知道该挂在哪根树枝上,知识就不会变成散落的黑话。术语表的最终用途不是记住全部,而是让你在读文档、问问题、写报告时与全行业使用同一套精确语言——工程协作的效率,很大一部分就建立在这种精确之上。最后给术语表一个特别的用法建议:读英文资料遇到生词时,不要只在脑中翻译成中文就过去,花一分钟把它补进自己的术语卡,写上第一次见到它的文档名和一句话上下文。一年下来你会积累几百张这样的卡片,它们本质上是你读过的数据手册、时序报告、协议规范的索引——当工作中再次遇到同一个词,你记得的不只是定义,还有当时那个具体的电路场景。术语在这种使用中才真正变成能力。最后提醒一个使用术语表的正确姿势:和同事或在论坛讨论问题时,尽量用术语的精确定义描述现象,比如不说「时钟不稳」,而说「这个跨域控制信号没有同步器,我在 ILA 上看到目的域偶尔采到两个周期的脉冲」。精确的语言会把对话直接推进到解决方案,模糊的描述则会引发十轮来回澄清。从这个角度说,背术语不是为了考试,而是为了在你遇到问题时,能用全行业都听得懂的方式发出那声求助——在工程世界里,能把问题问对,问题就解决了一半。最后说明术语表的维护方式:它应当像地图一样随你的知识边界扩张。刚入门时只需掌握架构、流程两组高频词;学完时序和 CDC 后补上时序与跨域组;接触高速接口再加入 SerDes、眼图等概念。不要试图一次背完全表——没有电路经验支撑的术语只是字符串。正确的顺序永远是先在实验或项目里遇到一个现象,再回头查它的名字,术语在被「认领」到具体经验的那一刻才真正属于你。作为入门层收尾,最后再给一个使用本表的仪式感建议:每彻底搞懂一篇,就回到速查表给对应术语打个勾,讲不出来的就是没真懂的信号。打完勾的那一刻,你会清楚知道自己从「听过这些词」走到了「能用这些词工作」——这张勾选表就是入门阶段最诚实的结业证书。最后给一个长期使用建议:把本文加入收藏夹而不是「已读」清单。工作中第一次读数据手册看到 OCM、PPM、CDR 这类词时,回表查一次,再跳到对应详解篇目读一段;每查一次,这个词在你脑中的权重就增加一分。几年后你不再需要这张表,因为它的内容已经通过上百次真实使用长进了你的工作语言里——工具书的价值从来不是被通读,而是在需要时给出精确的一秒钟答案。最后补一个使用本表的团队场景:新人请教问题时,有经验的工程师往往先反问「你说的这个词具体指哪个——是建立时间还是保持时间,是 WNS 还是 TNS,是亚稳态还是同步失败」。这个反问不是刁难,而是在把模糊描述映射到精确定义;一旦问题里的每个词都有共识,解决路径通常立刻清晰。养成「先在术语上对齐,再讨论方案」的习惯,你和任何背景的工程师协作都会顺畅得多——这可能是术语表在日常工作中最实际的价值。最后再给一条跨团队沟通建议:和软件或算法同事沟通时,先用一句话给出物理类比(LUT 像可配置的真值表、FIFO 像带两端独立时钟的队列、时序收敛像所有班车都赶上发车点),再使用精确术语,能大幅降低跨领域的沟通成本。术语的作用不是制造门槛,而是在精确的场合精确、在需要科普的场合可翻译——同时具备这两种表达能力,是技术专家影响力的重要组成部分。最后提醒:术语表里的缩写第一次在正式文档中出现时,建议写全英文全称加缩写(如 Field-Programmable Gate Array, FPGA),这既是写作规范,也强迫自己确认理解的是正确的全称——很多人用了多年 FPGA,却说不出它每个词的准确含义。精确的语言习惯积累起来,就是技术专业性的外在表现。最后给一个学习节奏建议:入门阶段不必强记术语表,每次在文章里遇到加粗术语,花十秒回想它属于六个层级中的哪一层、对应什么物理结构;遇到第二次还想不起来,就回表查详解。这种间隔重复比集中背诵有效得多,也更符合「在使用中掌握」的规律。术语最终不是考试知识点,而是你和行业之间的接口——接口调用的次数越多,它就越稳固。最后给一个检验自己是否真正掌握某组术语的简单方法:合上资料,用自己的话给一个不懂 FPGA 的朋友讲清楚 LUT、FIFO、时序收敛分别是什么、解决什么问题。能讲明白,说明这些词在你脑中已经连接到了物理结构;讲不明白,就说明它们还只是需要背诵的字符串,该回对应的详解篇目再过一遍。教会别人,永远是检验自己是否真懂的最快方式。把术语讲给外行听、把协议讲给新人听、把时序报告讲给管理者听,这三种表达分别锻炼物理类比、精确描述和价值提炼能力——它们共同构成技术专家超越纯执行角色的沟通底座。术语表的使命到此就完整了:它既是查询工具,也是知识地图,更是团队协作的共同语言。善用它、维护它、在使用中扩展它。随着项目经验增长,你还会不断往里面加入自己的词条和注解,最终这张表会成为个人知识体系最精炼的索引。
十二、易混术语辨析:七组最常被用错的词
术语用错不只是面子问题,它会让评审和求助中的信息传递直接失真,这里集中辨析七组高频易混词。第一组,锁存器(latch)与触发器(flip-flop):前者电平敏感、电平有效期间透明,后者边沿敏感,综合出锁存器通常意味着 if 或 case 不完整的设计缺陷,报告里看到 latch 数量应警惕。第二组,延迟(latency)与吞吐(throughput):延迟是一个样本从进来到出去经过多少拍,吞吐是单位时间能处理多少样本,全并行设计延迟低吞吐高,时分复用设计延迟可能不变而吞吐成倍下降,二者没有必然联系。第三组,亚稳态(metastability)与不稳定采样:前者是触发器在建立保持窗口内采样的物理状态,后果是判决时间不可控;多级同步器降低的是亚稳态传播概率,不能消除第一次判决本身,因此快时钟采慢脉冲还要配合展宽。
第四组,抖动(jitter)与偏斜(skew):抖动是同一时钟沿相对理想时刻在时间轴上的短期偏差,偏斜是同一个沿到达不同触发器的时刻差,一个描述随时间的变化,一个描述空间上的差异。第五组,建立时间(setup)与保持时间(hold):前者约束数据要在捕获沿之前稳定多久,违例主要靠降频、加流水解决;后者要求数据在沿之后保持多久,违例与频率无关、要靠延迟调整,修反方向是新手常见错误。第六组,综合(synthesis)与实现(implementation):综合把 RTL 翻译成门和原语的逻辑网表,实现再做布局布线生成物理结果,看到的资源和时序数字分别对应两个阶段,不能混用。第七组,阻塞赋值与非阻塞赋值:Verilog 里时序逻辑用非阻塞、组合逻辑用阻塞,混用会产生仿真与综合不一致的行为差异。把这七组词写到卡片正面、区别写在背面自测,能消掉日常技术沟通里一大半歧义。
一句话总结
术语是读文档和问问题的"门票":架构看 LUT/FF/BRAM/DSP,流程看综合/实现/比特流,时序看 setup/slack/WNS,跨域看 CDC/亚稳态/异步 FIFO——忘了就回这张表,再点进对应详解篇。