在配置FPGA器件时的常见问题及其解决方法
2022-11-18
来源:FPGA设计论坛
FPGA器件配置方式分三大类:主动配置、被动配置和JTAG配置。
主动配置:由FPGA器件引导配置操作过程。
被动配置:由计算机或控制器控制配置过程。上电后,控制器件或主控器把存储在外部存储器中的数据送入FPGA器件内,配置完成之后将对器件I/O和寄存器进行初始化。初始化完成后,进入用户模式,开始正常工作。
一旦设计者选定了FPGA系统的配置方式,需要将器件上的MSEL引脚设定为固定值,以指示当前所采用的配置方式。
常用的配置方式有:
PS配置(Passive Serial Configuration):被动串行配置
AS配置(Active Serial Configuration):主动串行配置
PPS配置(Passive Parallel Synchronous Configuration):被动并行同步配置
FPP配置(Fast Passive Parallel Configuration):快速被动并行配置
PPA配置(Passive Parallel Asynchronous Configuration):被动并行异步配置
PSA配置(Passive Serial Asynchronous Configuration):被动串行异步配置
JTAG配置(Joint Test Action Group Configuration)
在配置FPGA器件时的常见问题及其解决方法。
(1)当模式改变后,同时需要修改产生位流文件中的配置时钟的属性为CCLK或JTAGClock,否则无法配置。
(2)DONE状态脚始终为低解决方法:检查该引脚的负载是否太重,选择合适的上拉电阻。
(3)器件上电后有时能够配置成功,有时不成功解决方法:这种情况大部分是因为器件的复位未完成,就开始出现数据流。延长复位时间,即延长PROG_B信号的低电平时间。电源检测正常后,该信号至少还需保持300 ms的低电平。Spartan-3系列器件的内部配置电路如图1所示,该器件需要满足VCCINT至少达到1.0V,Bank4的电源VCCO_4至少达到1.0V,辅助电源VCCAUX至少达到2.0V,才能进入配置状态,可在PROG_B引脚上分别接一个4.7kΩ电阻到电源,如果电源满足条件,10μF电容到地。
(4)无法正常配置或发现加载过程中INIT_B信号被拉低
解决方法:检查配置时钟信号CCLK或JTAG时钟信号TCK是否存在干扰信号或过冲。如果有干扰,判断干扰源并增加滤波措施;如果有过冲,说明该信号线阻抗不匹配(因传输线过长等原因造成),需要增加匹配电阻。根据IBIS模型分析,采用LVCMOS25(10 mA)或LVTTL(12 mA)接口标准,一般情况下,CCLK的引线长度不要超过3~4英寸,可通过增加源端匹配(串联33Ω~100Ω电阻)来改变时钟信号的质量。CCLK的布线很重要,最好不要开叉。如果一定要开叉,参考对应器件的手册查看最大允许的分支长度是多少。
如果器件的旁路电容设计不合理或数据线上有地线及弹(Ground bounce)信号,也会造成配置失败。
(5)无法通过计算机并行口配置
解决方法:检查计算机并行口模式设置是否正确。如果计算机的并行口信号太差,存在干扰,则采用质量好的配置电缆(Cable-IV)排除干扰。
(6)DONE脚已经变高,但器件仍然不工作
解决方法:如果确认设计无误,那么可能是器件的启动顺序设置不正确。参考配置流程,通过设计工具重新设置启动顺序。