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