XILINX FPGA 7K325T 烧录MCS文件后无法自启动的问题

XILINX FPGA 7K325T 烧录MCS文件后无法自启动的问题
现象描述:使用IMPACT烧写FPGA外挂的BPI的flash后,发现烧完之后DONE信号一直没有拉高,烧写失败,重新上电之后,电流会冲上加载比特流是的电流,但是又下去了,说明程序没能加载成功,测试FPGA的INIT_B脚的电压,发现与DONE信号一样,处于低电平,使用IMPACT工具读取FPGA的状态寄存器,如下图所示:
XILINX FPGA 7K325T 烧录MCS文件后无法自启动的问题_第1张图片
发现状态寄存器的第6项目,显示WRAP_ERROR_0 - BPI FLASH ADDRESS COUNTER WRAP AROUND ERROR : 1。

解决过程及方法:
根据FPGA 的状态,INIT_B 信号拉低,以及电流上冲,怀疑是,加载了BPI的程序,只是无法正常启动后,FPGA重新加载失败,可能是加载的数据CRC校验没有通过,测试,比特流设置中关掉CRC校验的选项,生成MCS文件烧写程序,发现程序可以自己加载,只不过比正常的比特流文件在启动时电流会上冲一下,关掉CRC校验的加载是肯定不行的,无法保证后续设计的正确性。
现在问题定位在加载过程中CRC的校验没有通过,怀疑软件生成的比特流文件中CRC计算错误,无法与FPGA自己计算的CRC相对应。
所以,关机重启电脑,重新启动软件,重新综合并生成带有CRC校验的比特流文件,烧写FPGA后正常启动。可能就是软件自己计算的错误。

关于无法正常启动的几点说明:

  1. 首先核对硬件设计电路的原理图,确保电路设计没有问题,7系列的设计参考UG470。
  2. 控制FPGA启动的相应的管脚配置是否正确,上下拉电阻等。
  3. 确保正确的上电配置时序,如果INIT_B信号在加载后一直处于低电平,原因很大可能是加载配置数据的CRC校验没有通过。
  4. FPGA的上电配置分为8个步骤:
    1、器件上电,VCCINT的电压要先上。
    2、清空配置寄存器空间,清空芯片配置内容。
    3、配置模式采集,M[2:0].
    4、配置同步。
    5、检测器件ID.
    6、载入配置文件。
    7、配置文件的CRC校验。
    8、启动,FPGA进入启动序列,启动由8相顺序状态机控制。

你可能感兴趣的:(fpga/cpld)