...

トレーニング書き込み

by user

on
Category: Documents
9

views

Report

Comments

Transcript

トレーニング書き込み
Open-It FPGAトレーニングコース(初級編) 第9版
付録
2013年5月10日 修正
内容
1.
Verilog-HDL記述

DFF 同期リセット付き
2.
検出器信号の受け方
3.
FPGAダウンロード

Internal SPI Flash mode
4.
問題: 組み合わせ回路
5.
問題: 順序回路
Open-It FPGAトレーニングコース(初級)
2
復習:同期リセット付きDFFの動作
(アクティブLowのリセットの場合)
CLK
RSTn(入力)
D(入力)
Q(出力)
クロックの立ち上がり時に判断
リセット信号がLowになると、
入力Dの値に関係なく出力がLowになる
入力
RSTn
D
Q
出力
CLK
Open-It FPGAトレーニングコース(初級)
3
DFFの書き方/同期リセット付き
同期リセットを使用する場合
always@の()内に表れない
reg
Q;
always@ (posedge CLK) begin
if(RSTn==1’b0)begin
Q <= 1'b0;
同期リセットでの動き
end else begin
Q <= D;
通常動作での動き
end
end
Open-It FPGAトレーニングコース(初級)
4
付録:
検出器信号の受け方
同期回路での非同期信号の扱い方
Open-It FPGAトレーニングコース(初級)
5
検出器の信号
 検出器の信号はアナログ信号
 FPGAに入力される時
 通常ディスクリ(デジタル化)出力を入力する
 検出器の出力はランダム
 Poisson arrival
 FPGAは同期回路
 非同期信号を入力しても問題は無いのか?
Open-It FPGAトレーニングコース(初級)
6
入力回路
デジタル化した
検出器信号
D
Q
出力
CLK
CLK
CLKの立ち上がり
(取り込み)で変化
したら出力は?
デジタル化された
検出器の信号
Poisson arrivals
Open-It FPGAトレーニングコース(初級)
7
CLKに対して何処で変化するかわからない!
DFFのMeta-stable state
 CLKの立ち上がりで入力が変化した時
 出力がどうなるかはトランジスタレベルの振る舞いに依存し
ます
 例の場合
 Lowのままかもしれませんし
 サンプリング誤差になる
 Highになるかもしれません
 この時は問題ない
 もしかしたら中間レベルになるかもしれません、時には振
動する事もあります
 これは誤動作する原因です!
Open-It FPGAトレーニングコース(初級)
8
対策
 実は決定的な対策はありません!
 誤動作発生確率を無視できるくらいまで下げることで
対処します
 中間状態になる確率は低い事
 中間状態を取る条件がトランジスタレベルの個性で異なる
事を利用する
 通常、2段以上のDFFを直列に接続します
デジタル化した
検出器信号
D
Q
D
Q
D
Q
CLK
Open-It FPGAトレーニングコース(初級)
ここに論理回路を入れない
9
FPGAへダウンロード
Internal SPI Flash mode
Open-It FPGAトレーニングコース(初級)
10
PROMへの書き込み手順
1.
2.
3.
4.
5.
6.
7.
8.
9.
ボードの電源を切る
Bitファイルの再生成(スタートアップクロックをCCLK)
MCSファイルを生成する
Boot modeをInternal SPI Flashにする
USBケーブル(ダウンロード・ケーブル)を接続
ボードの電源を入れる
データをROMへダウンロード
電源を一度切って、再度投入
動作確認
Open-It FPGAトレーニングコース(初級)
11
PROMへの書き込み手順
1.
2.
3.
4.
5.
6.
7.
8.
9.
ボードの電源を切る
Bitファイルの再生成(スタートアップクロックをCCLK)
MCSファイルを生成する
Boot modeをInternal SPI Flashにする
USBケーブル(ダウンロード・ケーブル)を接続
ボードの電源を入れる
データをROMへダウンロード
電源を一度切って、再度投入
動作確認
Open-It FPGAトレーニングコース(初級)
12
BITファイル再生成:
Start Up-Clockの設定
Generate Programming File
を選択して右クリック
Process Properties
Open-It FPGAトレーニングコース(初級)
13
BITファイル:
FPGA Start Up-Clockの設定
②CCLKを選択
①Startup Option
を選択
Open-It FPGAトレーニングコース(初級)
14
ファイルの生成
C:¥Temp¥FPGA_Seminar¥Course1を確認し生成前後を比較してビットファイルの生成を確認
Generate Programming File
右クリック→
Run, Rerunで生成
Open-It FPGAトレーニングコース(初級)
15
正常生成確認
チェックマークになっている事を確認
よくあるエラーの原因:
出力信号を未使用のまま合成
未使用I/Oはコメントアウトする事
これでBITファイルが生成されました
Open-It FPGAトレーニングコース(初級)
16
ダウンロードツール
Generate Target PROM/ACE File
Create Programming PROM/ACE Fileをダブルクリック
Open-It FPGAトレーニングコース(初級)
17
iMPACT起動
iMPACTが起動する
Create PROM Fileをダブルクリック
Open-It FPGAトレーニングコース(初級)
18
iMPACT projectファイルの確認
プロジェクトファイルが見つらないと警告
作っていないのでOK
Open-It FPGAトレーニングコース(初級)
19
PROM File Formatter
③選択
⑥ファイル名を指定
①Spartan3ANを選択
④Add Storage Device
⑦作業ディレクトリを確認
②クリック
⑤クリック
⑧クリック
Open-It FPGAトレーニングコース(初級)
20
Internal SPI Flash
File Formatter 起動画面
Open-It FPGAトレーニングコース(初級)
21
Bitファイルの指定
Open-It FPGAトレーニングコース(初級)
22
読み込みファイル設定確認
Open-It FPGAトレーニングコース(初級)
23
MCSファイル生成
ここで右クリック
Generate File
Open-It FPGAトレーニングコース(初級)
24
MCSファイル生成終了
Succeededしている事を確認
Open-It FPGAトレーニングコース(初級)
25
PROMへの書き込み手順
1.
2.
3.
4.
5.
6.
7.
8.
9.
ボードの電源を切る
Bitファイルの再生成(スタートアップクロックをCCLK)
MCSファイルを生成する
Boot modeをInternal SPI Flashにする
USBケーブル(ダウンロード・ケーブル)を接続
ボードの電源を入れる
データをROMへダウンロード
電源を一度切って、再度投入
動作確認
Open-It FPGAトレーニングコース(初級)
26
Boot Modeの設定 ISF
KEK Seminar board
Internal SPI Flash mode
このジャンパーで切り替える
M0
M1
M2
M2のみジャンパー接続
BOOT MODE SELECT
Open-It FPGAトレーニングコース(初級)
27
Boundary Scan画面へ変更
①Baundary Scanをダブルクリック
ここで右クリック
①ここで右クリック→Initialize Chain
Open-It FPGAトレーニングコース(初級)
28
JTAG検出結果
KEK Seminar board
検出された接続が表示
ダウンロードする
ファイルを割り当てる
Open-It FPGAトレーニングコース(初級)
29
ダウンロードファイルの指定
設定対象が緑色になる
使用するFPGA
test.mcsを指定
複数ある時はデバイス毎にダウンロードデータを指定する
Open-It FPGAトレーニングコース(初級)
30
書き込みパラメータを設定
書き込み後VerifyするかRead back
を禁止するかなど設定できる
Open-It FPGAトレーニングコース(初級)
31
Program
プログラムするチップの図の上で右クリック
ここでは練習の為MCSファイルを使用したが、
Spartan3ANシリーズはbitファイルでも
Internal SPI Flashに書き込むことができる。
Bitファイルを選択しProgram Flash and Load FPGA
で書き込む事が出来る
ダウンロードファイルを変更したくなった時
はここで変更できる
Open-It FPGAトレーニングコース(初級)
32
ダウンロード終了
成功しましたか?
Open-It FPGAトレーニングコース(初級)
33
PROMへの書き込み手順
1.
2.
3.
4.
5.
6.
7.
8.
9.
ボードの電源を切る
Bitファイルの再生成(スタートアップクロックをCCLK)
MCSファイルを生成する
Boot modeをInternal SPI Flashにする
USBケーブル(ダウンロード・ケーブル)を接続
ボードの電源を入れる
データをROMへダウンロード
電源を一度切って、再度投入
動作確認
Open-It FPGAトレーニングコース(初級)
34
補足:iMPACT単体での起動方法
1. スタート→
2. 全てのプログラム→
3. Xilinx ISE Design Suite 12.4→
4. ISEデザインツール→
5. ツール→
6. iMPACT
Open-It FPGAトレーニングコース(初級)
35
組み合わせ回路の問題
次の回路を設計し、シミュレーションおよびFPGAへ実装して動作確認し
てください
 4bit adder
 Multiplexer (Data selector)
Open-It FPGAトレーニングコース(初級)
36
4bit adder
次の回路を設計し、シミュレーションおよびFPGAへ実装して動作確認し
てください
 Full adder
 1bit+1bitを計算する回路
 4bit adder
 Full adderを4つ使用して設計する
 モジュールの呼び出し方法などは「Web版
Verilog-HDL入門」を参照してください
Open-It FPGAトレーニングコース(初級)
37
4bit adder:
1bit Full adder
真理値表
モジュール名:FULL_ADDER
ファイル名:FULL_ADDER.V
CIN
A
B
S
COUT
A + B + CINを計算してSへ出力
桁上がりが発生したらCOUTへ出力
CIN
A
B
S
COUT
0
0
0
0
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
Open-It FPGAトレーニングコース(初級)
38
4bit adder:
MY_ADDER
モジュール名:MY_ADDER
ファイル名:MY_ADDER.V
DIP SW
で設定
IN_A[3:0]
LED[3:0]
IN_B[3:0]
LED[4]
足し算結果 A+B
最上位の桁上がり
DIPSWを半分に分けて、4bitずつ使用します。
2つの4bitの値を加えて結果をLED[3:0]に表示します
最上位の桁上がりが発生した場合(加算結果が16以上の時)は桁上がりの値をLED[4]を表示します
使用するFPGAのピン番号は次ページを参照してください
Open-It FPGAトレーニングコース(初級)
39
4bit adder:
ピンリスト(MY_ADDR.V)
記載が無き項目はdefaultを設定
Name
Site
I/O Std.
Drive Str.
IN_A[0]
P33
IN_A[1]
P35
IN_A[2]
P53
IN_A[3]
P58
IN_B[0]
P69
IN_B[1]
P70
IN_B[2]
P71
IN_B[3]
P72
LED0
Pull type
P142
LVCMOS33
12
Slow
LED1
P141
LVCMOS33
12
Slow
LED2
P139
LVCMOS33
12
Slow
LED3
P138
LVCMOS33
12
Slow
LED4
P135
LVCMOS33
12
Slow
Open-It FPGAトレーニングコース(初級)
Slew
40
Multiplexer (Data Selector)
モジュール名:MUX1B
ファイル名:MUX1B.V
DIP_SW[0]
DIP_SW[1]
SW_A
真理値表
LED[7]
DIP_SW[0]
DIP_SW[1]
SW_A
LED[7]
L
X
L
L
H
X
L
H
X
L
H
L
X
H
H
H
XはDon’t care
(何でも良いと言う意味)
Open-It FPGAトレーニングコース(初級)
41
順序回路の問題
 LOAD信号付きDFF
 値設定可能なDFF
Open-It FPGAトレーニングコース(初級)
42
値設定可能なDFF
SW_Aを押すとDIP_SW[0]の値をLED[7]へ出力する
CLK
DIP_SW[0]
SW_A
LED[7]
注意)SW_Aを押すとLowになる、通常はHigh
Open-It FPGAトレーニングコース(初級)
43
履歴


2012/5/17 第1版 ISE13.4対応 内田智久(Esys), 林達也(大阪大学)
2013/5/10 第9版 ISE14.5対応 内田智久(Esys)
Open-It FPGAトレーニングコース(初級)
44
Fly UP