BitBangModeを利用したFPGAコンフィグレーションソフト
 BBC (BASIC)
2010/01/27-
BBC(BASIC) Ver.1.0

 BBCは当社のEDA/EDX シリーズに対応したFPGAコンフィギュレーションツールです。
USB経由で自由にコンフィギュレーションできるため、各種ダウンロードケーブルいらずで開発が行えます。
各製品を自動で見分けるため、特別な設定をすることなくご利用いただけます。

下記製品に対応しております。
番号 Model 概要
7 EDX-006 XILINX社FPGA Virtex-5 搭載 USB-FPGAボード
6 EDA-004 ALTERA社FPGA CycloneIII 搭載 USB-FPGAボード
5 EDX-005 XILINX社FPGA Spartan3AN搭載 USB-FPGAボード
4 EDX-004 XILINX社FPGA XC2S15 教育用ボード
3 EDA-003 ALTERA社FPGA CycloneII 搭載 USB-FPGAボード
2 EDX-002 XILINX社FPGA XC2S15 教育用ボード
1 EDA-002 ALTERA社FPGA EP1K10TC100 教育用ボード


以前より公開しているBitCfg3もございます。(VC++6.0で開発)
BBCはBitCfg3を使いやすいユーザインタフェースでラップしたものです。コマンドラインでお使いになる場合はBitCfg3をご使用ください。
ツールのプロジェクト、ソースを公開しておりますので、ご自由に改造や応用をして頂けます。

BBCはBorland C++ Builder 2007で開発しています。
下記OSでの動作を確認しています
・Windows XP
・Windows 7
・Windows 10

◆コンフィギュレーションモードとファイル形式

 BBCはFTDI USBチップのBitBangモードを利用し、FPGAをシリアルデータでコンフィギュレーションします。
よって、FPGAのコンフィギュレーションモードをスレーブ状態に設定しておく必要があります。設定方法は各製品のユーザーズマニュアルをご参照ください。
各FPGAベンダーのモードと、利用可能なコンフィギュレーションのデータ形式を以下に示します。

FPGAベンダー ALTERA (EDAシリーズ) XILINX (EDXシリーズ)
Configモード Passive Serial Slave Serial
データファイル形式 rbfファイル bitファイル、binファイル

◆ピン割付け

FTDIチップにおけるピンの割付は以下のようになります。詳細は各製品の回路図をご確認ください。

FT245B/R FT232B/R FT2232H/FT2232D 方向 XILINX ALTERA
Data0 TXD Data0(A/B) OUT CCLK DCLK
Data1 RXD Data1(A/B) OUT PROG nCONFIG
Data2 RTS Data2(A/B) OUT DIN DATA0
Data3 CTS Data3(A/B) IN DONE CONF_DONE
Data4 DTR Data4(A/B) -- --
Data5 DSR Data5(A/B) -- --
Data6 DCD Data6(A/B) -- --
Data7 RI Data7(A/B) -- --
※BBCはピン割付が一致していれば、当社製品でなく、お客様の回路や、他社のFTDIチップを搭載したモジュールでも動作いたします。

◆実行画面



File
 コンフィギュレーションファイルへのパス。

Device
 検出されているEDX/EDAシリーズのコンフィギュレーションポートがリストアップされます。

Download
 選択されたデバイスへコンフィギュレーションします。

File Open
 コンフィギュレーションファイルを開きます。パスに日本語名が含まれていてもかまいません。

・Device Detect
 PCに接続されているEDA/EDXシリーズ製品を検出し、リストに追加します。
 ユーザ通信ポートは追加されません。
 その他のFTDIデバイスが検出された場合はそのままリストに追加されます。(任意のデバイスディスクリプションを開いてコンフィグできます)

FPGA Reset
 FPGAデバイスにリセットをかけ、コンフィギュレーションデータをクリアします。
 PROG/nCONFIGピンを1回トグルしています。

STATUS
 コンフィギュレーションの結果を表示します。(SUCCESS/FAILURE)

TIME
 コンフィギュレーションに要したおよその時間を表示します。

◆プログラム概要

動作の概要をご説明します。プログラムリストを合わせてご参照ください。
 コンフィギュレーションは下記の順で動作しています。
  1. ポートのオープン(Line: 4)
    コンフィギュレーション用ポートをオープンしています。
  2. シリアルデータの作成(Line: 81, 108-)
    コンフィギュレーションファイルからシリアル出力用の配列データを作成します。
    XILINXとALTERAはMSB、LSBが逆となります。
    配列の最後にDONEが出力されるまでのクロック出力用データを付加しています。(Line: 160-)



  3. FPGAのリセット(Line: 84)
    コンフィギュレーション前に一度FPGAをリセットしておきます。
    リセット後は少し待ち時間を置き、FPGAの初期化を待ちます。(INIT_BのHighを時間待ちしています)

  4. データ送信(Line: 87, 167-)
  5. DONEの確認(Line: 95)
  6. ポートのクローズ(Line: 11)

◆コンフィギュレーションに失敗してしまう時は

コンフィギュレーションに失敗してしまう場合は下記項目を参考にしてください。
  1. コンフィギュレーションモードを確認する。
    →各製品の設定スイッチの状態を再度ご確認ください。

  2. バッファ(マルチプレクサ)の方向やイネーブルを確認する。
    →各製品の設定スイッチの状態を再度ご確認ください。

◆更新履歴

・2010/01/27 : 公開
BBC (BASIC) Ver.1.0 のダウンロードはこちらをクリックしてください。
プロジェクト(ソース)はご希望の方に無償提供いたします。ソースリクエストページからご請求ください。
メールでのご質問はこちらへどうぞ
[BBCのINDEXへ]