Comments
Description
Transcript
3. 順序回路 3.5. FPGAへの実装
Open-It FPGAトレーニングコース(初級編) 第9版 3. 順序回路 3.5. FPGAへの実装 2013年5月10日 修正 実習ボード FPGA ダウンロード ケーブル用 コネクタ NIM Input x 4 NIM Output x 4 LED Xilinx社Spartan3E/A/AN スターターキットと接続できる FPGA 50MHz OSC DAC ADC DIP SW ACアダプター用 コネクター Open-It FPGAトレーニングコース(初級) 2 FPGAへの実装方法 HDLコード Synthesize Implementation ISE Generate Programming file Programmer 論理合成 4つの要素へ変換、最適化 配置 FPGA内の構造に合わせ 使う場所を決める データ生成 論理情報データを生成 ダウンロード ダウンロード Open-It FPGAトレーニングコース(初級) 3 ダウンロードI/F 様々なダウンロードI/Fがあります JTAG I/Fが基本です(今日も使います) 実際はJTAGと他のI/Fの併用 長所 コネクタが小さい(信号線数が少ない) 複数チップを同一コネクタからプログラム可 FPGAに直接書き込み可(デバック時に有効) 短所 書き込み時間が長い(転送速度が遅い) Open-It FPGAトレーニングコース(初級) 4 JTAG I/Fによるダウンロード方法 USBケーブル PC プラットフォーム ケーブル USB II FPGA搭載ボード JTAG I/F Starter Kitはボード上に USB⇔JTAG変換チップを搭載している Open-It FPGAトレーニングコース(初級) 5 JTAG I/F I/F規格の一つ シリアルI/F (信号数4本、電源除く) 1ビットずつ順番に送る ボードや実装済みチップのテストの為に開発 複数のチップを直列接続可(Daisy Chain接続) TDI TMS TCK TDO Serial data IC IC IC Reset Clock Serial data Open-It FPGAトレーニングコース(初級) 6 この後は実習です Open-It FPGAトレーニングコース(初級) 7 ISEを起動しましょう! Open-It FPGAトレーニングコース(初級) 8 Viewモードの選択 Implementationを選択 ISE画面右上部分 Open-It FPGAトレーニングコース(初級) 9 さっそく合成してみましょう! Implementで 右クリック Runを選択 エラー後など やり直す時は Rerun All Open-It FPGAトレーニングコース(初級) 10 合成 進捗が ここで分かる ここにエラーなどの メッセージが表示される Open-It FPGAトレーニングコース(初級) 11 合成結果 こうなればOK (×印がなければOK) エラー等で失敗すると ×印になる Open-It FPGAトレーニングコース(初級) 12 ピンの指定 Open-It FPGAトレーニングコース(初級) 13 ピンリスト KEK Seminarボード 昨日行った事を思い出しながら Plan Aheadを使用してピン設定を行ってください Name Site I/O Std. Drive Str. Pull type Slew CLK50M P57 LVCMOS33 RST_SW P72 LVCMOS33 SW_A P70 LVCMOS33 SW_B P71 LVCMOS33 LED7 P130 LVCMOS33 12 Slow LED2 P139 LVCMOS33 12 Slow LED1 P141 LVCMOS33 12 Slow LED0 P142 LVCMOS33 12 Slow 記載が無き項目はdefaultを設定 Open-It FPGAトレーニングコース(初級) 14 タイミング制約 今回は順序回路なのでタイミング制約も課します 動作周波数 同期回路でよく使われる制約 通常、希望動作周波数がある 希望の周波数で回路が動作するかどうかをツー ルに遅延計算させレポートさせる Open-It FPGAトレーニングコース(初級) 15 タイミング制約入力画面起動 ISEのwindow 右クリック Runを選択 Open-It FPGAトレーニングコース(初級) 16 複数の方法で編集している事の確認 Yesをクリック Open-It FPGAトレーニングコース(初級) 17 タイミング制約入力画面 ①Clock Domainを選択 設定したいクロックを選択する ②CLK50Mをダブルクリック、または 右クリック→Create Constraint Open-It FPGAトレーニングコース(初級) 18 クロック周期の入力 周期を入力 50MHzなので20nsec 補足:周波数でも入力できる 最後にOK Open-It FPGAトレーニングコース(初級) 19 設定確認 CLK50Mが追加された Open-It FPGAトレーニングコース(初級) 20 タイミング制約設定保存 ①ここで保存 Open-It FPGAトレーニングコース(初級) 21 タイミング設定終了 Timing Constraintsタブの×をクリック Open-It FPGAトレーニングコース(初級) 22 再度合成 UCFが変更されたので Implement Designが? になった 再度Implementを実行してください Open-It FPGAトレーニングコース(初級) 23 合成中のレポート 途中画面でタイミング検証の結果が表示される Open-It FPGAトレーニングコース(初級) 24 Implement終了 Open-It FPGAトレーニングコース(初級) 25 タイミング検証の結果 デザイン・サマリーからも見る事が出来る (ISE画面の右上部分) 戻るときは矢印をクリック クリックで結果表示 Open-It FPGAトレーニングコース(初級) 26 データファイルの生成 Open-It FPGAトレーニングコース(初級) 27 データファイルの生成 HDLコード Synthesize Implementation ISE Generate Programming file Programmer 論理合成 配置 データ生成 ダウンロード Open-It FPGAトレーニングコース(初級) 4つの要素へ変換、最適化 FPGA内の構造に合わせ 使う場所を決める ダウンロード・データを生成 ダウンロード 28 ファイル形式 良く使うのはBITとMCS BIT 全てのファイル形式の元データ デバック時に使う 直接FPGAにダウンロードできる MCS ROMに書き込むデータ 通常はこのファイル形式を使用する Open-It FPGAトレーニングコース(初級) 29 BITファイル: FPGA直接書き込み FPGAへ直接ダウンロードする為に BITファイルを生成してみましょう デバック時に良く使う JTAG I/Fを用いて直接書き込む 電源投入後、毎回手動でダウンロード 注意点 FPGA Start-Up Clock=JTAG clock(後で説明) Open-It FPGAトレーニングコース(初級) 30 BITファイル: Start Up-Clockの設定 Generate Programming File を選択して右クリック Process Properties Open-It FPGAトレーニングコース(初級) 31 BITファイル: FPGA Start Up-Clockの設定 ②JTAGを選択 ①Startup Options を選択 Open-It FPGAトレーニングコース(初級) 32 ファイルの生成 C:¥Temp¥FPGA_Seminar¥TESTを確認し生成前後を比較してビットファイルの生成を確認 右クリック→ RunまたはRerunで生成 Generate Programming File Open-It FPGAトレーニングコース(初級) 33 正常終了確認 よくあるエラー原因: 出力信号を未使用のまま合成 未使用I/Oはコメントアウトする事 チェックマークになっている事を確認 これでBITファイルが生成されました Open-It FPGAトレーニングコース(初級) 34 FPGAへダウンロード JTAG mode Open-It FPGAトレーニングコース(初級) 35 Configure device 1. 2. 3. 4. 5. ボードのBoot modeをJTAGにする ボードの電源を入れる USBケーブル(ダウンロード・ケーブル)を接続 ケーブル・ドライバのインストール データをダウンロードする。 Open-It FPGAトレーニングコース(初級) 36 Boot Modeの設定 JTAG JTAG mode このジャンパーで切り替える M0 M1 M2 M1のみジャンパー接続 M0, M2は外す BOOT MODE SELECT 外したジャンパーを失くさないように注意 Open-It FPGAトレーニングコース(初級) 37 DIP SWの設定 全てのビットを下に設定 この表示のH側 Open-It FPGAトレーニングコース(初級) 38 USBドライバのインストール PCにUSBケーブルを接続するとドライバのインストールが始まります Windows XPの方は下の様な画面が出るかもしれません Open-It FPGAトレーニングコース(初級) 39 USBドライバのインストール Windows XPの方は下の様な画面が出るかもしれません 何度か聞いてくるかもしれませんが、 その都度、奨励を選びインストールしてください。 Open-It FPGAトレーニングコース(初級) 40 実習ボードにケーブルを接続 FPGA ダウンロード ケーブルを接続 ACアダプターを 接続 LEDが点灯して いるか確認 Open-It FPGAトレーニングコース(初級) 41 ダウンロードツール iMPACTの起動 右クリックRUNで iMPACTを立ち上げる Open-It FPGAトレーニングコース(初級) 42 iMPACT起動画面 Boundary Scanをダブルクリック Open-It FPGAトレーニングコース(初級) 43 Boundary Scan ここで右クリック Open-It FPGAトレーニングコース(初級) 44 JTAGデバイスの検出 Initialize Chain Open-It FPGAトレーニングコース(初級) 45 JTAG検出結果 KEK Seminar board 検出された接続が表示 ダウンロードする ファイルを割り当てる Open-It FPGAトレーニングコース(初級) 46 ダウンロードファイルの指定 設定対象が緑色になる ①作業ディレクトリを選択 使用するFPGA ②test.bitを指定 複数ある時はデバイス毎にダウンロードデータを指定する Open-It FPGAトレーニングコース(初級) 47 書き込みパラメータを設定 書き込み後VerifyするかRead back を禁止するかなど設定できる JTAGで立ち上げる時はこの設定は関係ない 内蔵PROMで立ち上げる時に関係する Open-It FPGAトレーニングコース(初級) 48 複数デバイスがある時 ダウンロードしないデバイスはBypass Open-It FPGAトレーニングコース(初級) 49 Program プログラムするチップの図の上で右クリック ROMに書き込まない時は Program FPGA Only ROMに書き込む時は Program Flash and Load FPGA ダウンロードファイルを変更したくなった時 はここで変更できる Open-It FPGAトレーニングコース(初級) 50 ダウンロード終了 成功しましたか? Open-It FPGAトレーニングコース(初級) 51 iMPACTの終了 終了しましょう! Noを選択 設定を残したい時はYes, ここではNoを選択 Open-It FPGAトレーニングコース(初級) 52 動作確認 Open-It FPGAトレーニングコース(初級) 53 デバック 多くの場合、最初は動かない ので問題を特定して解決する 過程です 仕様検討 論理回路設計 実 習 で や る 部 分 論理シミュレーション FPGAデータ生成 今日はSWを動かして 動作確認します デバック 完成!! Open-It FPGAトレーニングコース(初級) 54 動作確認 KEK Seminar Board LED SWを押して設計した通りに動作するか 試してください (注意)SWは押したら0になる、放して1になる 気に入らない人はSWの入力にINVを挿入して 押して1になるようにコードを変更してください。 SW_A SW_B RST_SW Open-It FPGAトレーニングコース(初級) 55 完了!! 動きましたか? Open-It FPGAトレーニングコース(初級) 56 履歴 2012/5/17 第1版 ISE13.4対応 内田智久(Esys), 林達也(大阪大学) 2013/5/10 第9版 ISE14.5対応 内田智久(Esys) Open-It FPGAトレーニングコース(初級) 57