Open-It FPGA トレーニングコース ( 初級編 ) 第 9 版 2. 組み合わせ回路入門 2.4. 実習 FPGA への実装 2013 年 5 月 10 日修正
まずは動かしてみましょう!! 詳細内容は明日説明します Open-It FPGA トレーニングコース ( 初級 ) 2
FPGA への実装方法 HDL コード Synthesize 論理合成 4 つの要素へ変換 最適化 ISE Implementation Generate Programming file 配置 データ生成 FPGA 内の構造に合わせ使う場所を決める 論理情報データを生成 Programmer ダウンロード ダウンロード Open-It FPGA トレーニングコース ( 初級 ) 3
実習ボード KEK Seminar Board FPGA ダウンロードケーブル用コネクタ LED FPGA SW を押して設計した通りに動作するか試してください BOOT MODE SELECT ( 注意 )SW は押したら 0 になる 放して 1 になる 気に入らない人は SW の入力に INV を挿入して押して 1 になるようにコードを変更してください AC アダプター用コネクター SW_A SW_B RST_SW Open-It FPGA トレーニングコース ( 初級 ) 4
JTAG I/F によるダウンロード方法 幾つかのダウンロード方法がありますが 今回は JTAG を使います JTAG についての説明は明日行います USB ケーブル プラットフォームケーブル USB II FPGA 搭載ボード PC JTAG I/F Starter Kit はボード上に USB JTAG 変換チップを搭載している Open-It FPGA トレーニングコース ( 初級 ) 5
ISE を起動しましょう! Open-It FPGA トレーニングコース ( 初級 ) 6
View モードの選択 Implementation を選択 ISE 画面右上部分 Open-It FPGA トレーニングコース ( 初級 ) 7
合成しましょう! Implement で右クリック Run を選択 エラー後などやり直す時は Rerun All Open-It FPGA トレーニングコース ( 初級 ) 8
合成 進捗がここで分かる ここにエラーなどのメッセージが表示される Open-It FPGA トレーニングコース ( 初級 ) 9
合成結果 こうなれば OK ( 印がなければ OK) エラー等で失敗すると 印になる Open-It FPGA トレーニングコース ( 初級 ) 10
ピンの指定 Open-It FPGA トレーニングコース ( 初級 ) 11
ピン アサイン ツールは信号名を知りません ピンを割り当てる必要があります 多くの場合 パラメータはデフォルト値でも OK ですがピン番号と IO Standard は必ず設定する必要があります ピン情報入力はツール Plan Ahead を使用します 慣れればテキストファイルを直接編集しても OK 注意 一度 Implement プロセスが終わらないとピンリストが自動的に出てきません ピンを入力する時はコードのエラーチェックを兼ねて Implement を実行しましょう Open-It FPGA トレーニングコース ( 初級 ) 12
ピンリスト KEK Seminar ボード Name Site I/O Std. Drive Str. Pull type Slew SW_A P70 LVCMOS33 SW_B P71 LVCMOS33 LED0 P142 LVCMOS33 12 Slow 記載無き項目は default を使用 Open-It FPGA トレーニングコース ( 初級 ) 13
Plan Ahead の起動 ダブルクリック または右クリック ->Run Open-It FPGA トレーニングコース ( 初級 ) 14
UCF の新規作成確認 UCF ファイルを新規に作成して良いか聞いてくるので Yes Open-It FPGA トレーニングコース ( 初級 ) 15
新たに Window が開きます 起動するまで時間がかかります 待っている間に UCF の説明をします ( 次ページへ ) Open-It FPGA トレーニングコース ( 初級 ) 16
UCF ファイルとは? User Constraint File ユーザーの要求や制約を記述するファイル テキストファイル ここでは TEST.ucf Plan Ahead は入力支援アプリ 以前はテキストで直接書いていた 制約例 ピン配置 タイミングなど ユーザーが指定することは UCF に書く Open-It FPGA トレーニングコース ( 初級 ) 17
Plan Ahead 起動画面 ユーザーガイドを見たい方はここをクリック Open-It FPGA トレーニングコース ( 初級 ) 18
ソフトウエアアップデート確認画面 アップデートを聞いてくるかもしれません ここでは Exit アップデートする時は項目を選択して Download Open-It FPGA トレーニングコース ( 初級 ) 19
Plan Ahead 初期画面 ダイの表示 タブで画面が切り替わるようになっている画面が異なるときはこのタブを確認!! Open-It FPGA トレーニングコース ( 初級 ) 20
入出力信号リストの表示 + 印をクリックして展開して下さい Scalar port とはシングル ビットの信号の意味です Open-It FPGA トレーニングコース ( 初級 ) 21
入出力信号の表示 2 自動で LED0 が選択される 3 次ページ以降でこの窓を使って設定をします 1LED0 をクリック リストが表示される 信号選択窓 Open-It FPGA トレーニングコース ( 初級 ) 22
ピン番号入力 ピンリストを見ながら入力します LED0 のピン番号は P142 です 1Site のマスをクリックするとプルダウンメニューが現れるので P142 を選択する 2 ピンの位置を固定指定ので Fixed にチェックを入れます 注意 ) QFP のピン番号は P142 の様に先頭に P が必要 Open-It FPGA トレーニングコース ( 初級 ) 23
IO standard( 信号規格 ) ピンリストを見ながら入力します LED0 の IO standard は LVCMOS33 です IO Std のマスをクリックするとプルダウンメニューが現れるので LVCMOS33 を選択する Open-It FPGA トレーニングコース ( 初級 ) 24
Drive Strength 信号の制動力の事です 単位は ma が使用されます 通常はデフォルト値で大丈夫だと思いますが 沢山の部品を駆動する時など負荷が大きくなる時は調整する必要があります ピンリストを見ながら入力します LED0 の Drive Strength は 12 です 他の値へ変更する場合はマスをクリックするとプルダウンメニューが現れるので希望の値へ変更する 12 はデフォルト値なので 12 である事を確認 Open-It FPGA トレーニングコース ( 初級 ) 25
Slew type 信号の変化の速さの事です 単位は V/sec が使用されます Xilinx 社の FPGA の場合は Slow と Fast の 2 種類から選択できます ピンリストを見ながら入力します LED0 の Slew type は Slow です 他の値へ変更する場合はマスをクリックするとプルダウンメニューが現れるので希望の値へ変更する Slow はデフォルト値なので Slow である事を確認 Open-It FPGA トレーニングコース ( 初級 ) 26
その他の設定 Pull type 以下のプル抵抗を使用する事が出来ます プルアップ抵抗 プルダウン抵抗 Keeper Open-It FPGA トレーニングコース ( 初級 ) 27
他の信号の設定 他の信号についてもピンリストを見ながら設定してください Open-It FPGA トレーニングコース ( 初級 ) 28
Plan Ahead 終了 1 保存 2 終了 入力が終了したら保存し Plan Ahead を終了してください Open-It FPGA トレーニングコース ( 初級 ) 29
この様な確認が出たら OK をクリック Open-It FPGA トレーニングコース ( 初級 ) 30
再度合成 UCF が変更されたので Implement Design が? になった 再度 Implement を実行してください Open-It FPGA トレーニングコース ( 初級 ) 31
Implement 終了 Open-It FPGA トレーニングコース ( 初級 ) 32
データファイルの生成 Open-It FPGA トレーニングコース ( 初級 ) 33
データファイルの生成 HDL コード Synthesize 論理合成 4 つの要素へ変換 最適化 ISE Implementation Generate Programming file 配置 データ生成 FPGA 内の構造に合わせ使う場所を決める ダウンロード データを生成 Programmer ダウンロード ダウンロード Open-It FPGA トレーニングコース ( 初級 ) 34
FPGA データのフォーマット 幾つかの種類があります BIT, MCS, etc. ここでは BIT ファイルを使用します デバック時に良く使う JTAG I/F を用いて直接書き込む 電源投入後 毎回手動でダウンロード 注意点 FPGA Start-Up Clock=JTAG clock( 後で説明 ) Open-It FPGA トレーニングコース ( 初級 ) 35
BIT ファイル : Start Up-Clock の設定 Generate Programming File を選択して右クリック Process Properties Open-It FPGA トレーニングコース ( 初級 ) 36
BIT ファイル : FPGA Start Up-Clock の設定 2JTAG を選択 1Startup Options を選択 Open-It FPGA トレーニングコース ( 初級 ) 37
ファイルの生成 C: Temp FPGA_Seminar TEST を確認し生成前後を比較してビットファイルの生成を確認 Generate Programming File 右クリック Run または Rerun で生成 Open-It FPGA トレーニングコース ( 初級 ) 38
正常終了確認 よくあるエラー原因 : 出力信号を未使用のまま合成未使用 I/O はコメントアウトする事 チェックマークになっている事を確認 これで BIT ファイルが生成されました Open-It FPGA トレーニングコース ( 初級 ) 39
FPGA へダウンロード JTAG mode Open-It FPGA トレーニングコース ( 初級 ) 40
Configure device 1. ボードのBoot modeをjtagにする 2. ボードの電源を入れる 3. USBケーブル ( ダウンロード ケーブル ) を接続 4. ケーブル ドライバのインストール 5. データをダウンロードする Open-It FPGA トレーニングコース ( 初級 ) 41
Boot Mode の設定 JTAG このジャンパーで切り替える BOOT MODE SELECT JTAG mode M0 M1 M2 M1 のみジャンパー接続 M0, M2 は外す 外したジャンパーを失くさないように注意 Open-It FPGA トレーニングコース ( 初級 ) 42
FX2 AC-ADOPTER 電源切り替えジャンパー設定 右の縦 2 つのジャンパーを接続 Open-It FPGA トレーニングコース ( 初級 ) 43
DIP SW の設定 全てのビットを下側に設定 この表示の H 側 Open-It FPGA トレーニングコース ( 初級 ) 44
USB ドライバのインストール PC に USB ケーブルを接続するとドライバのインストールが始まります Windows XP の方は下の様な画面が出るかもしれません Open-It FPGA トレーニングコース ( 初級 ) 45
USB ドライバのインストール Windows XP の方は下の様な画面が出るかもしれません 何度か聞いてくるかもしれませんが その都度 奨励を選びインストールしてください Open-It FPGA トレーニングコース ( 初級 ) 46
実習ボードにケーブルを接続 FPGA ダウンロードケーブルを接続 AC アダプターを接続 LED が点灯しているか確認 Open-It FPGA トレーニングコース ( 初級 ) 47
ダウンロードツール impact の起動 右クリック RUN で impact を立ち上げる Open-It FPGA トレーニングコース ( 初級 ) 48
impact 起動画面 Boundary Scan をダブルクリック Open-It FPGA トレーニングコース ( 初級 ) 49
Boundary Scan ここで右クリック Open-It FPGA トレーニングコース ( 初級 ) 50
JTAG デバイスの検出 Initialize Chain Open-It FPGA トレーニングコース ( 初級 ) 51
JTAG 検出結果 KEK Seminar board 検出された接続が表示 ダウンロードするファイルを割り当てる Open-It FPGA トレーニングコース ( 初級 ) 52
ダウンロードファイルの指定 設定対象が緑色になる 使用する FPGA 2test.bit を指定 1 作業ディレクトリを選択 複数ある時はデバイス毎にダウンロードデータを指定する Open-It FPGA トレーニングコース ( 初級 ) 53
書き込みパラメータを設定 書き込み後 Verify するか Read back を禁止するかなど設定できる JTAG で立ち上げる時はこの設定は関係ない内蔵 PROM で立ち上げる時に関係する Open-It FPGA トレーニングコース ( 初級 ) 54
複数デバイスがある時 ダウンロードしないデバイスは Bypass Open-It FPGA トレーニングコース ( 初級 ) 55
Program プログラムするチップの図の上で右クリック ROM に書き込まない時は Program FPGA Only ROM に書き込む時は Program Flash and Load FPGA ダウンロードファイルを変更したくなった時はここで変更できる Open-It FPGA トレーニングコース ( 初級 ) 56
ダウンロード確認 成功しましたか? Open-It FPGA トレーニングコース ( 初級 ) 57
DONE LED 確認 ダウンロードに成功すると赤い LED が光ります Open-It FPGA トレーニングコース ( 初級 ) 58
impact の終了 終了しましょう! No を選択 設定を残したい時は Yes, ここでは No を選択 Open-It FPGA トレーニングコース ( 初級 ) 59
デバック ( 動作確認 ) 実習する部分 仕様検討論理回路設計論理シミュレーション FPGAデータ生成デバック 多くの場合 最初は動かないので問題を特定して解決する過程です 今日は SW を動かして動作確認します 完成!! Open-It FPGA トレーニングコース ( 初級 ) 60
動作確認 KEK Seminar Board LED SW を押して設計した通りに動作するか試してください ( 注意 )SW は押したら 0 になる 放して 1 になる 気に入らない人は SW の入力に INV を挿入して押して 1 になるようにコードを変更してください SW_A SW_B RST_SW Open-It FPGA トレーニングコース ( 初級 ) 61
完了!! 動きましたか? Open-It FPGA トレーニングコース ( 初級 ) 62
履歴 2012/5/17 第 1 版 ISE13.4 対応内田智久 (Esys), 林達也 ( 大阪大学 ) 2013/5/10 第 9 版 ISE14.5 対応内田智久 (Esys) Open-It FPGA トレーニングコース ( 初級 ) 63