2.4 fpgaへの実装 - atlaspc5.kek.jpatlaspc5.kek.jp/pub/main/rd53adaqdevelopment/oftc_2_4.pdf ·...

59
2.4 FPGAへの実装 3.420160622Open-It FPGAトレーニングコース(入門編)

Upload: others

Post on 24-Oct-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

2.4 FPGAへの実装

第3.4版

2016年06月22日

Open-It FPGAトレーニングコース(入門編)

FPGAへの実装方法

論理合成

配置

データ生成

Vivado

HDLコード

4つの要素へ変換、最適化

FPGA内の構造に合わせ使う場所を決める

ダウンロード

論理情報データを生成

ダウンロード

Synthesize

Implementation

Generate Programming file

Programmer

Open-It FPGAトレーニングコース 2

Vivado起動

Open-It FPGAトレーニングコース 3

TESTをクリック

論理合成開始

Open-It FPGAトレーニングコース 4

[Run Synthesis]をクリック

合成中はこの部分のカラーバーが動く

論理合成中の画面

Open-It FPGAトレーニングコース 5

合成中ここにレポートが表示される

合成が終わると表示される

タブで表示内容を切り替えることができる

論理合成結果の確認

Open-It FPGAトレーニングコース 6

① [Open Synthesized Design]を選択

②クリック

合成を二回以上行ったときの注意

Open-It FPGAトレーニングコース 7

クリック

合成した結果を画面表示したまま、再度合成結果を表示させようとすると下のような確認画面が表示される

通常(古い結果を残さない場合)はYesでOK、古い結果を残したい場合はNoをクリックして結果を保存するフォルダ名を入力して保存する

回路図の表示

Open-It FPGAトレーニングコース 8

① 項目が追加された事を確認、色々な情報を確認する事ができる

② [Schematic]をクリック

回路図の確認

Open-It FPGAトレーニングコース 9

ここに回路図が表示される

確認したらSchematicタブの横のx印をクリックして閉じてください

Deviceタブもx印をクリックして閉じてください

ユーザー制約

ユーザーが回路に課す制約

I/O制約

最上位モジュールのポート信号とFPGAのピン番号の関係

タイミング制約

上限動作周波数

など

Open-It FPGAトレーニングコース 10

I/O制約

設計した回路のポートリストに書いた各信号とFPGAピン番号と対応させる

ツールはこの情報に従ってFPGA内の回路とFPGAピンを接続する

外部信号のIO規格などについても指定する

Synthesizeまで終わらせエラーが無い状態にしてください

Open-It FPGAトレーニングコース 11

ピン・アサイン

ツールは信号名を知りません ピンを割り当てる必要があります

多くの場合、パラメータはデフォルト値でもOKですがピン番号とIO Standardは必ず設定する必要があります

ピン情報入力はGUIツールを使用します 慣れればテキストファイルを直接編集してもOK

注意 Synthesizeが終わらないとGUIを使って入力できません

Open-It FPGAトレーニングコース 12

ピンリスト

Name Package Pin

I/O Std. Drive Str. Off chip termination

Pull type Slew

SW_A U9 LVCMOS33 NONE NONE

SW_B U8 LVCMOS33 NONE NONE

LED0 T8 LVCMOS33 12 NONE NONE Slow

LED1 V9 LVCMOS33 12 NONE NONE Slow

LED2 R8 LVCMOS33 12 NONE NONE Slow

Open-It FPGAトレーニングコース 13

使用している信号のみ設定してください。

空欄は設定不要です

IO Standard

Open-It FPGAトレーニングコース 14

•LVCMOS•LVDS

チップ間通信のために様々な規格が制定されている

用途に合わせて選択する多くの場合はFPGAに接続する部品の規格に合わせることになる

良く使われる規格は

詳細は使用するFPGAのデータシートを参照[DC and Switching Characteristics]

本セミナーではLVCMOS33のみ使用します

IOバッファ電源について

Open-It FPGAトレーニングコース 15

一般にIO standardが異なれば電源電圧も異なる

例、LVCMOSは3.3V, LVDSは2.5V

現在は一つのFPGAで異なる電源電圧が使用可能BANKについて後ほど説明

IOバッファのパラメータ

Off-chip termination

ボード上(FPGAの外で)の終端

Drive strength

最大ドライブ電流

Slew rate

信号の変化速度(V/sec)

Pull type

プルアップ、プルダウン、キーパー

BANK

バッファ電源領域

Open-It FPGAトレーニングコース 16

FPGAのIOバッファは多機能です。様々なパラメータを設定することができます

信号線が駆動されない時の処理

Open-It FPGAトレーニングコース 17

3.3V

信号線が駆動されない時がある場合

例えばSW入力

3.3V

信号はHigh ?, Low ?、どうなるのでしょう?

SWが開いていたらHigh / Low?

このような時はプルアップ、プルダウン抵抗などを使用します

開いていても電圧がきちんと決まるようにする

Pull type

Open-It FPGAトレーニングコース 18

3.3VR

3.3V

PULL UP

FPGAではPull-up, Pull-down, Keeperが設定できる

駆動されていない時はHighになる

3.3V

R

PULL DOWN

駆動されていない時はLowになる

抵抗R

3.3V保持回路

KEEPER

最後に駆動された状態を保持

SW入力回路

Open-It FPGAトレーニングコース 19

3.3V3.3V R

3.3V

3.3V

R

SWを閉じるとHighになる回路 SWを閉じるとLowになる回路

このような回路として使用されます

BANK

Xilinx FPGAで使用される用語

複数のIO電源電圧を同一FPGAで使用するために考案

FPGAのIOバッファを複数のグループに分けたグループをBANKと名付ける

同一BANKに属するバッファは同じ電源端子から電源が供給される

BANKが異なれば異なる電源を供給可能

電源端子が分かれている

Open-It FPGAトレーニングコース 20

BANKの例Spartan3AN-50

Open-It FPGAトレーニングコース 21

BANK番号

この辺りがBANK0

この辺りがBANK2

この辺りが

BAN

K1

この辺りが

BAN

K3

分かりやすいQFPパッケージの例として

画面レイアウトをIO planningへ変更

Open-It FPGAトレーニングコース 22

プルダウンメニューからI/O Planningを選択

I/O Planningが表示されない人は左窓のFlow NavigatorからSynthesized Designをクリックしてください

I/O planning 画面

Open-It FPGAトレーニングコース 23

この窓を使用します

I/O Port listの表示

Open-It FPGAトレーニングコース 24

① IO Portsを選択

② Scalar portsフォルダの左側をクリックして展開してください

I/O制約の入力

Open-It FPGAトレーニングコース 25

ピンアサイン表を見ながら各項目を設定します

下はLED0の設定例です

① ピン番号を入力プルダウンメニューから選択、直接打ち込む、どちらでも良い

② Fixedにチェックを入れる③ プルダウンメニューからLVCOMS33を選択

④ プルダウンメニューから12を選択

⑤ プルダウンメニューからNONEを選択

ピンリストを見ながら他の信号も設定してください

設定されたIO

Open-It FPGAトレーニングコース 26

制約の保存

Open-It FPGAトレーニングコース 27

① [File]から

② [Save Constraints]を選択

② クリック

保存すると再度合成しなければいけないと言ってくる

制約ファイル名の指定

Open-It FPGAトレーニングコース 28

① ファイル名を入力

② クリック

ファイル名はTEST.XDCとなる。このファイルはテキストファイルであり直接テキストエディタで編集する事ができる。IO制約のみではなく他の制約もこのファイルに命令を書き込んで使用する

XDCファイルとは?

ユーザーの要求や制約を記述するファイル テキストファイル

ここではTEST.xdc 生成場所

C:¥Temp¥FPGA_Seminar¥TEST¥TEST.srcs¥constrs_1¥new¥TEST.xdc

制約例 ピン配置

タイミングなど

ユーザーが指定することはXDCに書く

Open-It FPGAトレーニングコース 29

画面レイアウトをDefaultへ戻す

Open-It FPGAトレーニングコース 30

プルダウンメニューからDefault layoutを選択

Synthesized Designを閉じる

Open-It FPGAトレーニングコース 31

①Synthesized Designと書かれている帯の右端にあるXをクリックして閉じる

②確認画面

クリック

再度、論理合成

Open-It FPGAトレーニングコース 32

[Run Synthesis]をクリック

合成中はこの部分のカラーバーが動く

合成中はここの緑の丸が回る

論理合成中の画面

Open-It FPGAトレーニングコース 33

合成中ここにレポートが表示される

合成が終わると表示される

タブで表示内容を切り替えることができる

論理合成結果の確認

Open-It FPGAトレーニングコース 34

① [View reports]を選択

②クリック

Synthesized designを閉じる

Open-It FPGAトレーニングコース 35

[Close design]をクリック、(「古いdesign情報を閉じる」意味)

上部に黄色の帯が表示されている人

表示されていない人は先へ進んでください

配置配線の実行

Open-It FPGAトレーニングコース 36

[Run Implementation]をクリック

配置配線中の画面

Open-It FPGAトレーニングコース 37

StatusがRunning xxxになる(xxx部分は進行状況で変わる)

カラーバーが動く

配置配線結果の確認

Open-It FPGAトレーニングコース 38

① [View reports]を選択

②クリック

配置配線が終わると表示される

配置配線結果を確認

Open-It FPGAトレーニングコース 39

Completeになっていることを確認

以上で配置配線が終了しました

ここではWaringがあってもOKです

データファイルの生成

Open-It FPGAトレーニングコース 40

データファイルの生成

論理合成

配置

データ生成

Vivado

HDLコード

4つの要素へ変換、最適化

FPGA内の構造に合わせ使う場所を決める

ダウンロード

ダウンロード・データを生成

ダウンロード

Synthesize

Implementation

Generate Programming file

Programmer

Open-It FPGAトレーニングコース 41

FPGAデータのフォーマット

幾つかの種類があります。

BIN, BIT, MCS, etc. …

ここではBITファイルを使用します。 デフォルトで生成される デバック時使用する事が多い

JTAG I/Fを用いて直接書き込む時に使用 電源投入後、毎回手動でダウンロード

Open-It FPGAトレーニングコース 42

Open-It FPGAトレーニングコース 43

[Generate Bitstream]をクリック

結果確認

Open-It FPGAトレーニングコース 44

① [View reports]を選択

②クリック

データ生成が終わると表示される

アンケート依頼

Open-It FPGAトレーニングコース 45

アンケートに答えるならYes 通常はNoで良い

下のような窓が表示されることがある

FPGAへダウンロードJTAG mode

Open-It FPGAトレーニングコース 46

ダウンロード手順概要

1. ボードの電源をUSBから取るように設定

2. ボードのBoot modeをJTAGにする

3. USBケーブル(ダウンロード・ケーブル)を接続

4. ケーブル・ドライバのインストール

5. データをダウンロードする。

Open-It FPGAトレーニングコース 47

電源切り替え

Open-It FPGAトレーニングコース

このジャンパーで切り替える

USBから電源を取る設定

USB

左側2本をジャンパで接続

48

WALL

Boot Modeの設定 JTAG

Open-It FPGAトレーニングコース

このジャンパーで切り替える

JTAG mode

QSPI

中央に2本をジャンパで接続

49

JTAG

USB/S

D

USBケーブル接続と電源投入

Open-It FPGAトレーニングコース 50

① PCとUSBケーブルで接続 ② POWER SWをON

③ 赤いLEDの点灯確認

USBケーブルの向き

へこんでいる部分を上にして挿す

横面が斜めになっている部分を下向き

USBドライバのインストール

Open-It FPGAトレーニングコース

ボードの電源を入れるとドライバのインストールが始まります

51

OSの種類により表示が異なります

Windows 7では「デバイスが使用できる準備ができました」と表示されるまで待ちましょう

Windows 8以降ではインストール終了後に何も表示されませんが問題ありません

ダウンロードツールの起動

① [Open Target]を左クリック

Open-It FPGAトレーニングコース 52

② [Auto connect]を選択

書き込み

Open-It FPGAトレーニングコース 53

① [Program device]をクリック

② [xc7a100t]を選択

③ ファイル名がTEST.bitであることを確認

④ [Program]をクリック

データ書き込みの確認

Open-It FPGAトレーニングコース 54

書き込み中の表示

DONE LED確認

Open-It FPGAトレーニングコース 55

ダウンロードに成功すると緑のLEDが光ります

デバック(動作確認)

論理回路設計

FPGAデータ生成

デバック

論理シミュレーション

完成!!

仕様検討 多くの場合、最初は動かないので問題を特定して解決する過程です

今日はSWを動かして動作確認します

Open-It FPGAトレーニングコース 56

動作確認

Open-It FPGAトレーニングコース 57

LED0

SW_ASW_B

SWを操作して設計した通りに動作するか試してください

(注意)SWは上で1(ON)、下で0(OFF)になる

完了!!

動きましたか?

Open-It FPGAトレーニングコース 58

履歴 2012/5/17 第1.0版 ISE13.4対応 内田智久(Esys, KEK/総研大), 林達也(大阪大学)

2014/8/7 第2.0版 Vivado2014対応、章構成変更 内田智久(Esys, KEK/総研大)

2015/7/31 第3.0版 Vivado2015対応、章構成変更 内田智久(Esys, KEK/総研大)

2015/8/6 第3.1版 誤字訂正 内田智久(Esys, KEK/総研大)

2015/12/03 第3.2版 Vivado2015.3対応 内田智久(Esys, KEK/総研大)

2016/01/27 第3.3版 Vivado2015.4対応 内田智久(Esys, KEK/総研大)

2016/06/22 第3.4版 Vivado2016.2対応 内田智久(Esys, KEK/総研大)

Open-It FPGAトレーニングコース 59