FPGA型号:XC7K325T_2FFG900 是一款纯PL,是Kintex-7系列中的一款高性能现场可编程门阵列;
电路设计需要考虑:
a. 电源管理系统设计;
b. 配置电路设计;
c. 时钟系统设计;
d. 高速接口完整性;
e. 散热设计。
1.1. 电源系统设计Kintex-7 FPGA 需多组电源供电,不同电压域对应核心逻辑、I/O、辅助电路等,设计时需满足精度(±2%)和纹波(<50mV 峰峰值)要求。
K7电源推荐值与电源介绍见表:
表1 电源推荐值与电源介绍
电源轨 | 电源详情 | 推荐值 | 功能说明 | 备注 |
FPGA Logic() | ||||
VCCINT | 内部电源电压 | 1.0V | 核心逻辑、CLB、DSP、BRAM | |
VCCBRAM | 块RAM存储器的电源 | 1.0V | 块 RAM 专用供电 | |
VCCAUX | 辅助电源电压 | 1.8V | 辅助电路、配置逻辑、IOBUF | |
VCCAUX_IO | 辅助电源电压 | 1.8V | ||
VCCO | 输出驱动器为HR I/O组提供电源 | 1.2V——3.3V | I/O Bank供电(按外设需求配置) | |
输出驱动器为HP I/O银行提供电源 | 1.2V——1.8V | I/O Bank供电(按外设需求配置) | ||
VREF | 输入参考电压 | |||
GTX Transceiver(高速接口Bank电压,不使用可不进行供电) | ||||
VMGTAVCC | GTX收发器QPLL频段的模拟电源电压 | 1.0V | ||
VMGTAVTT | GTX发射器和接收器终端电路的模拟电源电压 | 1.2V | ||
VMGTVCCAUX | 收发器辅助模拟QPLL电压电源 | 1.8V | ||
VMGTAVTTRCAL | GTX收发器列中电阻校准电路的模拟电源电压 | / | / | |
XADC() | ||||
VCCADC | 相对于GNDADC的XADC供应 | 1.8V | ||
VREFP | 外部提供的参考电压 | / | / | |
注:FPGA的电源上电有上电顺序要求。
设计要点:
1) 每组电源入口处放置10μF电解电容+0.1μF陶瓷电容(靠近FPGA引脚),抑制高频噪声。
2) 大电流电源(如VCCINT)需走宽铜皮(≥20mil),并在PCB底层铺对应电源平面。
3) 电源序列:建议先上电VCCAUX,再VCCINT,最后VCCIO(避免latch-up风险)。
1.2. 配置电路设计1.2.1. 模式配置设计Kintex-7 FPGA 的配置相关设计几乎都在Bank 0 (Bank 14、Bank 15)中设计。

图1 Bank 0 M[2:0]配置的001是SPI模式说明图
M[2:0]是进行配置FPGA的模式的;
XC7K325T 支持SPI、JTAG、BPI等配置模式,常用 SPI Flash 实现上电自启动,典型方案如下:

图2 7系列FPGA配置模式图
a. SPI 配置电路:
选用128Mb~1Gb SPI Flash(如 Micron N25Q 系列),通过SPI接口(SPI_SCK、SPI_CS、SPI_MOSI、SPI_MISO)与FPGA连接。
配置引脚连接:M0=0、M1=0、M2=0(下拉电阻,选择SPI模式),PROG_B接10kΩ上拉电阻(低电平触发重配置)。
增加100nF电容到地(靠近Flash电源引脚),保证配置过程稳定。(实际设计可以借看,原理图PDF)
b. JTAG 调试接口:
预留标准JTAG接口(TCK、TMS、TDI、TDO),通过10kΩ上拉电阻连接到VCCAUX,支持在线调试和程序下载。
建议增加JTAG保护电路(如TVS管),防止静电损坏。
1.2.2. 配置模式引脚Kintex-7 FPGA的配置引脚定义主要在Bank0、14、15中,表介绍引脚定义功能说明:
表2 脚定义功能说明
引脚名 | 位于Bank | 功能介绍 | 备注 |
CFGBVS | 0 | 配置组电压选择 如果Bank 0的VCCO_0电源提供2.5V或3.3V,则CFGBVS引脚必须连接到高(即连接到VCCO_0)。 仅当Bank 0的VCCO_0小于或等于1.8V时,才将CFGBVS连接到Low(即连接到GND)。如果在配置期间使用,Bank14和15应该与应用于库0的VCCO级别相匹配。 | 通过上下拉控制Bank0、14、15电压 |
M[2:0] | 0 | 配置模式M[2:0]确定了配置模式。配置模式设置详见第19页的表2-3。直接或通过≤1kΩ电阻器将每个模式引脚连接到VCCO_0或GND。 | |
TCK | 0 | JTAG链上的所有设备的测试时钟 | JTAG |
TMS | JTAG测试模式选择模式 | ||
TDI | JTAG测试数据输入 | ||
TDO | JTAG测试数据输出 | ||
PROGRAM_B | 0 | 程序(低电平)复位至配置逻辑。当PROGRAM_B信号跳变为低电平时,FPGA配置将被清除并启动新配置流程。配置复位由下降沿触发,配置(即编程)流程则在随后的上升沿开始。为确保高电平输入稳定,建议将PROGRAM_B连接至外部≤4.7kΩ上拉电阻(VCCO_0)并电容接地,同时推荐将按钮连接至复位端(GND)以支持手动配置复位。 | 相当于MCU中的复位(借鉴原理图PDF设计) |
INIT_B | 0 | 初始化(条) 激活-低FPGA初始化引脚或配置错误信号。当FPGA处于配置重置状态、当FPGA初始化(清除)其配置内存时,或当FPGA检测到配置错误时,FPGA驱动此引脚Low。在完成FPGA初始化过程后,INIT_B被释放到高z,此时一个外部电阻预计将拉出INIT_B高。INIT_B可以在外部通电时保持低,以在初始化过程结束时停止通电配置序列。当初始化过程后在INIT_B输入处检测到High时,FPGA将继续执行由M[2:0]引脚设置指定的配置序列的其余部分。将INIT_B连接到≤4.7 kΩ上拉电阻,并连接到VCCO_0,以确保清洁的低到高过渡。 | 借鉴原理图PDF设计) |
DONE | 0 | DONE引脚上的高电平信号表示配置序列完成。默认情况下,DONE输出是开漏输出。 | 借鉴原理图PDF设计)用于点亮LED判断FPGA是否完成配置、是否正常工作 |
CCLK | 0 | 配置时钟 CCLK在除JTAG模式外的所有模式下都运行同步FPGA配置序列。 •对于从属模式:CCLK是一个输入,需要连接到一个外部时钟源。 •对于主模式:FPGA源的配置时钟,并驱动CCLK作为一个输出。 •For JTAG模式: CCLK是高z的,可以保持不连接。 | 借鉴原理图PDF设计) |
PUDC_B | 14 | 激活低电平PUDC_B输入功能可在上电和配置期间启用SelectIO引脚上的内部上拉电阻。 •当PUDC_B处于低电平时,每个SelectIO引脚上的内部上拉电阻会被激活。 •当PUDC_B处于高电平时,每个SelectIO引脚上的内部上拉电阻会被禁用。PUDC_B必须直接或通过≤1kΩ连接到VCCO_14或GND。当PUDC_B接地时,上电期间内部上拉电阻的激活取决于电源序列,因为PUDC_B控制信号会通过第14组输入缓冲器和内部路径传递至各I/O组中对应引脚的上拉电阻使能端。当引脚需要在VCCO电源上升沿时立即被拉高时,建议在引脚与VCCO电源之间添加外部上拉电阻。 | 用于启用FPGA-IO引脚的内部上拉功能 |
EMCCLK | 14 | 外部主配置时钟 可选的外部时钟输入,用于运行主模式下的配置逻辑(相对于内部配置振荡器)。有关更多信息,请参见Vivado工具第32页中的设置配置选项。 •对于主模式:FPGA可以选择切换到EMCCLK作为时钟源,而不是内部振荡器,以驱动内部配置引擎。EMCCLK频率可以通过位流设置(ExtMasterCclk_en)进行分割,并作为主CCLK信号转发输出。 •用于JTAG和从模式模式: EMCCLK在JTAG和从模式中被忽略,并且可以保持不连接
| 借鉴原理图PDF设计)可直接当普通IO用(差分对),担心使用错误就可不用该IO |
CSI_B | 14 | 芯片选择输入 激活-低输入,启用FPGA选择MAP配置接口。 •为主选择MAP模式:直接连接CSI_B,或通过≤1 kΩ电阻,连接到GND。 •对于从选择MAP模式:外部配置控制器可以控制CSI_B在选择MAP总线上的活动FPGA,或在并行配置菊花链中,连接到上游FPGA的CSO_B引脚。 •在所有其他模式下: CSI_B被忽略,可以保持不连接。 | |
CSO_B | 14 | 芯片选择输出 主动-低开漏输出,可驱动低,以启用并行配置菊花链中下游FPGA的从选择MAP配置接口。•ForBPI(异步只读)和选择MAP模式:如果设备处于并行配置菊花链中,并有一个下游设备,则连接到外部330Ω上拉到VCCO_14,并连接到下游设备的CSI_B输入。否则,CSO_B为高z。 •串行模式: CSO_B是一个多用途引脚,作为点引脚。请参见此表中的DOUT行。 •对于所有其他模式: CSO_B是高z的,可以保持不连接。 | |
DOUT | 14 | 数据输出 DOUT是串行配置菊花链的数据输出。DOUT在CCLK的下降边缘。 •用于串行和SPI(仅限x1)模式:如果设备处于串行配置菊花链中,则连接到下游从串行FPGA的DIN。否则,DOUT是高z的。•用于BPI和选择tMAP模式:DOUT是一个多用途的引脚,其功能是作为CSO_B引脚。请参见此表中的CSO_B行。 •对于所有其他模式:DOUT是高z的,可以保持不连接。注意:当启用debb流选项时,DOUT可以输出数据。 | SPI借鉴原理图PDF设计) |
RDWR_B | 14 | 读/写(条) RDWR_B确定选择MAP数据总线的方向。当RDWR_B为高时,FPGA输出读取数据到SelectMAP数据总线。当sRDWR_B值较低时,外部控制器可以通过SelectMAP数据总线将数据写入FPGA。 •为主选择MAP模式:直接连接RDWR_B,或通过≤1 kΩ电阻,连接到GND。 •对于从属设备的选择MAP模式:一个外部设备控制RDWR_B信号来控制选择MAP数据总线的方向,以便从/到选择MAP接口的读/写。 •在所有其他模式下: RDWR_B被忽略,可以保持不连接。 | |
D00_MOSI | 14 | 主输出,从输入 FPGA(主)SPI模式输出,用于向SPI(从)闪存设备发送命令。 •用于SPI模式:连接到SPI闪存数据输入引脚。在将命令和地址发送到SPI闪存设备后,D00_MOSI引脚为高-Z。PUDC_B引脚决定了该信号是否会被拉起。 •用于BPI和选择tMAP模式:MOSI引脚是一个多用途的引脚,其功能是作为D00数据输入引脚。请参见此表中的D[00-31]行。 •对于所有其他模式:MOSI引脚功能不适用,配置时引脚为高z,配置时被忽略,可以保持不连接。 | |
D01_DIN | 14 | 数据输入 DIN是串行数据输入引脚。默认情况下,来自DIN的数据被捕获在CCLK的上升边缘上。 •对于串行和SPI模式: DIN是从数据源接收串行数据的FPGA数据输入。将DIN连接到串行数据源的串行数据输出引脚。 •用于BPI和SelectMAP模式:DIN引脚是一个多用途的引脚,可作为D01数据输入引脚。请参见此表中的D[00-31]行。 •对于JTAG模式: DIN被忽略。 | |
D[00-31] | 14 | 数据总线 | / |
A[00-28] | 14/15 | 地址总线 | / |
FCS_B | 14 | 闪存芯片选择(条) 主动-低芯片选择输出,使SPI或BPI闪存设备的配置。 •为SPI和BPI模式:连接FPGA FCS_B到闪存设备芯片-选择输入,并连接到一个外部的≤4.7 kΩ上拉电阻到VCCO_14。 •对于所有其他模式: FCS_B是高z的,可以保持不连接。 | / |
FOE_B | 14 | 闪存输出-启用(条) 主动-低输出启用控制信号。 •为BPI模式:将FPGA FOE_B连接到闪存输出启用输入,并连接到外部≤4.7 kΩ上拉电阻到VCCO_15 。•对于所有其他模式: FOE_B是高z的,可以保持不连接。 | / |
FWE_B | 15 | 闪光写启用(条) 主动低写启用控制信号。 •为BPI模式:将FPGA FWE_B连接到闪存写启用输入,并连接到外部≤4.7 kΩ上拉电阻到VCCO_15。 •对于所有其他模式: FWE_B是高-z的,并且可以保持不连接。
| / |
ADV_B | 15 | 地址有效(条) 激活-低地址有效输出信号。 •的支持地址有效输入的BPI模式:连接FPGA ADV_B到并行NOR闪存地址有效输入引脚,并连接到外部≤4.7 kΩ上拉电阻到VCCO_15。对于不支持地址有效输入的带有flash的BPI模式:不要连接ADV_B引脚。 •对于所有其他模式: ADV_B是高-z的,并且可以保持不连接。 | / |
RS0, RS1 | 15 | / |
其他Bank是区分HR、HP供电不一样,根据使用的外设进行设计,电平没有合适的可通过电平转换芯片、或者专用的BUFF芯片。
高速Bank—GTX:借鉴原理图PDF。
1.3. 时钟系统设计
FPGA性能依赖稳定时钟源,需兼顾高精度和低抖动,典型设计包括:
主时钟源:
低频时钟(如100MHz):选用恒温晶体振荡器(TCXO,如SiTime SIT8008),通过单端输入(CLKIN_0)连接,串联33Ω匹配电阻。
高频/差分时钟:若需GTX收发器(12.5Gbps),采用差分晶振(如250MHz LVDS),通过CLKIN_1_P/N输入,差分线长匹配(误差<5mil)。
时钟分配:
内部通过 MMCM/PLL 生成多相时钟(如分频至 200MHz、150MHz),驱动不同逻辑模块。
外部时钟走线远离电源噪声源(如 DC-DC 转换器),必要时走屏蔽线或底层时钟平面。
1.4. I/O接口设计FFG900封装含480个用户I/O,分16个银行(Bank0~15),需按外设需求规划:
1) 通用I/O:
连接GPIO、UART、SPI等低速接口时,Bank电压(VCCIO)与外设匹配(如3.3V接MCU,1.8V接传感器)。
每个I/O引脚串联22Ω限流电阻(可选),并就近放置0.1μF滤波电容。
2) 高速接口:
DDR3内存:Kintex-7支持DDR3-1600,需严格控制信号完整性:
(DDR的设计需要放置在相邻的Bank上面,具体参照原理图PDF)
地址/控制信号等长(误差<10mil),走蛇形线补偿。
数据差分对(DQ/DQS)阻抗控制为50Ω,差分对内长度差<5mil。
电源端增加2.5V/1.5V电源平面,放置100nF/1μF去耦电容阵列。
GTX收发器:16路高速串行接口(12.5Gbps),用于光纤、PCIe等:
差分对(TX_P/N、RX_P/N)走表层,阻抗90Ω,避免过孔和直角转弯。
收发器电源(VCCGTX、VCCPLL_GTX)单独供电,使用低噪声LDO(如ADP150)。
3) PCIe接口:
支持 PCIe Gen2 x4,需按 PCIe规范设计:
差分对阻抗85Ω,长度匹配(误差<5mil),远离噪声源。
增加 PCIe 时钟(100MHz 参考时钟),通过专用引脚REFCLK_P/N输入。
1.5. 散热与PCB布局1.5.1. 散热设计FFG900封装(17mm×17mm)满负荷功耗约8W,需:
PCB背面对应位置设计散热焊盘(≥10mm×10mm),通过过孔(≥20个0.3mm 孔)与FPGA接地焊盘连接。
搭配1.5mm 厚铝制散热片(表面积≥50cm²),用导热硅脂(导热系数≥3W/m・K)贴合。
1.5.2. PCB布局规则分层设计(建议12层):电源层(VCCINT、VCCAUX)、接地层(GND)、信号层交替排列,减少串扰。
分区布局:高速接口(GTX、DDR3)、电源模块、低速I/O分开区域,避免交叉干扰。
接地策略:采用“地平面+多点接地”,高速信号回流路径最短,模拟地与数字地通过0Ω电阻单点连接。
布线:高速差分对禁止跨分割,时钟线优先走内层,长度控制在信号传输速率对应的最大距离内(如12.5Gbps信号<10cm)。
我要赚赏金
