- FPGA 电路设计实例
概要:本文介绍了 FPGA 电路设计中的关键技术,包括 I/O 电压标准、数字可控阻抗(DCI)、高速串行收发模块(GTX/GTH)、配置引脚与加载流程、电压选择、上电复位电路及各模块时钟注意事项,适合有一定基础的 FPGA 开发者阅读参考。
1. I/O 电压标准与接口兼容性
- 每个 bank 提供 VRN 和 VRP 参考电压,根据不同的参考电压提供不同的 I/O 标准。
- 可与外部具有不同电压和阈值的信号直接连接。
- 在速度与噪声性能方面达到优化平衡。
- 无需在单板上放置接口转换器件。
2. 数字可控阻抗 (DCI)
- DCI 即通过特定的参考电压,在芯片内部提供 IO 管脚的特定匹配电阻。
2.1 DCI 的作用
- 输出驱动器可以与板上走线的阻抗相匹配。
- 为接收器和发送器提供端接电阻。
2.2 DCI 的优势
- 通过消除短线反射来提高信号的完整性。
- 通过减少外部电阻的使用,降低布板的复杂度和减少元器件数量。
- 内部反馈电路可消除温度、电压和工艺变化带来的影响。
3. 吉比特收发器:GTX 与 GTH
- GTX 和 GTH 是嵌入 FPGA 芯片内部的硬核 IP。
- 主要功能是实现并串转换和串并转换。
3.1 工作原理
- FPGA 内部处理的是并行数据(如 16bit、32bit 宽)。
- 为了在物理线缆上传输(如光纤、背板、同轴线)实现高速通信,需转换为高速串行数据流。
- GTX/GTH 专门用于完成该任务。
3.2 优势
- 普通可编程逻辑(PL)资源难以实现如此高的速率。
- 即使能实现,也会消耗大量逻辑资源且性能较差。
4. 配置引脚与配置模式
- 许多配置引脚集中在 bank0。
- 主要用于配置 FPGA 的主从模式、串并行模式、调试发布模式。
4.1 配置模式对比
| 配置模式 | 接口类型 | 主导者 | 特点 |
|---|---|---|---|
| Master SPI | 串行(1/2/4 bit) | FPGA | 最常用。占用引脚少(3-6 个),电路简单,成本低,但配置速度较慢。 |
| Master BPI | 并行(8/16 bit) | FPGA | 速度快。但占用引脚多(~30 个以上),布线复杂。 |
| JTAG | 串行 | 外部调试器(如下载器) | 调试专用。优先级最高,主要用于开发调试,不用于量产后的上电自启动。 |
| Slave SelectMAP | 并行(8/16/32 bit) | 外部主设备(如处理器或另一片 FPGA) | 多用于多 FPGA 协同系统或由处理器配置 FPGA。 |
4.2 引脚上拉/下拉配置示意

- 示例为配置为 Master BPI 模式。
5. FPGA 配置加载流程
- 加电开始,PROGRAM_B 在下降沿启动配置复位。
- PROGRAM_B 拉低后,INIT_B 被驱动至低电平。
- INIT_B 在 FPGA 内部初始化完成后释放。
- INIT_B 上升沿时,FPGA 对 M[2:0] 进行采样以确定配置模式。
- 主 BPI 配置模式确定后:
- FPGA 驱动 CCLK。
- 通过 A[n:0] 引脚驱动初始地址。
- 在 CCLK 上升沿读取 8 或 16 位数据。
- 在加载完最后 8 或 16 位比特流后,开始启动序列。
- 若检测到 CRC 错误,INIT_B 将被拉低。
- 成功加载后,DONE 管脚释放并通过电阻拉高。
- 配置结束后,主 CCLK 被禁用并进入高阻抗状态(默认)。
6. CFGBVS 与 bank 电压选择
- 用于选择各 bank 的电压标准,决定其支持的 I/O 电压范围。
7. 上电复位电路设计
7.1 单片机普通复位问题

- 若复位电路有“回勾”,可能导致 CPU 误判复位已释放,而电源尚未稳定,造成异常。
7.2 FPGA 上电复位设计

- 按键复位信号会被展宽处理。
- 同时结合 FPGA_CFG_DONE 信号,通过与门决定是否释放复位。
- 只要有一路为低电平,则保持复位状态。
8. 时钟注意事项
- 各个模块需使用各自独立的时钟源,例如 DDR3、Fibre 通信模块等。
- 时钟规划应根据系统设计合理分配,避免时钟域冲突或跨时钟域处理问题。
留下评论