Spartan3E フラッシュメモリへの書き込み
Spartan3Eは、コンフィギュレーション用に、汎用のフラッシュメモリを使うことができます。
そこで、Spartan3E Sample PackにMITOUJTAGのフラッシュROMライタ機能をつかって実験してみたところ、bitファイルをそのまま書き込むのではだめで、ビットリバースしないとうまくいかないようでした。

XILINXのツールが出力するビットストリームは、デフォルトではFFFFFFFFAA99556630…という並びになっていますが、これをSpartan3E Sample PackのフラッシュROMに書き込むには、ビットリバースしてFFFFFFFF5599AA660C…という形に変換しなければいけないようです。
ビットリバース処理は要りますが、BitをHexやMCSに直すという手順は必要ありません。Bitをそのままフラッシュメモリに書けばよいようです。ビットリバースだけちゃんと処理しておけば、フラッシュメモリの適当なところに書き込んでおくだけで、FPGAはそのデータで起動します。
気になる書き込み時間ですが、MITOUJTAGとMobile JTAG Cableを使って、73kBytesのコンフィギュレーションビットを書き込んでみたところ、およそ90秒でできました。
なお、Spartan3E Sample Pack推奨の方法では、どうやらMicroBlazeを使った書き換え専用回路を一度FPGAの中に入れて、その中のMicroBlazeとパソコンで通信し、MicroBlazeがフラッシュメモリにアクセスして書き込むという方法のようです。とても面倒そうなので試していませんが。
それに比べてMITOUJTAGのフラッシュROMライタはバウンダリスキャンで書き込んでいるので、FPGAの中に書き込み専用の回路を書く必要がないので、簡単に書き込みができました。
| 固定リンク
コメント