”FPGAで遊んでみる”では、セミナー用に作成したサンプル回路などを整理して少しづつ紹介していきます。


Papilioの本
FPGA版Arduino!!Papilioで作るディジタル・ガジェット CQ出版 発売中

セミナ開催します。
"実習・FPGA版Arduino!!Papilioで作るディジタル・ガジェット入門”、10月31日(土)、CQ出版社セミナルーム
Papilioについて解説します。
詳しくはこちらへ


第1回 FT2232Dモジュール(秋月電子)を使ってFPGAをコンフィグレーションしてみる

 このコーナーでは、FPGAで使えるVerilog-HDL、VHDLのサンプル回路を紹介してみようと考えていますが、
FPGA用のダウンロードケーブルをお持ちで無い方もいると思いますので、まず今回は、ベンダー製ダウンロー
ドケーブル以外でFPGAをコンフィグレーションする方法を紹介してみます。
FPGAのコンフィグレーションに使うベンダー製のダウンロードケーブルは、試しに使うにはお手頃とは言えない
価格で個人では手出しがしにくい状況です。そんななか、ベンダー製のダウンロードケーブルを使わずにFTDI社
のFT2232を使ったUSB接続のJTAGアダプタを利用してFPGAをコンフィグレーションするソフトを開発公開してく
れている方がいます。

FPGA書込み用ソフト

 Altera社用
  FREE WINGさん の FT_altera
  QuartsUで作成したrbfファイルをダウンロードできます。

 xilinx社用
  fenrirさん  の cblsrv_ft2232
  iMPACT経由でのダウンロードが可能。

 これらのソフトと秋月電子から発売されているお手頃価格のFT2232Dモジュールを使ってFPGAのダウンロードを
試してみました。
 FT2232DはIO電源を外部から供給できるので、FT2232DモジュールとFPGAボードのJTAG端子を直接繋ごうか
と思ったのですが、FT2232DのIOのVccは3.0〜5.25Vの範囲で、片やSPARTAN3EのJTAGのVrefは2.5Vなので
繋ぐことができません。そこで高速タイプのCMOSロジックICの74AC244を挟んで接続をすることにしました。
74ACシリーズは入出力のトレラント機能がないので、本当はトレラント機能のある74VCHシリーズが良さそうですが
手元に74AC244があったのでこれを使っています。

接続図
 接続図(TopView)は以下なります。

 ついでにFPGAボードの5V電源もFT2232経由で供給できるようにしています。
また、FT2232DはA,Bの2chの通信ポートが用意されているので、
A側をFPGAのダウンロード、B側をシリアル通信用としています。
動作テストの結果は、Altera社、Xilinx社ともに手元にあるデバイスではダウンロード可能でした。
PCとのシリアル通信も成功しました。(シリアル通信のサンプル回路は別の回に紹介予定です)
接続図をTopViewで書いてありますので、ユニサーバル基板等で配線を繋ぐときは注意してください。


Altera社デバイスのコンフィグレーションの例

 ターゲットボード:改定版FPGAボードで学ぶ論理回路設計(CQ出版)付属ボード(CQ出版)
 
 デバイス:EP1C3T

 開発ソフト:QuartusU9.1sp1 WebEdition

 実行手順:
  1.FPAGボードとFT232Dモジュールを接続します。PCのUSBポートとFT232Dを接続します。

  2.AF_altera.exeのあるフォルダーに回路データ(rbfファイル)をコピー
    ※FT_alteraのセットアップは開発者殿のサイトを参照してください。
    ※ rbfファイルはQuartusUであらかじめ作成しておきます。

  3.コマンドプロンプトでAF_altera.exeのあるフォルダーに移動

  4.FT_altera実行
   >FT_altera C rbfファイル
   実行するとダウンロードが開始します。
   実行時のログ

>FT_Altera C ep1c3_led.rbf
============================================
FT2232C(MPSSE) JTAG
CONFIGRATION & BOUNDARY SCAN PROGRAMfor Altera FPGA series Ver 0.0
Copyright (C)2005 Y.Sakamoto
(http://hp.vector.co.jp/authors/VA014069/)
============================================
FT2232C OPEN...OK
FT2232C INIT...OK
DEVICE INIT...OK
VERIFY JTAG CHAIN...OK
DEVICE IDCODE...OK
IDCODE=020810DD:OK, Altera CYCLONE EP1C3
Operation...Configure
Config Bit File Name: ep1c3_led.rbf
Config Bit File Size: 0x00013256(78422)
0x0001322A/0x0001322A (100)
Execution Time = 0.141 sec, Bit File Size = 0x0001322A bytes
Transfer Rate = 555872 bytes/sec( 4.241 Mbits/sec)
Transfer Bit-File...OK
Check Status...OK
Operation...OK
Execution Time = 0.297 sec

 FPGAボードの様子



Xilinx社デバイスのコンフィグレーションの例

 ターゲットボード:MFPGA−SPAR3E(マルツパーツ館)

 デバイス:XC3S250E

 開発ソフト:ISE11.3 
         iMPACTはISE10.1の物を使用

 実行手順

  1.FPAGボードとFT232Dモジュールを接続します。PCのUSBポートとFT232Dを接続します。

  2.コマンドプロンプトでcblsvのあるフォルダーに移動
   ※clbsrv_ft2232のセットアップは開発者殿のサイトを参照してください。

  3.clbsrv_ft2232の起動
   >clbsrv -c amontec -p ポート番号
   ポード番号はご自分の環境で使用していない番号を指定してください。
   この時点では、FPGAのコンフィグレーションは実施されません。コンフィグレーションはiMPACTから行います。

   起動時のログ

>cblsrv.exe -c amontec -p 50000
Cable Server 0.1 for Xilinx Impact 8.2i (Mar 19 2010, 18:20:06)
Copyright (c) 2006, Zoltan Csizmadia (zoltan_csizmadia@yahoo.com)

and modified by fenrir for amontec JTAGKey support.

Cable is 'Dual RS232 A'

Hit CTRL+C to exit program.
Be sure to disconnect cable from Impact (Output/Cable disconnect),
otherwise Impact will crash!


  4.iMPACTでコンフィグレーション
   clbsrv_ft2232起動後のiMPACTを起動します。
   手元の環境ではISE11.3のiMPACTでは上手く動作しなかったので、iMPACTのみISE10.1の物を
   使用しています。
   iMPACT起動後にFlows内のBoundaryScanをダブルクックしてOutput→CbleSetup...を選択
   ケーブルのセットアップを行います。

   

   localhost:の後の番号は、clbsrv_ft2232の起動で指定した番号です。
   これ以降は、通常のiMPACTの使用方法と同様です。
   InitializeChainを実行してFPGAへ書込むファイルを指定します。

   


   対象のデバイスをマウスで右クリックして”program”を選択するとコンフィグレーションが実行されます。

   

 FPGAボードの様子



紹介した回路を試す場合は、自己責任でお願いします。
次回は、LEDをチカチカさせます。

リンクフリーです。
リンクされた場合にご連絡をいだけると嬉しいです。
メール 


変更履歴
(2010/09/02) 初版
(2010/10/16) 項目の先頭にを追加

TOPへ戻る