SPI-Flashへのバックグランド・プログラミングが2回目以降できなくなりました。どのような原因が考えられるでしょうか?
ECP Series
コンフィグレーション/プログラミング
カテゴリー:コンフィグレーション/プログラミング
ツール:Diamond
デバイス:ECP3, ECP5
初回は書き込めていたにもかかわらず、二回目以降で書き込みが出くなくなった場合は、SPI-Flashと接続しているSPIポートがイネーブルされていないためにアクセスできないことが考えられます。
Diamondの"SpreadSheet View"の"Global Preference"タブにある"MASTER_SPI_PORT"設定は、デフォルトで"DISABLE"です。"ENABLE"に変更せずに生成したコンフィグレーションデータ(.bit)をSPI-Flashにプログラムした後、一旦このデータでコンフィグレーションされると、FPGAのSPIポートは"MASTER_SPI_PORT"として機能しなくなりますので、それ以降はSPI-Flashへの書き込みができなくなります。
問題が生じた場合の回復方法には二つあります。
[1] デバイスを消去(Erase)します。ブランク状態のECP5では"MASTER_SPI_PORT"は"ENABLE"です
[2] "MASTER_SPI_PORT"を"ENABLE"に変更した設定のコンフィグレーションデータを生成した後、Programmerで"Fast Program"モードを選択して、FPGAを直接コンフィグレーションします。これによってSPIポートがイネーブルの状態になりますので、SPI-Flashへのプログラミングが可能です