FPGAコンフィグレーションソフト (SPI-ROM対応)
 BBC [EDX-006]
2010/06/10-

 BBC [EDX-006]によりUSB経由でのFPGAコンフィギュレーション、SPI-ROMのアクセスが可能です。
 各種ダウンロードケーブルいらずで開発を行うことができます。

BBC [EDX-006]はEDX-006専用アプリケーションとなっております。
全てのEDA/EDXシリーズに対応したBBC (BASIC)もご利用頂けます。(FPGAコンフィギュレーションのみ対応)

また、開発プロジェクトやソースコードを公開しておりますので、ご自由に改造や応用をして頂けます。
開発にはBorland C++ Builder 2007を使用しています。

BBC[EDX-006]は下記OSでの動作を確認しています。
・Windows XP
・Windows 7
・Windows 10


◆FPGAコンフィギュレーション

FT2232HのチャンネルB用いてFPGAコンフィギュレーションします。


<画面は開発中のものです>


●[...]
コンフィギュレーション用のファイル (*.bit) を開きます。


●Configuration
FPGAをコンフィギュレーションします。
設定スイッチの初期状態は Switch position にありますように
 SW1 : ALL OFF
 SW3 : ALL OFF
に設定し、実行してください。



●FPGA Reset
FPGAにリセットをかけます。
(PROGRAM_Bピンをトグルしています)



◆SPI-ROM(コンフィギュレーションROM)アクセス

SPI-ROMのアクセスには、FT2232HのチャンネルAを使用します。
チャンネルAとSPI-ROM間の信号経路を確保するため、専用bitファイル(mpsse_path.bit)でFPGAをコンフィギュレーションします。

※コンフィギュレーションデータをSPI-ROMに書き込む前に、充分なテストを実施してください。



<画面は開発中のものです>


●[...]
SPI-ROM用のデータファイル (*.bit) を開きます。(mcsファイルではありません)


●ROM Access
Process flowで設定した内容で、SPI-ROMにアクセスします。
EraseにはSPI-ROM全体領域を削除するBulk Eraseと、書き込み必要領域のみを削除するSector Eraseを選択できます。
Eraseのみを実行するにはROM File Uploadのチェックを外します。また、Verifyのチェックを外すとスキップできます。


始めにFPGAを専用ファイルでコンフィギュレーションします。
FT2232HのチャンネルAと、SPI-ROMを通信させるために必要となります。(信号を通過させています)
SW1とSW3の設定は下図のようにして、ROM Accessを実行してください。




FPGAのコンフィギュレーション完了後、下図のダイアログが表示されます。
SW3、2番のスイッチをONにして、OKをクリックしてください。

     

あとはProcess Flowに設定されている内容で処理が進みます。


◆SPI-ROMからFPGAをコンフィギュレーションするには

設定スイッチを下図のように設定し、電源を再投入します。
(SW1_8をON→OFFすることでも可能です)





◆オプション設定




●Save Current Setting
アプリケーション終了時に下記項目が自動的に保存され、次回起動時に復帰されます。

・FPGAコンフィギュレーションファイルへのパス
・SPI-ROM書き込みファイルへのパス
・SPI-ROMアクセス ProcessFlowの内容

各ファイルへのパスは、次回起動時に存在確認が行われます。


(例:SPI-ROM書き込みファイルが存在しなかった場合)


◆設定を保存しない、保存済み設定を消去する

チェックを外して終了すると、下記ダイアログが表示されます。
「はい」を選択して終了してください。
また、同フォルダ内のiniファイルを削除することでも可能です。




●Use EDX-006 default port description
FT2232Hのディスクリプションを書き換えている場合に使用します。
EDX-006デフォルト以外のディスクリプションを設定している場合は、このチェックを外して、ドロップダウンリストから選択してください。

※まれに全く関係のないと思われていた機器のディスクリプションがリストアップされる場合がありますので、ご注意ください
(FTDIのICであれば認識されることになります)



(例:JP3を外した起動により、FT2232Hデフォルトのディスクリプションが設定されている場合)


◆mpsse_path.bit

mpsse_path.bitをコンフィギュレーションすることにより、FPGAを通してFT2232 Ch.AのポートとSPIコンフィグROMを繋げています。

Virtex-5では、SPI-ROM用ピンは専用ピンとなっているため通常操作できませんが、
ユーザアクセスのために「STARTUP_VIRTEX5」というプリミティブが用意されています。


(Xilinx UG621 Virtex-5ライブラリガイドより)


このプリミティブを中継するだけどいう、簡単なbitファイルとなっております。

 このファイルでは、すべてのユーザI/Oを"ハイインピーダンス"に設定しています。

下記アプリケーションノートも参考になるかと思います。

[PDF] Xilinx XAPP1020 Post-Configuration Access to SPI Flash Memory with ...


 BBC [EDX-006] のダウンロードはこちらをクリックしてください。(バージョン:Ver.3.4)
 プロジェクト(ソース)はご希望の方に無償提供いたします。ソースリクエストページからご請求ください。

FPGAコンフィギュレーション機能のみのBBC (BASIC)も公開しております。
以前より公開しているBitCfg3もございます。(VC++6.0で開発)


不具合や要望などがございましたら、ぜひご連絡ください。
メールでのご質問はこちらへどうぞ
[BBCのINDEXへ]