第2章VHDL - 集積システム設計学講座(橋本研究...

40
2006/10/10 ©2006, Masaharu Imai 1 2VHDL入門 大阪大学 大学院 情報科学研究科 今井 正治 E-mail: [email protected] http://www-ise1.ist.osaka-u.ac.jp/~imai/

Transcript of 第2章VHDL - 集積システム設計学講座(橋本研究...

Page 1: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 1

第2章 VHDL入門

大阪大学 大学院 情報科学研究科

今井 正治

E-mail: [email protected]://www-ise1.ist.osaka-u.ac.jp/~imai/

Page 2: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 2

講義内容

VLSI技術の現状と動向

VHDLの歴史

VHDLの特徴

回路図を用いた設計方法との比較

VHDLによる設計記述例

まとめ

Page 3: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 3

ゾウリムシ

ゾウリムシ属 Paramecium caudatum 細胞長 230μm

Webサイト「淡水プランクトンのページ」より(http://cyclot.hp.infoseek.co.jp/index.html)

Page 4: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 4

バクテリア

Campylobacter jejuni(カンピロバクター・ジェジュニ)

主に鶏肉を原因食品として食中毒を起こす食中毒菌の一種

(出展: 愛知県衛生研究所 http://www.pref.aichi.jp/eiseiken)

Page 5: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 5

ウィルス

(出展: 愛知県衛生研究所 http://www.pref.aichi.jp/eiseiken)

アイチウイルスの電子顕微鏡写真(―:50nm)

Page 6: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 6

y = 1E+132e-0.1528x

0.01

0.1

1

10

1975 1980 1985 1990 1995 2000 2005

Year

Des

ign

Rul

e (μ

m)

Trend of Design Rule

-15% / Year

Page 7: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 7

y = 6E-304e0.3506x

0.001

0.01

0.1

1

10

100

1000

1975 1980 1985 1990 1995 2000 2005

Year

Den

sity

(MTr

's)

Trend of Density

36% / Year

Page 8: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 8

y = 1E-249e0.2897x

1

10

100

1000

10000

1975 1980 1985 1990 1995 2000 2005

Year

Clo

ck (M

Hz)

Trend of Clock Frequency

29% / Year

Page 9: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 9

Design Productivity Crisis

1980 1990 2000 20101K

100K

10K

1M

100M

10M

1G

10G

100

10

1K

100K

10K

1M

10M

100M

Logi

c Tr

. / C

hip

Tr. /

Sta

ff-M

onth

Logic Tr./ChipTr. / Staff-Mo

Source: SEMATECH Year

58% / Yr. Compound Complexity Growth Rate

21% / Yr. Compound Productivity Growth Rate

Page 10: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 10

講義内容

VLSI技術の現状と動向

VHDLの歴史

VHDLの特徴

回路図を用いた設計方法との比較

VHDLによる設計記述例

まとめ

Page 11: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 11

VHDLの歴史 (1)VHSIC Hardware Description LanguageVHSICプロジェクト

Very High Speed Integrated Circuit最先端VLSI技術の開発(プロセス,デバイス,パッケージ,合成系,設計技術,設計言語,etc)1980年に開始

言語の目標複雑な回路(システム)の記述

標準ハードウェア記述言語

Page 12: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 12

VHDLの歴史 (2)1981年言語設計作業開始

1986年 IEEEに標準として提案

1987年12月 IEEEにLRM (LanguageReference Manual)を提出

1988年 3月 LRM発行 (Std 1076-1987)1990年~1993年 第1回目の改訂作業

1994年 6月 LRM発行 (Std 1076-1993)1994年~2000年 第2回目の改訂作業

2002年 LRM発行 (Std 1076-2001)

Page 13: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 13

講義内容

VLSI技術の現状と動向

VHDLの歴史

VHDLの特徴

回路図を用いた設計方法との比較

VHDLによる設計記述例

まとめ

Page 14: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 14

VHDLの特徴(1)

広い記述範囲

システムレベル~スイッチレベル

さまざまな設計手法のサポート

大規模システムの設計を可能にする設計手法

トップダウン設計,階層化設計,分割設計

処理系,プロセス技術に対する非依存性設計ツールメーカによらず,同じ動作が保証される

VLSIの製造メーカによらず,同じ動作が保証される

Page 15: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 15

VHDLの特徴(2)

高い記述能力

設計記述の抽象度

データ型,演算子,オーバロード

電子システムの設計記述

逐次処理と並行処理

ハードウェアのモデル化

構造の記述

信号と変数の区別

遅延時間の記述

イベント間の因果関係(デルタ遅延)

Page 16: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 16

VHDLのデータタイプ

タイプ(Type)

ファイル型(File)

アクセス型(Access)

複合型(Composite)

配列型(Array)

レコード型(Record)

スカラ型(Scalar)

列挙型(Enumerated)

実数型(Real)

整数型(Integer)

物理型(Physical)

Page 17: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 17

スカラ型

列挙型(bit 型, Boolean 型)

TYPE bit IS ( ‘0’, ‘1’ );TYPE Boolean IS ( FALSE, TRUE );TYPE character IS

( NUL, SOH, …, ‘A’, ‘B’, … , ‘a’, ‘b’, … );整数型(integer 型)

実数型(real 型)

物理型(time 型)

Page 18: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 18

Std_logic_1164 (MVL-9)TYPE std_logic IS (

‘U’, -- Uninitialized‘X’, -- Forcing Unknown‘0’, -- Forcing 0‘1’, -- Forcing 1‘Z’, -- High Impedance‘W’, -- Weak Unknown‘L’, -- Weak 0‘H’, -- Weak 1‘-’ -- Don’t care);

Page 19: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 19

物理型の例: 時間型

TYPE time IS RANGE <implementation_defined>UNITS

fs; -- femtosecond (10**-15sec) ps = 1000 fs; -- picosecondns = 1000 ps; -- nanosecondus = 1000 ns; -- microsecondms = 1000 us; -- millisecondsec = 1000 ms; -- secondmin = 60 sec; -- minutehr = 60 min; -- hour

END UNITS;

Page 20: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 20

複合型

配列型TYPE bus32_t IS ARRAY ( 0 TO 31 ) OF std_logic;

レコード型TYPE my_record_t IS

RECORDname: ARRAY ( 0 TO 15 ) OF CHAR;age: INTEGER;

END RECORD my_record_t;

Page 21: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 21

VHDLの演算子

算術演算子2項演算子+,-,*, /,mod,rem,**単項演算子+,-, abs

比較演算子=,/=,<,>,

<=,>=

論理演算子2項演算子and,or,nand,nor,xor,xnor単項演算子not

シフト・ローテート演算子

sll, srl, sla, sra, rll, rrl

Page 22: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 22

変数と信号

変数

プロセス,関数,手続きの中で使用可能

値の代入に際して遅延を伴わない

代入記号 :=

信号

どこででも使用可能

値の代入に際して遅延を伴う

代入記号 <=

Page 23: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 23

講義内容

VLSI技術の現状と動向

VHDLの歴史

VHDLの特徴

回路図を用いた設計方法との比較

VHDLによる設計記述例

まとめ

Page 24: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 24

回路図を用いた設計との比較

回路図(スケマティック)

シンボル

配線(信号)

RSFFの動作

RSFF

set

reset

q

qb

入力 出力

set reset q’ qb’

‘0’ ‘0’ q qb

‘0’ ‘1’ ‘0’ ‘1’

‘1’ ‘0’ ‘1’ ‘0’

‘1’ ‘1’ ‘X’ ‘X’

Page 25: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 25

RSFFのシンボルと回路図

シンボル(インタフェース)

回路図(実装方法)

set

reset

qb

q

U1

U2

RSFF

set

reset

q

qb

Page 26: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 26

エンティティ記述

シンボルに対応

外部とのインタフェースの記述

ポート名(信号の名前)

モード(信号の向き)入力: IN出力: OUT双方向: INOUT

ポートのタイプ(信号のデータ型)

RSFF

set

reset

q

qb

Page 27: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 27

RSFFのエンティティ記述

LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;

-- rsff: RS Flip FlopENTITY rsff IS

PORT(set: IN std_logic;reset: IN std_logic;q: OUT std_logic;qb: OUT std_logic);

END ENTITY rsff;

コメント

RSFF

set

reset

q

qb

ポート宣言• ポート名• モード• 型

ライブラリの宣言

Page 28: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 28

アーキテクチャ記述

エンティティの実装方法を記述

ビヘイビア記述(シーケンシャル文)

データフロー記述(コンカレント文)

構造記述(ネットリスト)

アーキテクチャ記述はエンティティと関連つけられている

同じエンティティに複数のアーキテクチャ記述を対応させることが可能

Page 29: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 29

エンティティとアーキテクチャの対応

Entity rsffEntity rsff

Architecture dataflow

Architecture dataflow

Architecture structure

Architecture structure

Architecture behavior

Architecture behavior

抽象度 高低

Page 30: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 30

講義内容

VLSI技術の現状と動向

VHDLの歴史

VHDLの特徴

回路図を用いた設計方法との比較

VHDLによる設計記述例

まとめ

Page 31: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 31

RSFFのビヘイビア記述

ARCHITECTURE behavior OF rsff ISBEGIN

PROCESS( set, reset )BEGIN

ASSERT( set /= '1' and reset /= '1' )REPORT “inhibited input” SEVERITY ERROR;

IF set = '0' AND reset = '1' THENq <= '0' AFTER 2 ns;qb <= '1' AFTER 4 ns;

ELSIF set = '1' AND reset = ’0' THENq <= '1' AFTER 4 ns;qb <= '0' AFTER 2 ns;

END IF;END PROCESS;

END ARCHITECTURE behavior;

アサーションプロセス文

プロセスの内部の文は逐次的に実行される

Page 32: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 32

RSFFの動作(タイミング・チャート)

reset

set

Q

QB

‘0’

‘0’

‘U’

‘U’

‘1’

‘1’

‘1’‘0’

‘0’

10 20 30 40 50 60 70 80

‘0’

‘0’

‘0’

‘0’

‘0’

‘1’

‘1’

‘1’

‘1’

‘1’

‘0’

0 ns

Page 33: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 33

RSFFのデータフロー記述

ARCHITECTURE data_flow OF rsff ISsignal temp1, temp2: std_logic;

BEGINtemp1 <= temp2 NOR set AFTER 2 ns;temp2 <= temp1 NOR reset AFTER 2 ns;q <= temp2;qb <= temp1;

END ARCHITECTURE data_flow;コンカレント文は並列(コンカレント)

に実行される

Page 34: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 34

RSFFの構造記述

ARCHITECTURE netlist OF rsff ISCOMPONENT nor2 IS

PORT (a: IN std_logic;b: IN std_logic;c: OUT std_logic);

END COMPONENT nor2 ;signal temp1, temp2: std_logic;

BEGINu1: nor2 PORT MAP ( set, temp2, temp1 );u2: nor2 PORT MAP ( reset, temp1, temp2 );q <= temp2;qb <= temp1;

END ARCHITECTURE netlist;

set

reset

qb

q

U1

U2

temp1

temp2

コンポーネントインスタンシエイション

Page 35: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 35

nor2のエンティティ記述

LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;

ENTITY nor2 ISPORT(

a: IN std_logic;b: IN std_logic;c: OUT std_logic);

END ENTITY nor2;

Page 36: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 36

nor2のデータフロー記述

ARCHITECTURE data_flow OF nor2 ISBEGIN

c <= a NOR b AFTER 2 ns: END ARCHITECTURE data_flow;

Page 37: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 37

コンカレント信号代入文

ハードウェアの並行動作をモデル化する記述方法

複数の動作が同期を取りながら並列に実行される

実行(シミュレーション)の順序

イベント(値の変化)が起きた信号を参照している文が次に実行(シミュレート)される

イベントのスケジューリング

イベント(信号値の変化)を “未来”の事象として

タイムホイールに登録し,指定された時刻に信号値の変化を起させる

デフォールトの遅延時間

デルタ時間: イベントの間の半順序関係を保つための仮想の時間

単位

Page 38: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 38

講義内容

VLSI技術の現状と動向

VHDLの歴史

VHDLの特徴

回路図を用いた設計方法との比較

VHDLによる設計記述例

まとめ

Page 39: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 39

まとめ(1)

VLSI技術の現状と動向

VHDLの歴史

VHDLの特徴

IEEE標準(Std 1076)

回路図を用いた設計方法との比較エンティティ: インタフェースを記述

アーキテクチャ: 実装方法を記述

Page 40: 第2章VHDL - 集積システム設計学講座(橋本研究 …imai/class/DIGITAL/PDF...2006/10/10 ©2006, Masaharu Imai 2 講義内容 VLSI技術の現状と動向 VHDLの歴史

2006/10/10 ©2006, Masaharu Imai 40

まとめ(2)

設計の記述スタイルビヘイビア記述

データフロー記述

構造記述

VHDLとプログラミング言語(SPL)の違い

構造の記述が可能

時間の概念を持つ

逐次処理と並行処理の区別

変数と信号の区別