这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 有奖活动 » FPGA配置

共1条 1/1 1 跳转至

FPGA配置

菜鸟
2025-10-24 14:21:16     打赏
1. FPGA设计思路

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 14Bank 15)中设计。

image.png

图1 Bank 0 M[2:0]配置的001SPI模式说明图

M[2:0]是进行配置FPGA的模式的;

XC7K325T 支持SPIJTAGBPI等配置模式,常用 SPI Flash 实现上电自启动,典型方案如下:

 

image.png

图2 7系列FPGA配置模式


a. SPI 配置电路:

选用128Mb~1Gb SPI Flash(如 Micron N25Q 系列),通过SPI接口(SPI_SCKSPI_CSSPI_MOSISPI_MISO)与FPGA连接。

配置引脚连接:M0=0M1=0M2=0(下拉电阻,选择SPI模式),PROG_B10kΩ上拉电阻(低电平触发重配置)。

增加100nF电容到地(靠近Flash电源引脚),保证配置过程稳定。实际设计可以借看,原理图PDF

b. JTAG 调试接口:

预留标准JTAG接口(TCKTMSTDITDO),通过10kΩ上拉电阻连接到VCCAUX,支持在线调试和程序下载。

建议增加JTAG保护电路(如TVS管),防止静电损坏。

1.2.2. 配置模式引脚

Kintex-7 FPGA配置引脚定义主要在Bank01415中,表介绍引脚定义功能说明:

表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是区分HRHP供电不一样,根据使用的外设进行设计,电平没有合适的可通过电平转换芯片、或者专用的BUFF芯片。

高速BankGTX:借鉴原理图PDF

 

1.3. 时钟系统设计

FPGA性能依赖稳定时钟源,需兼顾高精度和低抖动,典型设计包括:

主时钟源:

低频时钟(如100MHz):选用恒温晶体振荡器(TCXO,如SiTime SIT8008),通过单端输入(CLKIN_0)连接,串联3匹配电阻。

高频/差分时钟:若需GTX收发器(12.5Gbps),采用差分晶振(如250MHz LVDS),通过CLKIN_1_P/N输入,差分线长匹配(误差<5mil)。

时钟分配:

内部通过 MMCM/PLL 生成多相时钟(如分频至 200MHz150MHz),驱动不同逻辑模块。

外部时钟走线远离电源噪声源(如 DC-DC 转换器),必要时走屏蔽线或底层时钟平面。

1.4. I/O接口设计

FFG900封装含480个用户I/O,分16个银行(Bank0~15),需按外设需求规划:

1) 通用I/O

连接GPIOUARTSPI等低速接口时,Bank电压(VCCIO)与外设匹配(如3.3VMCU1.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/NRX_P/N)走表层,阻抗90Ω,避免过孔和直角转弯。

收发器电源(VCCGTXVCCPLL_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),通过过孔(≥200.3mm 孔)与FPGA接地焊盘连接。

搭配1.5mm 厚铝制散热片(表面积≥50cm²),用导热硅脂(导热系数≥3W/mK)贴合。

1.5.2. PCB布局规则

分层设计(建议12层):电源层(VCCINTVCCAUX)、接地层(GND)、信号层交替排列,减少串扰。

分区布局:高速接口(GTXDDR3)、电源模块、低速I/O分开区域,避免交叉干扰。

接地策略:采用地平面+多点接地,高速信号回流路径最短,模拟地与数字地通过电阻单点连接。

布线:高速差分对禁止跨分割,时钟线优先走内层,长度控制在信号传输速率对应的最大距离内(如12.5Gbps信号<10cm)。

 

 

 

 

 

 





关键词: 配置     FPGA    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]