2
課題中心 実習主体 ステップ学習 膨大な基礎知識すべてを学ぶことは実際的ではありません。 課題を解いていくことによって、知らず知らずのうちに必要な知識・技術が身につきます。 テキストを読むだけでは分かったことになりません。 実機を使って確認してこそ技術が自分のものになります。 簡単な課題から徐々に難しい高度な課題にステップアップします。 そのため無理なく,楽しく学習を進めることができます。 パッケージ内容 URL:http://www.adwin.com/  E-mail:[email protected] 〒733-0002 広島市西区楠木町3-10-13 TEL: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 お待たせしました! 教育関係者の皆様から ご要望の多かった ザイリンクス版が ついに登場です

qUpV b{'1(xfw ¢Í» ï â ²× A PLOW 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

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: qUpV b{'1(xfw ¢Í» ï â ²× A PLOW 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

課題中心

実習主体

ステップ学習

膨大な基礎知識すべてを学ぶことは実際的ではありません。課題を解いていくことによって、知らず知らずのうちに必要な知識・技術が身につきます。

テキストを読むだけでは分かったことになりません。実機を使って確認してこそ技術が自分のものになります。

簡単な課題から徐々に難しい高度な課題にステップアップします。そのため無理なく,楽しく学習を進めることができます。

パッケージ内容

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 お待たせしました!教育関係者の皆様からご要望の多かった

ザイリンクス版がついに登場です

Page 2: qUpV b{'1(xfw ¢Í» ï â ²× A PLOW 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

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