(原创)解决FPGA配置成功,但不能初始化运行的BUG(FPGA配置)(初始化)(DONE)

摘要:

    遇到两次FPGA配置完成,却不能正常运行的问题,一次是ALTERA的A1C3,另一次是XILINX的XC3S700A。两次都是DONE信号的问题。问题虽不大,但却很折腾人,今天在这里作下笔记。

介绍:

    1、DONE信号灯拉低DONE电平导致FPGA不能初始化

     先看图:

   

    由于要有FPGA配置完成的指示,因此在DONE上接了一个LED灯。

    从FPGA的配置时序中看到,当FPGA配置成功后输出一个高电平,然后DONE脚再变为输入态,并检测到其为高电平后,就开始初始化运行;从上图可以看出,当DONE变为高阻输入后,DONE上的电压就等于(3.3-0.7)*r67/(r67+r56),而R56是R67的4倍以上,因此DONE上被认为是低电平。

    将R56改成1K就可以了,或者去掉Q2,直接将D12的阴极接到DONE引脚上。

    2、切换开关导致DONE上拉电阻断开

   先看图

   

    由于要设置从SPI FLASH和XCF ROM两种器件配置FPGA,因此设计了一个拔码开关S4,通过S4来进行选择,但当发现设置成SPI FLASH模式配置时,FPGA配置成功了(DONE灯亮),但不运行;后来无意中将拔码开关的第四位(红圈处)拨动了一下,就运行了,而且连测了几块板子都这样;后来仔细看才发现,原来DONE的上拉电阻是接在U5这边,当S4的第四位断开时,是没有上拉的,只有当闭合,DONE才接上上拉,因此设计时应将上拉改到FPGA的DONE引脚端。

结语:

    设计FPGA配置电路的时候,都是参考以前同事和官方的一些设计,没有仔细去研究它的配置时序,直到出现问题才想到去看datasheet,看来了解FPGA的配置时序的对硬件设计的一些参数把握还是很重要的。

posted on 2011-05-11 20:19  liu_xf  阅读(7632)  评论(0编辑  收藏  举报

导航