第2章VHDL - 集積システム設計学講座(橋本研究...
Transcript of 第2章VHDL - 集積システム設計学講座(橋本研究...
2006/10/10 ©2006, Masaharu Imai 1
第2章 VHDL入門
大阪大学 大学院 情報科学研究科
今井 正治
E-mail: [email protected]://www-ise1.ist.osaka-u.ac.jp/~imai/
2006/10/10 ©2006, Masaharu Imai 2
講義内容
VLSI技術の現状と動向
VHDLの歴史
VHDLの特徴
回路図を用いた設計方法との比較
VHDLによる設計記述例
まとめ
2006/10/10 ©2006, Masaharu Imai 3
ゾウリムシ
ゾウリムシ属 Paramecium caudatum 細胞長 230μm
Webサイト「淡水プランクトンのページ」より(http://cyclot.hp.infoseek.co.jp/index.html)
2006/10/10 ©2006, Masaharu Imai 4
バクテリア
Campylobacter jejuni(カンピロバクター・ジェジュニ)
主に鶏肉を原因食品として食中毒を起こす食中毒菌の一種
(出展: 愛知県衛生研究所 http://www.pref.aichi.jp/eiseiken)
2006/10/10 ©2006, Masaharu Imai 5
ウィルス
(出展: 愛知県衛生研究所 http://www.pref.aichi.jp/eiseiken)
アイチウイルスの電子顕微鏡写真(―:50nm)
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
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
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
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
2006/10/10 ©2006, Masaharu Imai 10
講義内容
VLSI技術の現状と動向
VHDLの歴史
VHDLの特徴
回路図を用いた設計方法との比較
VHDLによる設計記述例
まとめ
2006/10/10 ©2006, Masaharu Imai 11
VHDLの歴史 (1)VHSIC Hardware Description LanguageVHSICプロジェクト
Very High Speed Integrated Circuit最先端VLSI技術の開発(プロセス,デバイス,パッケージ,合成系,設計技術,設計言語,etc)1980年に開始
言語の目標複雑な回路(システム)の記述
標準ハードウェア記述言語
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)
2006/10/10 ©2006, Masaharu Imai 13
講義内容
VLSI技術の現状と動向
VHDLの歴史
VHDLの特徴
回路図を用いた設計方法との比較
VHDLによる設計記述例
まとめ
2006/10/10 ©2006, Masaharu Imai 14
VHDLの特徴(1)
広い記述範囲
システムレベル~スイッチレベル
さまざまな設計手法のサポート
大規模システムの設計を可能にする設計手法
トップダウン設計,階層化設計,分割設計
処理系,プロセス技術に対する非依存性設計ツールメーカによらず,同じ動作が保証される
VLSIの製造メーカによらず,同じ動作が保証される
2006/10/10 ©2006, Masaharu Imai 15
VHDLの特徴(2)
高い記述能力
設計記述の抽象度
データ型,演算子,オーバロード
電子システムの設計記述
逐次処理と並行処理
ハードウェアのモデル化
構造の記述
信号と変数の区別
遅延時間の記述
イベント間の因果関係(デルタ遅延)
2006/10/10 ©2006, Masaharu Imai 16
VHDLのデータタイプ
タイプ(Type)
ファイル型(File)
アクセス型(Access)
複合型(Composite)
配列型(Array)
レコード型(Record)
スカラ型(Scalar)
列挙型(Enumerated)
実数型(Real)
整数型(Integer)
物理型(Physical)
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 型)
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);
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;
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;
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
2006/10/10 ©2006, Masaharu Imai 22
変数と信号
変数
プロセス,関数,手続きの中で使用可能
値の代入に際して遅延を伴わない
代入記号 :=
信号
どこででも使用可能
値の代入に際して遅延を伴う
代入記号 <=
2006/10/10 ©2006, Masaharu Imai 23
講義内容
VLSI技術の現状と動向
VHDLの歴史
VHDLの特徴
回路図を用いた設計方法との比較
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’
2006/10/10 ©2006, Masaharu Imai 25
RSFFのシンボルと回路図
シンボル(インタフェース)
回路図(実装方法)
set
reset
qb
q
U1
U2
RSFF
set
reset
q
qb
2006/10/10 ©2006, Masaharu Imai 26
エンティティ記述
シンボルに対応
外部とのインタフェースの記述
ポート名(信号の名前)
モード(信号の向き)入力: IN出力: OUT双方向: INOUT
ポートのタイプ(信号のデータ型)
RSFF
set
reset
q
qb
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
ポート宣言• ポート名• モード• 型
ライブラリの宣言
2006/10/10 ©2006, Masaharu Imai 28
アーキテクチャ記述
エンティティの実装方法を記述
ビヘイビア記述(シーケンシャル文)
データフロー記述(コンカレント文)
構造記述(ネットリスト)
アーキテクチャ記述はエンティティと関連つけられている
同じエンティティに複数のアーキテクチャ記述を対応させることが可能
2006/10/10 ©2006, Masaharu Imai 29
エンティティとアーキテクチャの対応
Entity rsffEntity rsff
Architecture dataflow
Architecture dataflow
Architecture structure
Architecture structure
Architecture behavior
Architecture behavior
抽象度 高低
2006/10/10 ©2006, Masaharu Imai 30
講義内容
VLSI技術の現状と動向
VHDLの歴史
VHDLの特徴
回路図を用いた設計方法との比較
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;
アサーションプロセス文
プロセスの内部の文は逐次的に実行される
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
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;コンカレント文は並列(コンカレント)
に実行される
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
コンポーネントインスタンシエイション
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;
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;
2006/10/10 ©2006, Masaharu Imai 37
コンカレント信号代入文
ハードウェアの並行動作をモデル化する記述方法
複数の動作が同期を取りながら並列に実行される
実行(シミュレーション)の順序
イベント(値の変化)が起きた信号を参照している文が次に実行(シミュレート)される
イベントのスケジューリング
イベント(信号値の変化)を “未来”の事象として
タイムホイールに登録し,指定された時刻に信号値の変化を起させる
デフォールトの遅延時間
デルタ時間: イベントの間の半順序関係を保つための仮想の時間
単位
2006/10/10 ©2006, Masaharu Imai 38
講義内容
VLSI技術の現状と動向
VHDLの歴史
VHDLの特徴
回路図を用いた設計方法との比較
VHDLによる設計記述例
まとめ
2006/10/10 ©2006, Masaharu Imai 39
まとめ(1)
VLSI技術の現状と動向
VHDLの歴史
VHDLの特徴
IEEE標準(Std 1076)
回路図を用いた設計方法との比較エンティティ: インタフェースを記述
アーキテクチャ: 実装方法を記述
2006/10/10 ©2006, Masaharu Imai 40
まとめ(2)
設計の記述スタイルビヘイビア記述
データフロー記述
構造記述
VHDLとプログラミング言語(SPL)の違い
構造の記述が可能
時間の概念を持つ
逐次処理と並行処理の区別
変数と信号の区別