GROWTH FPGA/高速ADCボード – 3 – FPGA書き込み

雷雲ガンマ線プロジェクト(GROWTH / Thundercloud Project)で開発したGROWTH FPGA/高速ADCボードに関する記事の第三回です。

GRWOTH FPGA/ADCボード関連の記事一覧

  1. GROWTH FPGA/高速ADCボードの概要
  2. GROWTH FPGA/高速ADCボードの拡張コネクタ
  3. GROWTH FPGA/高速ADCボードのFPGA書き込み
  4. パルス計測プログラムgrowth_daqのビルドと測定実行

購入直後のGROWTH FPGA/高速ADCボードは、シマフジ電機による試験用のFPGAイメージが書き込まれています。実験等でADCの波形データの取得をおこなうためには、以下のいずれかの方法でFPGAイメージを用意して、Xilinx社のUSBダウンロードケーブル(プラットフォームケーブルUSB II)を用いてボード(上のEEPROM)に書き込む必要があります。

  1. GROWTH実験が公開している標準のFPGAイメージをダウンロードする
  2. 自分たちの実験で必要な機能を独自にVHDL / Verilog HDL等で実装する

この記事では「1. GROWTH実験が公開している標準のイメージをダウンロードする」について説明します。独自にFPGAを実装したい場合は、シマフジ電機から提供される仕様書と回路図をもとに機能を開発してください。

FPGA書き込みに必要なもの

FPGA イメージファイルの入手

GROWTH実験で使用している波形取得FPGAのイメージは、EEPROMに書込み可能なMCSファイルとしてGROWTH-DAQのgitレポジトリのGROWTH-DAQ/fpga/mcsに入っています。幾つかのバージョンがあるので、README.mdを参照して必要なバージョンを選択してください。

ダウンロード後、zipを展開すると生成されるmcsファイルをCentOSの仮想マシン(もしくはリアルマシン)にコピーしてください。

FPGAボードの準備

  1. ACアダプタ(もしくは直流安定化電源)から12Vを供給するためのコネクタを接続。(まだ電源はONしない)
    1. 直流安定化電源の場合は12V電源の電流リミットを0.5A程度に設定する。
  2. プラットフォームケーブルのJTAGコネクタをCN3に接続
  3. プラットフォームケーブルとMac(PC)を接続。
    1. VMWareを使用している場合は、プラットフォームケーブルがMacではなくVMWare側に接続されるようにVMWareで設定してください。
  4. 電源をONする。直流安定化電源の場合は12V電流値が0.3A以下であることを確認(シマフジ電機のFPGAイメージのときの目安)。
  5. 電流値のチェック結果がOKなら、実際の書き込み手順に移る。

EEPROMへのイメージの書き込み

以下のスクリーンショットはVivado 2016.1で取得しました。2016.2以降だとちょっと変わっているかもしれません。変わっているところがあったらコメントで指摘しておいてください。

  1. プラットフォームケーブルをCentOSの仮想マシンに接続(VMWareならDevice→ Xilinx→ Connectを選択)。
  2. FPGAボードの電源を投入。シマフジ電機のデフォルトイメージが書き込まれている場合は消費電力12V 0.3A以下くらいが目安。
  3. Vivadoを起動して、Open Hardware Managerをクリック。
  4. Vivadoを起動して、Open Target→ Auto Connectをクリック。自動的にダウンロードケーブルに接続し、その先にあるFPGAを認識します。
  5. Open Targetの結果、接続が成功すると以下のような画面になります。うまく接続出来ない場合は、Vivadoのインストールの段階でデバイスドライバがインストールできていないと思われます。root権限でVivadoをインストールしてみるとうまくいくかもしれません。
  6. FPGAの先に登録されているEEPROMを登録するために、Tool→ Add Configuration Memory Device→ xc7a35t_0をクリック。
  7. 対応EPPROMの一覧が表示されるので検索欄にn25を入れて、絞りこまれた結果から以下の物を選択(回路図を見て、実際にボードに実装されているEEPROMの型番をダブルチェックしておくと良いです)。
  8. 前の画面でOKをクリックすると以下のようなダイアログが出ますが、まだMCSファイルを選択していないので、一旦Cancel。(OKをクリックしたあとの画面でもMCSファイルを選べるので、どちらでも良い気もしますが)
  9. 左上のリストに追加されたEEPROMをクリックして選択し、左下の領域のMCSファイル指定欄で選択ボタンをクリック。
  10. 表示されたダイアログで、先ほどゲットしたMCSファイルを選択。 (事前にMacからVMWareの適当なフォルダにコピーしておく)
  11. EEPROMのエントリを右クリックして、Program Configuration Memory Deviceをクリック。
  12. 以下の様なウインドウが出るので、内容を確認。OKをクリックすると書き込みが始まります。オプションはErase、Program、VerifyがチェックされていればOKです。
  13. 以下の様な進捗ダイアログが出て、5分くらい待つと消去と書き込みが完了します。
  14. 以下の様な成功ダイアログが表示されれば書き込み完了。
  15. FPGAの電源をOFF→ ONすると、書き込んだFPGAイメージでFPGAが起動します。うまくいくと、ボード上のLED1が1秒周期で点灯するはずです(少なくともgrowth_fy2016_fpga_20160831_2144.mcsとgrowth_fy2016_fpga_20161010_1152.mcsでは点滅するように設定されています。イメージによってはLED点灯の設定がされていないかもしれないので注意)。 ちなみに、FPGAの電源をOFFすると以下の様なダイアログが表示されます。これはダウンロードケーブルがFPGAの電源OFFを検出しました、という連絡。とくに問題ないのでOKで閉じてください。
  16. 以上でFPGAイメージをEEPROMに書き込む手順は完了です。 Vivadoを終了し、ボードの電源をOFFしてからプラットフォームケーブルのJTAGコネクタを取り外してください。