你应该仔细看看INIT_B。
如果它真的永远不会
高,然后我不会怀疑CCLK,因为这表明了
FPGA不会退出正常的上电复位状态。
但是如果
INIT_B短暂地再次变高,然后再次变低,你可能会遇到问题
CCLK。
这表示配置负载中存在CRC错误。
CCLK上的长行可能会导致振铃,而Spartan3系列则会出现振铃
当它用作输入时,该引脚易于振铃。
在你的情况下(主串行模式)CCLK是一个输出,所以信号
应在闪存芯片(XFFxxS或XCFxxP)上检查质量。
通常这些部件不易受到多次计时的影响
比Spartan3响。
如果配置失败时INIT_B线确实保持低电平,我会的
建议看看你的电源开启特性。
一个
可能的问题可能是非单调电压上升(电压变高
当斯巴达开始出现负荷时,然后下降。
如果
如果配置正确,您的系统运行良好,您可能会
能够通过添加外部来解决启动问题
上电复位电路将PROG_B驱动为低电平,直到电源为止
稳定。
HTH,
的Gabor
- Gabor
以上来自于谷歌翻译
以下为原文
You should look carefully at INIT_B. If it really never goeshigh, then I would not suspect CCLK, because this indicates that theFPGA doesn't exit its normal power-on reset state. However ifINIT_B goes high briefly and then low again, you may have issues withCCLK. This would indicate a CRC error in the configuration load.
Long lines on CCLK can result in ringing, and the Spartan3 series aresusceptible to ringing on this pin when it is used as an input. In your case (master serial mode) CCLK is an output, so the signalquality should be checked at the Flash chip (XFFxxS or XCFxxP). Normally these parts are less susceptible to multiple clocking due toringing than the Spartan3.
If the INIT_B line really stays low when configuration fails, I wouldsuggest looking at your power-supply turn-on characteristics. Apossible problem might be non-monotonic voltage rise (the voltage goesup and then dips when the Spartan starts to present a load). Ifyour system runs well when it does configure correctly, you might beable to work around the start-up issue by adding an externalpower-on-reset circuit to drive PROG_B low until the supplies arestable.
HTH,
Gabor
-- Gabor