对于 Xilinx FPGA 从外部 SPI Flash 启动(通常指 MultiBoot 或简单的配置加载),时钟频率的选择需要综合考虑芯片规格、Flash 型号和 PCB 设计。
一、官方推荐值
1. 配置时钟源 (CCLK) 默认值
- Artix-7 的内部配置逻辑在配置期间有一个最大频率限制:
- -2 速度等级的器件,最大配置时钟频率为 66 MHz。
- 这是配置逻辑本身能处理的理论上限。
2. 实际常用/安全值
- 在大多数设计(尤其是成熟开发板)中,通常采用 50 MHz 或 33 MHz 作为配置时钟。
- 33 MHz:非常保守和安全的选择,兼容性最好,PCB 布局要求宽松。
- 50 MHz:平衡了速度和稳定性的常见选择,对布局有一定要求。
二、关键考虑因素
1. Flash 芯片本身的速度限制
配置时钟最终驱动 SPI Flash。必须查看您所用 Flash 的 datasheet。常见型号如:
- Micron N25Q 系列:支持 108 MHz 读取(Fast Read),但配置时通常工作在更低频率。
- Spansion/ Cypress S25FL 系列:支持高达 133 MHz。
- Winbond W25Q 系列:支持 104 MHz(如 W25Q128JV)。
建议:即使 Flash 支持高频,配置启动阶段也不宜直接使用其最高频率。
2. PCB 布局与信号完整性
从 FPGA 到 Flash 的 SPI 走线(特别是 CCLK,MOSI,MISO,CS#)质量直接影响最高可用频率:
- 布线短而直,阻抗控制好 → 可尝试更高频率(如 50 MHz)。
- 走线长、有过孔、靠近干扰源 → 建议使用较低频率(如 33 MHz 或更低)。
三、如何设置与计算
1. 启动模式引脚设置
XC7A100T 的配置模式由 M[2:0] 引脚决定:
- SPI 模式(如
M[2:0] = 001):CCLK 由 FPGA 产生并输出到 Flash。 - BPI 或 SelectMAP 模式:时钟可能来自外部。
2. 时钟分频设置(在 Bitstream 中生成)
配置时钟频率在 Vivado 生成 Bitstream 时设定,而不是在代码中。 路径:Vivado -> Implemented Design -> Bitstream Settings -> Configuration
- :关键参数!单位是 。


