XILINX偶然加载不成功的问题原因及解决方法

  发布时间:2023-10-25  |    作者:yi jin yun  |  浏览量:162

本文为明德扬原创文章,转载请注明出处!



   一、项目背景

明德扬(MDY)在2021年承担了多个基于XILINX芯片的研发项目,包括VPX网络透明传输项目(芯片为XC7K325T-2FBG900)、某高端测试仪项目(芯片为XCKU060-FFVA1156)、某网闸设备项目(芯片为XC7Z030-FBG676)等,另外,明德扬自研了基于XC7K325T-2FBG900和基于XC7K410T-2FBG900芯片的核心板,在XILINX研发领域拥有丰富的经验。即使拥有丰富经验和积累,每个新项目我们均要投入相当大的精力去研发。例如本文章分享的案例,在一个研发设备的压力测试中,每隔3分钟对设备进行断电复位重启,部分设备会出现低于1%概率的FPGA加载不成功,重启300多次,会存丰1~3次的加载失败。为定位此问题,花费了一个多月,先后投入多位专家,最终确定问题的根源是“上电的时序问题”,特为此给大家分享。




二、XILINX的上电启动流程

FPGA上电启动包含三大流程,分别是Setup,Bitstream Loading和Startup Sequence。本次故障的现象是FLASH有概率无法加载,因此定位出现问题的流程是Setup。

在第一阶段的流程中,FPGA首先要上电,其中VCCINT、VCCBRAM、VCCAUX、VCCIO要以由低到高的顺序依次上电。当芯片上电后,电压达到VCCO后在10~50ms内,init_b会拉高,初始化完成,FPGA开始加载配置工作。但是FPGA上电第一次加载时,与PROGRAM_B信号没有关系,只需要达到init_b的延迟时间,当init_b拉高,FPGA就会加载配置。



三、问题原因:

FPGA上电时序图如图1所示,时序要求如表1所示。上电后init_b会延迟10~50ms后拉高,然后CCLK开始输出,加载外部FLASH。通过示波器实测Tpor大约是20ms左右。而且经过反复测量发现,Tpor的延时是相对于VCCINT电压启动后的。

image.png




                                                                                                                      图1:FPGA上电启动时序


                                                                                                                      表1:FPGA上电时序要求

image.png



  因此,如果FPGA的链路启动时间过长,整个链路启动时间超过50ms的时候,init_b信号的上升沿就会正好卡在3.3V电压启动的过程中,如图2所示。此时FPGA认为已经可以进行加载流程,因此发送CCLK给外部FLASH。但是当前3.3V电压仅爬升到1.9V,还不足以启动FLASH芯片,因此FLASH芯片不会响应,FPGA在得不到FLASH回应后,init_b信号再次拉低,表示FLASH加载过程出现异常。导致连上仿真器发现FLASH没有加载成功。

image.png



                                                                                                           图2:故障情况下的上电时序(黄线:3.3V 蓝线:init_b)

四、解决方案

1、减少电源链路启动的时间,将时间控制在50ms以内,同时寻找导通时间更短的MOS管,让3.3V电压爬升的时间缩短至1ms左右。

2、由于故障的根本原因在于FPGA开始加载FLASH时,3.3V点没有达到FLASH的工作电压,因此可以尝试更换一片宽压FLASH芯片,看看问题能否解决。

3、前面两种方案是基于不改版的情况下。如果后期可以改版,还是建议使用PCIE上来的12V电源,来提供整板的供电。所有电压都通过电源芯片进行转换。然后将3.3V电源芯片的PGOOD引脚连接至init_b上。这种方式是人为延迟了init_b跳变的时间,也就是说可以确保3.3V电压稳定之后,再去加载FLASH,这样就可以确保不会出现该故障。而且即使3.3V爬升速率很满,也可以在3.3V电源达到足够大的值之后再加载FLASH。图3就是在类似的板子上做了这样的试验,即使3.3V的上升时间达到了20ms,在  init_b跳变的时刻,3.3V电源也已经达到了3.0V的输出,完全可以保证FLASH芯片正常工作。

image.png



                                                                                                              图3:故障修复后的上电时序(黄线:3.3V 蓝线:init_b)





温馨提示:明德扬2023推出了全新课程——逻辑设计基本功修炼课,降低学习FPGA门槛的同时,增加了学习的趣味性,并组织了考试赢积分活动

http://www.mdy-edu.com/ffkc/415.html

(点击→了解课程详情☝)感兴趣请联系易老师:13112063618(微信同步)

明德扬除了培训学习还有项目承接业务,擅长的项目主要包括的方向有以下几个方面:

1. MIPI视频拼接
     2. SLVS-EC转MIPI接口(IMX472 IMX492)
     3. PCIE采集系统
     4. 图像项目
     5. 高速多通道ADDA系统
     6. 基于FPGA板卡研发
     7. 多通道高灵敏电荷放大器
     8. 射频前端

需要了解相关信息可以联系:易老师13112063618(微信同号)


本文TAG:

Copyright © 2012-2023 版权所有:深圳明德扬科技教育有限公司