BitBangModeを利用したFPGAコンフィグレーションソフト BitCfg3 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BitCfig3は、当社のEDX/EDAシリーズのうち、FTDIチップのBitBangMode(ビットバンモード)を用いて、USB経由でFPGAにコンフィグレーションするためのソフトウエアです。 弊社製品のコンフィグレーションはもちろん、 ソースを公開しておりますので、ご自由に改造や応用をしていただけます。 下記製品に対応しております。 ■ALTERAシリーズ
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FTDIのUSBチップのBitBangModeを利用したFPGAをコンフィグレーションを行うための方法について説明いたします。 ビットストリーム(***.bit/***.rbf) をUSB経由からダウンロードすることによって、FPGAのコンフィグレーションを行います。コンフィグレーションモードは次のようになります。
BitCfg3は、拡張子によりALTER・XILINXを自動的に判断しコンフィグレーションを行います。 詳しくはソースプログラムを公開していますので、そちらをご覧下さい。短いプログラムですので容易に理解していただけるかと思います。 ALTERAとXILINXのコンフィグレーションモード。(BitCfg3はJTAGではなく、FPGAのシリアルコンフィグレーション動作を行います) FTDIチップにおけるピンの割付はのようになります。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ALTERAとXILINXでのシリアルデータのビットの順番が異なるだけで考え方は同じです。XILINXの場合0xAAを1010 1010と送信するのに対し、 ALTERAでは0101
0101と送信します。データの入力が終わっても、動作が開始するまでいくつかのCCLK/DCLKを与える必要があります。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
実行時画面 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BitCfg(V3)では以下の改良を行いました。 ■引数でターゲットハードを指定できるように変更(/D) コマンドライン引数にFTDI_DESCRIPTIONを指定します。 /D="EDA/EDX-002 HuMANDATA LTD.":EDA-002またはEDX-002従ってお客様の作られたコンフィグレーションハードウエアでも、ピン割付が同じであれば、引数の変更で対応可能です。 ■引数でコンフィグレーションクロックレートを設定できるように変更(/C) コマンドライン引数でクロックレートを指定 "/C=1000000" : (デフォルト) クロックレートと、実際の周波数の関係はUSBチップの種類により異なります。この値は、FT_SetBaudRate()に与えるパラメータを設定することになります。■引数でコンフィグレーションデータを指定し起動と同時にコンフィグレーションすることができるように変更(/F) コマンドライン引数でコンフィグレーションファイルのフルパスを指定 "/F=C:\ABC\DEF\conf_data.bit" : xilinxの場合の例/F=によるファイル指定がある場合は、コンフィグレーションを試みてすぐに終了します。 正常時終了コード:0、異常時終了コード:-1などゼロ以外。 引数の/D /F /Cは全て大文字であること。また引数の厳密なチェックは行っていません。 一つでも引数を設定する場合は、必ず/Dオプションが必要です。 一つも引数が無いときは従来のロジックに従って、EDA/EDX-002、EDA-003、EDX-004、EDX-005を見つけて設定します。(同時使用はできません) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EDX-005でクロックレートを変更するときのBATファイル例 (拡張子をtxtからbatに変更してください) @echo off start BitCfg /D="ED-CONFIG HuMANDATA LTD. A" /C=3000000 exit |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ソース一式のダウンロードはこちらをクリックしてください
2010/01/15 xilinx使用時クロックレートを上げられるようになりダウンロードが高速になりました。 2012/04/04 EDA-301とEDX-301に対応しました。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
高速になった理由: 下図(xilinx社データシートより引用)のTplを確保することでクロックレートを上げられるようになりました。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
今回の改良により ■ PCの起動と同時にアプリケーションの動作をはじめることができる ■ ユーザプログラムにコンフィグレーションロジックを組み込まなくても、BitCfg3を外部プログラムとして呼び出してコンフィグレーションを行うことができる ■ ショートカットに引数を追加しておけば、アイコンのクリックでコンフィグレーションが可能 などが可能となりました。 プログラムに自信のある方は、FTDI社のDLLを呼び出して直接操作することも難しく無いと思われます。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
メールでのご質問はこちらへどうぞ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|