• 検索結果がありません。

デジタル回路入門

N/A
N/A
Protected

Academic year: 2021

シェア "デジタル回路入門"

Copied!
40
0
0

読み込み中.... (全文を見る)

全文

(1)

2. 組み合わせ回路入門

2.2. 実習 Verilog-HDL記述

Open-It FPGAトレーニングコース(初級編) 第9版

(2)

デジタル回路の構成要素

全てのデジタル回路は

この

4つの要素(回路)のみ

で構成されている

4要素のHDL記述を知っていれば最低限の知識としては十分

O=A&B;

O=A|B;

O=~I;

2 Open-It FPGAトレーニングコース(初級)

INV

(3)

HDL:

Hardware Description Language

テキストファイルで回路表現する為の言語

ソフトウエア・プログラムの様に書ける

最近は

HDLが主流ですが何故でしょう?

代表的な言語はVerilog-HDLとVHDL

ちなみに、FPGA実装時に回路図入力もできます

3 Open-It FPGAトレーニングコース(初級)

(4)

回路表現方法

回路図

Hardware

Description

Language (HDL)

Verilog-HDL, VHDL, SystemCなど

部品とその配線情報が回路情報

主な表現方法

FPGA回路はHDLで書く事が多い

4要素の接続で決まるので、その接続を表現できれば良い

4 Open-It FPGAトレーニングコース(初級)

(5)

何故

HDLを使うのか?

作業効率が悪い

基本的に

1信号を1本の線で表現

入力ミスが多くなる

大規模回路では読みにくい

回路図が複数枚になると信号の接続先を調べる

だけでも大変

回路図入力には幾つかの問題がある

5 Open-It FPGAトレーニングコース(初級)

(6)

HDLの魅力

設計作業を効率よく行うために誕生

効率良く入力できる事で

入力ミスを少なく

大規模回路が扱えるようになった

読みやすい

他には、

コードを仕様書に近づける

回路動作の理解は回路図の方が優れています。

ブロック図、回路図なども組み合わせて設計を進めてください

6 Open-It FPGAトレーニングコース(初級)

(7)

HDLの注意

魔法の言語ではありません

HDLを使えばハードを知らなくてもハード設計が

できると思っている人がいますが・・・

作業効率を上げる為の手法です

それ以上の期待をしてはいけません

回路図の接続をテキストファイルで表現しただけ

です

回路を理解しなければ設計はできません

7 Open-It FPGAトレーニングコース(初級)

(8)

Verilog HDL

テキストファイルとして書きます

テキストエディタを使って書きます

各自好きなエディタを使ってください

通常拡張子は

.v

文法がC言語に

似ている

しかし、

動作はまったく異なる

ので注意!!

回路図から

HDLへ書き直すと理解しやすい

8 Open-It FPGAトレーニングコース(初級)

(9)

最初に衝撃的な事実!

HDL文法的に

正しくても

動かない回路

が生成される事がある!

回路を考え、その回路を

HDLで記述して下さい。

回路を考えずにコーディングしてはいけません。

この様な事が起きるのでハードウエア設計が難解だと思う人が少なくないようです

9 Open-It FPGAトレーニングコース(初級)

(10)

何故、その様な事が起きるのか?

シミュレーション用の記述も含まれている

シミュレーションのみで使用する時は

PC上の動作

に限定されるので回路化する必要が無い

回路を言語で記述するために設計されている

言語で回路を記述、生成するためではない

10 Open-It FPGAトレーニングコース(初級)

(11)

どの様に対応するのか?

文を記述することで設計しない

回路を考えた後で言語を用いて回路を記述す

11 Open-It FPGAトレーニングコース(初級)

(12)

Open-It FPGAトレーニングコース(初級) 12

(13)

Open-It FPGAトレーニングコース(初級) 13

詳細は付録「

Verilog-HDL入門」

または参考文献を参照してください

トレーニングコースで使用する文法のみ解説します

ここで紹介する書き方の他に様々な書き方があります。

書籍に色々な書き方が紹介されていますので

気に入った、凝った書き方や美しい書き方を見つけてください。

(14)

最初の目標

LED0

SW_A

SW_B

ANDをVerilog HDLで記述してみましょう

14 Open-It FPGAトレーニングコース(初級)

FPGA

ある回路の集まりを回路ブロックと呼ぶ

Verilog-HDLではモジュールと呼びます

(15)

テキストファイルについて

Verilog-HDLコードはテキストファイルとして作成する

拡張子は

”.V”

通常

1ファイルで1回路(モジュール)

数字から始まるモジュール名は使用しない

文法では決まっていないが問題を起きにくくするために奨励

大文字、小文字は区別される

コメントは

/*から*/、または//から行末まで

基本的に

1文は;で終わる

15 Open-It FPGAトレーニングコース(初級)

(16)

演算子

Open-It FPGAトレーニングコース(初級) 16

O=A&B;

O=A|B;

O=~I;

O

I

O

A

B

A

B

O

A

O

B

O=A^B;

(17)

Assign文

assign文をつかう

明示的に組み合わせ回路である事を示す

例)

AND回路

Assign O = A &B;

17 Open-It FPGAトレーニングコース(初級)

(18)

ANDゲート回路

LED0

SW_A

SW_B

18 Open-It FPGAトレーニングコース(初級)

TSET.V

モジュール名:

TEST

ファイル名:TEST.V

入力信号:

SW_A, SWB

出力信号:

LED0

このモジュールを

Verilog-HDLで書くと・・・・・

(19)

ANDゲートのHDLコード

Open-It FPGAトレーニングコース(初級) 19

moduleで始まり

endmoduleで終わる

Module名 回路の名前

区別できる好きな名前をつけてよい、ファイ ル名と同じにした方が良い

()の中に入出力信号線リストを書く

• 信号名+入出力の属性定義

• input, output, inoutの3種類

回路はassignを使用して書く、右辺が入力、左辺が出力

コメント

コメント

文の最後は;で終わる

ポートリストの最後は

,が無いので注意

(20)

ここから実習です

20 Open-It FPGAトレーニングコース(初級)

(21)

ISE

ISEはXilinx社のFPGA開発統合環境

様々なツールを

ISE画面から操作できる

ISEを使って回路入力やFPGAデータ生成を

行います。

Open-It FPGAトレーニングコース(初級) 21

(22)

プロジェクト作成

作業ディレクトリの作成

ISEプロジェクトの作成

作業ディレクトリの指定

使用デバイスの指定

22

作業内容

作業をするめに必要な環境を設定します

Open-It FPGAトレーニングコース(初級)

プロジェクトは一つのFPGAで一つ作ります

(23)

ISEのプロジェクトについて

一つの

FPGAで一つ作ります

異なる複数の回路を一つのプロジェクトに入れて

はいけません

回路が異なればプロジェクトも分けます。

新しいプロジェクトを作るときは新しいフォルダ

を作り、その中に作ります

一つの作業ディレクト内に複数プロジェクトを作っ

てはいけません

Open-It FPGAトレーニングコース(初級) 23

(24)

作業ディレクトリの作成

以下を

ISE作業ディレクトリとします

C:¥Temp¥FPGA_Seminarを作成して下さい

この資料では上を作業ディレクトリして使用しますが、他のフォルダでも構いません。

フォルダ名に日本語やスペースがあるディレクトリはやめておいた方がよいです

24 Open-It FPGAトレーニングコース(初級)

(25)

ISEを起動しましょう!

ISE Project navigatorを立ち上げて下さい

アイコンをダブルクリック!

または、

全てのプロブラム→ Xilinx Design Tools→

Xilinx ISE Design Suite 14.5→ ISE Design Tools→

Project Navigator

(26)

ISEプロジェクトの作成

Open-It FPGAトレーニングコース(初級) 26

(27)

プロジェクトファイルの作成

プロジェクト名と作業ホルダの指定

HDLで記述するのでこのまま

C:¥Temp¥FPGA_Seminarまで選択

TESTはNameを入れると自動で付加される

Open-It FPGAトレーニングコース(初級)

Location

27

ファイル選択画面から

ディレクトリを選択

TESTと入力

(28)

プロジェクトファイルの作成

デバイスの指定

使用するデバイスを選択する

Open-It FPGAトレーニングコース(初級) 28

(29)

確認画面

Open-It FPGAトレーニングコース(初級) 29

設定内容が正しい事を確認

(30)

プロジェクト作成終了

30 Open-It FPGAトレーニングコース(初級)

(31)

Verilog-HDLモジュール作成

AND回路をHDLで記述します。

ファイル名:

TEST.v

モジュール名:

TEST

31 Open-It FPGAトレーニングコース(初級)

(32)

新しいモジュールの追加

32

xc3s50an-4tqg144

の上で右クリック

②New Source…をクリック

Open-It FPGAトレーニングコース(初級)

(33)

ソースファイル名の指定

33

②ファイル名 TEST.vを入力

Verilog Moduleをクリック

③チェックマークを確認

④クリック

Open-It FPGAトレーニングコース(初級)

(34)

ポート名の指定

34

①モジュール名

TESTを入力

②ダブルクリックして信号を入力

③信号の方向を設定

Open-It FPGAトレーニングコース(初級)

④クリック

(35)

モジュール確認

35

①正しいか確認

Open-It FPGAトレーニングコース(初級)

(36)

作成されたひな型

36

ここにAND回路のコードを書く

Open-It FPGAトレーニングコース(初級)

(37)

AND回路の再確認

LED0

SW_A

SW_B

37

この部分のひな型が出来た

TEST

ANDを記述して下さい

Open-It FPGAトレーニングコース(初級)

(38)

TEST.vにAND回路を追加

38

書き加えるのはこの1行

outputはwireと同じ意味なのでwire宣言は要らない

組み合わせ回路はassign文で書きます

Open-It FPGAトレーニングコース(初級)

(39)

書き終わったらセーブ

39 Open-It FPGAトレーニングコース(初級)

(40)

履歴

2012/5/17 第1版 ISE13.4対応 内田智久(Esys), 林達也(大阪大学)

2013/5/10 第9版 ISE14.5対応 内田智久(Esys)

参照

関連したドキュメント

ポンプの回転方向が逆である 回転部分が片当たりしている 回転部分に異物がかみ込んでいる

前回パンダ基地を訪れた時と変わらず、パンダの可愛らしい姿、ありのままの姿に癒されまし

限られた空間の中に日本人の自然観を凝縮したこの庭では、池を回遊する園路の随所で自然 の造形美に出会

今回の調壺では、香川、岡山、広島において、東京ではあまり許容されない名詞に接続する低接

このように雪形の名称には特徴がありますが、その形や大きさは同じ名前で

第20回 4月 知っておきたい働くときの基礎知識① 11名 第21回 5月 知っておきたい働くときの基礎知識② 11名 第22回 6月

 在籍者 101 名の内 89 名が回答し、回収 率は 88%となりました。各事業所の内訳 は、生駒事業所では在籍者 24 名の内 18 名 が回答し、高の原事業所では在籍者

業況 DI(△9.9)は前期比 5.9 ポイント増と なり、かなり持ち直した。全都(△1.9)との比 較では 19