2 FPGAの書き込み

2.1 top_logiana.vの編集

FPGAのpinアサインを、測定チップに合わせるため、top_logiana.v(FPGAのトップモジュール)を編集してFPGAのコンフィギュレーションROMに書き込む必要があります。 前頁の信号アサイン表に基づき、$WORK/FPGA/top_logiana.v の "// pin define" 以降の assign 文を下記のリストのような要領で編集してください。このリストは、LSIテスタ/EBプローバの解説ページで紹介した実習用チップのカウンタを測定する場合の例(抜粋)です。

top_logiana.vの編集の例
//assign  VDEC103 = 16'hz;		// 初期の記述をコメントアウト
assign  VDEC103[16] = 1'bz;		// 使用しないピンは'Z'出力
assign  VDEC103[15] = 1'bz;		// NC
assign  VDEC103[14] = 1'bz;		// NC
assign  VDEC103[13] = 1'bz;		// NC
assign  probe_in[5] = VDEC103[12];	// q2	ロジアナへの入力の記述
assign  probe_in[6] = VDEC103[11];	// q1
assign  probe_in[7] = VDEC103[10];	// q0
assign  probe_in[2] = VDEC103[9];	// q5
assign  probe_in[3] = VDEC103[8];	// q4
assign  probe_in[4] = VDEC103[7];	// q3
assign  VDEC103[6] = probe_out[10];	// ld	ロジアナからの出力の記述
assign  probe_in[0] = VDEC103[5];	// q7
assign  probe_in[1] = VDEC103[4];	// q6
assign  VDEC103[3] = 1'bz;		// NC
assign  VDEC103[2] = 1'bz;		// NC
assign  VDEC103[1] = 1'bz;		// NC

MU-200ボード上のスイッチやLED等の信号を、VDECサブボードのピンに割り当てることもできます。信号名は、top_logiana.v のポート定義部で確認してください。下記は、DIPスイッチでDUTの入力値を設定する場合の、top_logiana.v の編集例です。

top_logiana.vの編集箇所(外部デバイスの接続)
//assign  VDEC110 = 16'hz;
assign  VDEC110[16] = 1'bz;
assign  VDEC110[15] = 1'bz;
assign  VDEC110[14] = 1'bz;
assign  VDEC110[13] = DIP_A[6];		DIP SW A6 の値をDUTに出力
assign  VDEC110[12] = DIP_A[5];
assign  VDEC110[11] = DIP_A[4];
assign  VDEC110[10] = DIP_A[3];
assign  VDEC110[9] = DIP_A[2];
assign  VDEC110[8] = DIP_A[1];
assign  VDEC110[7] = DIP_A[0];
assign  VDEC110[6] = DIP_B[7];		// DIP SW B7の値をDUTに出力
assign  VDEC110[5] = probe_out[0];	// VCDのパターンをロジアナから出力
assign  VDEC110[4] = probe_out[1];
assign  probe_in[28] = VDEC110[3];	// ロジアナへの入力をVCDに返す
assign  VDEC110[2] = 1'bz;
assign  VDEC110[1] = 1'bz;

2.2 ロジアナ(FPGA)のコンパイル

Quartus II 正規版は、USBソフトウエアガードをUSBポートに差し込んでいないと起動しません。最初は、プロジェクトを作成する必要がありますが、top_logiana.v, probe.v, FIFO/ram8k.v を読み込んでおきます。top_logiana.qsf が同じディレクトリにおいてあれば、FPGAのピンアサインは自動的に行われているはずです。Assignment Editorを起動してみて、ピンアサインが行われていないようでしたら、メニューより Assignments - Import Assignments... を起動し、Import Assignments 画面で、top_logiana.qsf を指定してください。

FPGAコンパイルにおける注意点

  1. メニューより、Assignment - Devices... を選び、Device設定画面で、Device & Pin Options... をクリックし、Unused Pins タブを開き、Reserve all unused pins: 設定項目を As input tri-stated にすること。これは、未使用ピンの保護のため、一般的に、FPGAの開発で注意しなければならない事項です。
  2. Device & Pin Options...の設定画面で、Voltage タブをクリックして、Default IO standard: 設定項目を、DUTの電源電圧に合わせてください(VDD=3.3Vの場合は、LVCMOSにしてください)。
  3. [注意] ボードの電源電圧もDUTの電源電圧に合わせる必要があります。DUTサブボードへ供給する電源電圧は、MU200のジャンパ線で設定します。詳しくは、SXマニュアル.pdf の電源の項を参照してください。

2.3 FPGAのコンフィギュレーション

コンフィギューレーションROMにロジアナを書き込む手順は以下のとおり。切り替えスイッチとジャンパ線の設定がROMモードになっていることを確認。詳細は、SXマニュアル.pdf を参照してください。

  1. MU200本体のUSBポートがPCと接続されていないことを確認(USB接続したまま、コンフィギュレーションすると、MU200のUSBコントローラが変なことになります)
  2. MU200本体の電源OFF
  3. USB-BlasterをJTAGポート(10Pinヘッダ)に接続。向きを間違えないように注意(ボード側にケーブルが出ます)
  4. USB-BlasterをPCに接続
  5. MU200本体の電源ON(Windowsがエラーを出しても無視)
  6. QuartusII から、Programmer を起動し、File 欄が *.pof, Device欄が EPC8 になっていることを確認
  7. もし、違っていたら、Auto Detect ボタンをクリック。それでも違っていたら、MU200本体のジャンパ線とSW22の設定が正しいか確認する
  8. 以上がOKなら、書き込みたいpofファイルの Program/Configure と Verifay のチェックを入れて、書き込みスタート(かなり時間がかかる)
  9. 書き込みが成功したら、MU200の電源をOFFにし再起動(または、FPGAのコンフィギュレーション・スイッチを押す)
  10. USB-Blasterを外す。
  11. MU200本体のUSBポートとPCを接続する
  12. これで、測定が行える状態になります。


up next