2. 組み合わせ回路入門
2.4. 実習 FPGAへの実装
Open-It FPGAトレーニングコース(初級編) 第9版
まずは動かしてみましょう!!
詳細内容は明日説明します。
FPGAへの実装方法
論理合成
配置
データ生成
ISE
HDLコード
4つの要素へ変換、最適化
FPGA内の構造に合わせ
使う場所を決める
ダウンロード
論理情報データを生成
ダウンロード
Synthesize
Implementation
Generate
Programming file
Programmer
実習ボード
KEK Seminar Board
LED
SW_A SW_B RST_SWSWを押して設計した通りに動作するか
試してください
(注意)
SWは押したら0になる、放して1になる
気に入らない人は
SWの入力にINVを挿入して
押して1になるようにコードを変更してください。
FPGA
ダウンロードケーブル用
コネクタ
FPGA
ACアダプター用
JTAG I/Fによるダウンロード方法
プラットフォーム
ケーブル USB II
FPGA搭載ボード
Starter Kitはボード上に USB⇔JTAG変換チップを搭載しているPC
USBケーブル
JTAG I/F
幾つかのダウンロード方法がありますが、今回は
JTAGを使います。
JTAGについての説明は明日行います。
Viewモードの選択
Implementationを選択
合成しましょう!
Implementで
右クリック
Runを選択
エラー後など
やり直す時は
Rerun All
合成
ここにエラーなどの
メッセージが表示される
進捗が
合成結果
こうなればOK
エラー等で失敗すると
×印になる
ピン・アサイン
ツールは信号名を知りません
ピンを割り当てる必要があります
多くの場合、パラメータはデフォルト値でもOKですがピン番号と
IO Standardは必ず設定する必要があります
ピン情報入力はツール
Plan Aheadを使用します
慣れればテキストファイルを直接編集してもOK
注意
一度Implementプロセスが終わらないとピンリストが自動的に
出てきません。
ピンを入力する時はコードのエラーチェックを兼ねてImplement
を実行しましょう
ピンリスト
KEK Seminarボード
Name Site I/O Std. Drive Str. Pull type Slew SW_A P70 LVCMOS33
SW_B P71 LVCMOS33
Plan Aheadの起動
ダブルクリック、または
右クリック
->Run
UCFの新規作成確認
新たに
Windowが開きます。
起動するまで時間がかかります。
UCFファイルとは?
User Constraint File
ユーザーの要求や制約を記述するファイル
テキストファイル
ここでは
TEST.ucf
Plan Aheadは入力支援アプリ
以前はテキストで直接書いていた
制約例
ピン配置
タイミングなど
ユーザーが指定することは
UCFに書く
Plan Ahead起動画面
ソフトウエアアップデート確認画面
アップデートを聞いてくるかもしれません、ここではExit
アップデートする時は項目を選択して
Download
Plan Ahead初期画面
ダイの表示
タブで画面が切り替わるようになっている
画面が異なるときはこのタブを確認!!
入出力信号リストの表示
+印をクリックして展開して下さい
入出力信号の表示
リストが表示される
①LED0をクリック
②自動でLED0が選択される
③次ページ以降でこの窓を使って設定をします
信号選択窓
ピン番号入力
ピンリストを見ながら入力します。
LED0のピン番号はP142です。
①
Siteのマスをクリックするとプルダウンメニューが
現れるので
P142を選択する
②ピンの位置を固定指定ので
Fixedにチェックを入れます
✔注意)
QFPのピン番号はP142の様に先頭にPが必要
IO standard(信号規格)
ピンリストを見ながら入力します。
LED0のIO standardはLVCMOS33です。
IO Stdのマスをクリックするとプルダウンメニューが
現れるので
LVCMOS33を選択する
Drive Strength
ピンリストを見ながら入力します。
LED0のDrive Strengthは12です。
他の値へ変更する場合はマスをクリックするとプルダウンメニューが
現れるので希望の値へ変更する
12はデフォルト値なので12である事を確認
信号の制動力の事です。単位は
mAが使用されます。
通常はデフォルト値で大丈夫だと思いますが、沢山の部品を駆動する時など
負荷が大きくなる時は調整する必要があります
Slew type
ピンリストを見ながら入力します。
LED0のSlew typeはSlowです。
他の値へ変更する場合はマスをクリックするとプルダウンメニューが
現れるので希望の値へ変更する
Slowはデフォルト値なのでSlowである事を確認
信号の変化の速さの事です。単位は
V/secが使用されます。
Xilinx社のFPGAの場合はSlowとFastの2種類から選択できます
その他の設定
Pull type
以下のプル抵抗を使用する事が出来ます
プルアップ抵抗
プルダウン抵抗
Keeper
他の信号の設定
Plan Ahead終了
①保存
②終了
再度合成
UCFが変更されたので
Implement Designが?
になった
データファイルの生成
論理合成
配置
データ生成
ISE
HDLコード
4つの要素へ変換、最適化
FPGA内の構造に合わせ
使う場所を決める
ダウンロード
ダウンロード・データを生成
ダウンロード
Synthesize
Implementation
Generate
Programming file
Programmer
FPGAデータのフォーマット
幾つかの種類があります。
BIT, MCS, etc. …
ここでは
BITファイルを使用します。
デバック時に良く使う
JTAG I/Fを用いて直接書き込む
電源投入後、毎回手動でダウンロード
注意点
BITファイル:
Start Up-Clockの設定
Process Properties
Generate Programming File
を選択して右クリック
BITファイル:
FPGA Start Up-Clockの設定
①Startup Options
を選択
ファイルの生成
右クリック→
RunまたはRerunで生成
Generate Programming File
正常終了確認
これで
BITファイルが生成されました
チェックマークになっている事を確認
よくあるエラー原因:
出力信号を未使用のまま合成
未使用I/Oはコメントアウトする事
FPGAへダウンロード
JTAG mode
Configure device
1.
ボードの
Boot modeを
JTAG
にする
2.
ボードの電源を入れる
3.
USBケーブル(ダウンロード・ケーブル)を接続
4.
ケーブル・ドライバのインストール
Boot Modeの設定 JTAG
このジャンパーで切り替える
BOOT MODE SELECT
JTAG mode
M0 M1 M2M1のみジャンパー接続
M0, M2は外す
外したジャンパーを失くさないように注意
電源切り替えジャンパー設定
右の縦2つのジャンパーを接続
FX 2 AC -A D O P T ERDIP SWの設定
全てのビットを下側に設定
USBドライバのインストール
PCにUSBケーブルを接続するとドライバのインストールが始まります
Windows XPの方は下の様な画面が出るかもしれません
USBドライバのインストール
Windows XPの方は下の様な画面が出るかもしれません
実習ボードにケーブルを接続
FPGA
ダウンロード
ケーブルを接続
ACアダプターを
接続
LEDが点灯して
ダウンロードツール
iMPACTの起動
右クリックRUNで
iMPACTを立ち上げる
iMPACT起動画面
Boundary Scan
JTAGデバイスの検出
JTAG検出結果
KEK Seminar board
検出された接続が表示
ダウンロードする
ダウンロードファイルの指定
複数ある時はデバイス毎にダウンロードデータを指定する
使用する
FPGA
②test.bitを指定
設定対象が緑色になる
①作業ディレクトリを選択
書き込みパラメータを設定
書き込み後
VerifyするかRead back
を禁止するかなど設定できる
JTAGで立ち上げる時はこの設定は関係ない
内蔵PROMで立ち上げる時に関係する
複数デバイスがある時
Program
ダウンロードファイルを変更したくなった時
はここで変更できる
プログラムするチップの図の上で右クリック
ROMに書き込まない時は
Program FPGA Only
ROMに書き込む時は