Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
課題中心
実習主体
ステップ学習
膨大な基礎知識すべてを学ぶことは実際的ではありません。課題を解いていくことによって、知らず知らずのうちに必要な知識・技術が身につきます。
テキストを読むだけでは分かったことになりません。実機を使って確認してこそ技術が自分のものになります。
簡単な課題から徐々に難しい高度な課題にステップアップします。そのため無理なく,楽しく学習を進めることができます。
パッケージ内容
URL : http://www.adwin.com/ E-mail : [email protected]
〒733-0002 広島市西区楠木町3-10-13TEL:082-537-2460 FAX:082-238-3920
FPGA は,Field Programmable Gate Array の略です。直訳すると,「現場(Field)でプログラム可能な(Programmable)ゲ
ートアレイ(Gate Array)」となります。ゲートアレイは,論理素子(Gate)が配列(Array)されたセミカスタム IC のことです。
用途に合わせて配線パターンを変えることでオーダーされた機能を実現することができます。FPGA はその配線パターンをユーザ自身
で変更できる LSI です。
回路変更はマイコンにプログラムするように簡単に何度でも行えます。「それならマイコンでいいじゃないか」と思われるかもしれませ
んが,FPGA は回路そのものなので並列処理や高速処理が可能です。マイコン自体を FPGA で作ることだってできるのです。
FPGA は近年低価格化が進み,個人のホビー用途でも十分使えるものになってきています。
マイコンを既に使ったことがある方は,最初はとっつきにくくても,ちょっとだけ我慢して使ってみてください。マイコンではできなかっ
たことができるようになるかもしれません。
本書では XILINX の Airtix-7 を搭載した Basys3 ボードを採用しています。入門用に最適ですが,発展的な学習にも十分応えてくれ
る実力があります。
本シリーズは,以下のコンセプトに基づき開発されました。
準備していただくもの
16.11
● 分かりやすい解説● オールインワンで即学習開始● マイペースで学習できる● 理論よりもまず使うことを重視● 発展的学習が可能
お奨めします!
キットで学ぶ!シリーズ
L e a r n i n g w i t h t h e k i t ! s e r i e s
CD(テキスト、サンプルソース等 収録) 1枚
DEGILENT Basys3ボード 1枚
Micro-B USB ケーブル 1本
■ パソコン (下記のスペックを満たすこと)
: Windows 7 および 7 SP1 Professional (32/64 ビット) Windows 8.1 Professional (64 ビット) Windows 10 Professional (64 ビット)
: 各OSの推奨メモリサイズを満たすこと: USB: インターネットにつながること (開発環境のダウンロードおよびライセンス取得のため)
・ OS
・ メモリ・ ポート・ ネットワーク
※ 開発環境である「Vivado」のシステム要件により,Windows7(32ビット)以外の 32ビットOSはサポート対象外となりますのでご注意ください。
商品の内容、特に使用しているパーツについては写真や記載の内容
と全く同一というわけではありません。
また、商品内容は予告なく変更する場合がありますので、あらかじ
めご了承ください。
お問い合わせ、ご用命は下記販売店へ
FPGAチャレンジャー入門編版XILINX Artix-7
2種類のハードウェア記述言語を同時学習できる !
DIGILENT製 Basys3 採用
Verilog-HDL VHDL お待たせしました!教育関係者の皆様からご要望の多かった
ザイリンクス版がついに登場です
LOW
LD20
JP2
JA
JXADC
LD15(L1)
LD14(P1)
LD13(N3)
LD12(P3)
LD11(U3)
LD10(W3)
LD9(V3)
LD8(V13)
LD7(V14)
LD6(U14)
LD5(U15)
LD4(W18)
LD3(V19)
LD2(U19)
LD1(E19)
LD0
SW15 SW14 SW13 SW12 SW11 SW10 SW9 SW8 SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW0(U16)
(R2) (T1) (U1) (W2) (R3) (T2) (T3) (V2) (W13) (W14) (V15) (W15) (W17) (W16) (V16) (V17)
DISP1
C12
4
C117
C109
R169C123C111
C110
C12
2
C10
1
C83
C11
J2
C12
C8
C7
IC2
1
JC
JB1
1
R102
QSPIJTAGUSB
LD19
JP1LD
16
R94
1
R101R100R99
C53
C10
2C
57C
55C
103
C86
C87
C88
C84
C85
C49
C50
C65
C64
C78
C79
C76
C77
C95
C94
C97
C96
C46
C47
C48
C45
C61
C60
C62
C63
C80
CLK100MHz(W5)
C81
C99
C98
BTNL(W19)
BTND(U17)
BTNR(T17)
BTNU(T18)
| UNIVERSITY PROGRAM
BTNC (U18)
IC7
R170C125C127 R
162
R17
3R
165
SW
16
J6
J4C15 C21
IC1
LD17
LD18
5V Only
1
1
w w w . d i g i l e n t i n c . c o m
POWER
POWER
RX TX
3V3
GND
3V3
GND
GND
US
BE
XT
EXT
ON
PR
OG
OFF
PROG
DONEMO
DE
BUSY
USB
3V3
GND
3V3
GND
XILINX
ARTIX-7
テキストサンプル
36
STEPFPGA チャレンジャー 入門編 XILINX Artix-7版キットで学ぶ シリーズ!
➍
Programmer 画面
➊ Basys3 を PC に接続した状態で Programmer を起動すると,Programmer 画面の左上にある 「Hardware Setup」の右側に「USB-Blaster」が表示されます。
➋ Mode は「JTAG」を選択します。
➌ もし,表示されない場合は,「Hardware Setup」をクリックします。
➍ 表示されたダイアログの Currently se lected hardware のプルダウンメニュー から「USB-Blaster」を選択してしてく ださい。
プルダウンメニューに「USB-Blaster」が表示されていないようなら,Basys2 と PC の接続や P.15の USB ドライバのインストールを確認してください。
➋
以下の手順で進めてください。
04 プロジェクトの実行手順
3
Basys3 ボード レイアウト
Basys3 ボードのスペック
FPGA
デバイス名 Artix-7 XC7A35T
ロジックセル 33,280
ブロック RAM 1,800Kbits
DSP スライス 90
DDR3 256MB - 667MHz
内部クロック 450MHz
ユーザーI/O デバイス
LED 緑 16
プッシュスイッチ 5
スライドスイッチ 16
7セグメント LED 4 桁
USB ポート 1
VGA ポート 1
I/O pins 12-pin(Pmod)× 4
62
STEPFPGA チャレンジャー 入門編 XILINX Artix-7版キットで学ぶ シリーズ!
課題 07-3
セレクタ回路 – TSW8 によって TSW1,2,3 か TSW5,6,7 の状態を LED0,1,2 に出力
9. ビット幅のあるセレクタ回路
課題 07-1 で作成したセレクタ回路は入力がそれぞれ 1 ビットでした。今度は入力と出力を 3 ビットに拡張します。
1ビットの信号線は特に記述しませんが,ビット幅のある信号線は右図のように表現します。入出力にビット幅を持たせただけで,機能的には07-1 と変わりません。選択信号 S が 0 なら入力 A を Y に出力し,選択信号S が 1 なら入力 B を Y に出力します。
A
BY
セレクタの回路記号
S
33
3
OFF O NTSW 8 TSW 3 LED 0
TSW8 が OFF のとき,TSW1,2,3 の状態を LED0,1,2 に出力.TSW5,6,7 には反応しない
Desig
ned
& M
anuf
axtu
red
by T
eras
ic
J3
J1
J2
C72
REG3
R37
C74
C69
’ 0 ’
R46
R45
R49R48
R38
C71
REG2
R47 GP
IO1
JP2
+
C70
J5
REG14
1
L6L5
L7R55 R5
0
R58
C87
C79
C81
R82
R54R56R51C68
C67 R52R53
R57
SW1SW[3. .0 ]
C83 C73 C65
R19
C47
C49C52C53
L3
C63
C58
U9
ABCDEFGHJKLMNPRT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
D1
U6
R18CPLD ISP
R23
R32
R33
R34
R29
R30
L1 C35
U1
U4
C18 C1
R26
R17
R20 R2
2
L2C3
6
R27R28R24R25
Y1 50MHz
R35R36R31
R21
J6
U7
U4
ON
U3
1
4
C66
C86
CB5
Y2 24MHz LED7 LED6 LED5 LED4 LED3 LED2 LED1 LED0 KEY1 KEY0JP3
D4GPIO0
JP1
LOAD
POW
ER
D2
EP4CE22F17C6N
EPCS16N
1234
ON9A
OFFTSW 2
O NTSW 1 LED 2 LED 1
例:
O N OFFTSW 8 TSW 7 LED 0
TSW8 が ON のとき,TSW5,6,7 の状態を LED0,1,2 に出力.TSW1,2,3 には反応しない
Desig
ned
& M
anuf
axtu
red
by T
eras
ic
J3
J1
J2
C72
REG3
R37
C74
C69
’ 0 ’
R46
R45
R49R48
R38
C71
REG2
R47 GP
IO1
JP2
+
C70
J5
REG14
1
L6L5
L7R55 R5
0
R58
C87
C79
C81
R82
R54R56R51C68
C67 R52R53
R57
SW1SW[3. .0 ]
C83 C73 C65
R19
C47
C49C52C53
L3
C63
C58
U9
ABCDEFGHJKLMNPRT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
D1
U6
R18CPLD ISP
R23
R32
R33
R34
R29
R30
L1 C35
U1
U4
C18 C1
R26
R17
R20 R2
2
L2C3
6
R27R28R24R25
Y1 50MHz
R35R36R31
R21
J6
U7
U4
ON
U3
1
4
C66
C86
CB5
Y2 24MHz LED7 LED6 LED5 LED4 LED3 LED2 LED1 LED0 KEY1 KEY0JP3
D4GPIO0
JP1
LOAD
POW
ER
D2
EP4CE22F17C6N
EPCS16N
1234
ON9A
OFFTSW 6
O NTSW 5 LED 2 LED 1
例:
セレクタ回路07
106
STEP
2.Verilog HDL の文法
TSW1,TSW2,TSW3,TSW4 の入力条件から SLED4の点灯パターンに分岐させるには case 文を使うといいでしょう。
C 言語の switch 文と同様の条件分岐処理です。分岐条件が多数ある場合に利用します。case 文はある条件に適合したときの動作を記述することで結果を選択します。最後の default は他の条件が満たされなかった場合に実行されます。
case (信号名); 信号名の値 : 処理 ; 信号名の値 : 処理 ; … … default: 処理 ;endcase
➊ 条件分岐 case
課題 13-1
TSW1,TSW2,TSW3,TSW4 から入力された2進データを7セグメント LED に 10 進表示させるデコーダを作成してください。SLED4 に表示することにします。
4つの TSW の値と 7 セグメント表示の対応は右表のようになります。
1. プロジェクトの作成
STEP 13-1 用のプロジェクトを作成してください。
課題 13-1
課題 13-1
13 7セグカウンタ回路
TSW4 TSW3 TSW2 TSW1 SLED4
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
課題内容から操作手順まで丁寧に解説したCD収録のテキスト
サンプルソース全掲載! 弊社サイトからダウンロードも可能
適切な課題設定により無理なくステップアップできる
STEP 01 学習ボード Basys3 について FPGA の概要と本書採用の Basys3 ボードについて解説.
STEP 02 開発環境の構築 パソコンに FPGA の開発環境を構築する.Vivado と USB ドライバのインストールを行う.
STEP 03 プロジェクトの作成手順Vivado ではプログラムファイルなどをプロジェクトという単位で管理している.プロジェクトの作成を行う.
STEP 04 プロジェクトの実行手順 プロジェクトをターゲットボードである Basys3 で実行させる.
STEP 05 AND 回路 SW (スライドスイッチ)0 と SW 1 の両方を ON したときだけ LED 0 を点灯させる.
STEP 06 OR 回路 SW 0 または SW 1 のどちらかを ON したとき LED 0 を点灯させる.
STEP 07 セレクタ回路
SW 7 によって SW 0 か SW 1 の状態を選択して LED に出力(2入力セレクタ)7-1 論理ゲート回路にならって記述.7-2 三項演算子を使って記述.7-3 2入力セレクタの入出力を 3 ビット幅に拡張.7-4 4 入力セレクタ回路の作成.
STEP 08 フリップフロップSW0 を ON すると,LED0 が点灯.SW0 を OFF しても点灯を保持.非同期リセットと同期リセットの比較.
STEP 09 ISim を用いた回路シミュレーションシミュレーションの手順を学習.非同期リセットと同期リセットをシミュレーションで確認.
STEP 10 カウンタ回路 システムクロックを数える
4ビットカウンタの作成.10-1 システムクロック 50MHz をカウントアップして LED に結果を出力.10-2 システムクロック 50MHz を 1Hz に分周する回路の作成.10-3 1 秒毎に 0 ~ 9 までカウントする回路を作成.10-1 と 10-2 の合成.
STEP 11 カウンタ回路 スイッチ入力を数える
4ビットカウンタの作成.11-1 トグルスイッチ入力をカウントアップして LED に結果を出力.11-2 課題 11-1 にチャタリング対策を施す.11-3 課題 11-2 にカウントダウン機能を追加.
STEP 12 7セグカウンタ回路12-1 4 ビット2進データを7セグメント LED に 10 進表示させるデコーダの作成.12-2 デコーダを利用し、カウントアップ、カウントダウン、リセットを追加.
STEP 13 階層化構造 課題 12-2 の7セグカウンタ回路を,階層化を利用した記述に変更.
各 STEP の学習内容
※ ザイリンクスの名称およびロゴ、Vivado、Artix、その他本パンフレットに記載のブランド名は米国およびその他各国のザイリンクスの登録商標または商標です。※ Altera、Altera ロゴ、Cyclone は,Altera Corporation の登録商標または商標です。※ Microsoft,Winsows7,Winsows8.1,Winsows10 は,米国 Microsoft 社の商標または登録商標です 。 ※ その他の会社名,製品名は,それぞれの会社の商標または登録商標です。
Basys ™ 3 Airtix-7 FPGA ボ ー ド は、 高 速 SDRAM 16Mbytes および フラッシュ ROM 16Mbytes を搭載、内蔵の高速 USB2 ポート、入出力装置、データポートおよび拡張コネクターのコレクションと一緒に広範囲の設計が追加要素なく設計可能です。低コストで最先端技術の開発システムを所有することができます。
統合型設計環境 Vivado
Vivado は XILINX の FPGA/CPLD の統合型設計環境です。回路図とテキスト形式によるデザイン入力,統合された VHDL と Verilog HDL 合成,配置配線,タイミング検証,プログラミングなどの機能を兼ね備えています。XILINX デバイスの開発においてユーザはデザイン設計から実機評価までを Vivado を中心に行うことができます。VivadoはWEBからダウンロードしてお使いいただけます。
当社では,ALTERA の Cyclone Ⅳ を搭載した DE0-Nano ボードを採用した 「FPGA チャレンジャー入門編 ALTERA Cyclone Ⅳ版」もご用意しております。合わせてご検討ください。
JTAG/USB ポート
電源セレクタ 電源スイッチ
VGA ポート
7 セグメント LED ×4桁
Artix-7
起動モードセレクタ
電源 LED 赤
LED 緑× 16
プッシュスイッチ× 5
スライドスイッチ× 16
USB ホストコネクタ
リセットボタン
Pmod コネクタ(12 ピン I/O ヘッダ)×4