40
ディジタル設計 (A1) (Chap. 1) @ F301 http://www.ngc.is.ritsumei.ac.jp/~ger/Lectures/Digital2012/index.html 情報シ学科 次世代ピューティング研究室 山下 [email protected] 0

ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

ディジタル設計 (A1) (Chap. 1) @ F301

http://www.ngc.is.ritsumei.ac.jp/~ger/Lectures/Digital2012/index.html

情報システム学科 次世代コンピューティング研究室情報シ テ 学科 次世代 ン ティング研究室山下 茂 [email protected]

0

Page 2: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

目次

1. デジタル回路設計に関する概要の確認

• 基本的な用語• 基本的な用語

• LSI設計の流れ

種類• LSIの種類

現代用語の基礎知識ともいえます!現代用語の基礎知識ともいえます!

★下線がある用語は,要チェック

試験で高得点を目指す場合,意味,英語のフルスペルはチェック

1

Page 3: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

ディジタル設計とは

デ ジタルシステム( ンピ タ ドウ ア•ディジタルシステム(コンピュータハードウェアを代表とする)の設計法

実践 な論 路•実践的な論理回路の知識

計算機システム ディジタル設計

計算機構成論

計算機システム

計算機構成入門

情報システム学実験I

論理回路

情報システム学実験I

2

Page 4: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

コンピュータの歴史

1946年 ENIAC1949年 EDSAC プログラム内蔵方式1951年 UNIVAC(商用 ンピ タ)1951年 UNIVAC(商用コンピュータ)1954年 TRADIC(トランジスタ)1964年 IBM System360(汎用機)1964年 IBM System360(汎用機)1970年代 ミニコン(DEC)、スパーコン(CRAY)1980年代 EWS1990年代 PC

第1世代 真空管 第4世代 VLSI第1世代: 真空管第2世代: トランジスタ第3世代: 集積回路

第4世代: VLSI第5世代: ?

3

第3世代: 集積回路

Page 5: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

半導体開発の歴史

1947 トランジスタの発明(ショックレイ、バーディン、ブラッテン)

1958 集積回路の開発(TI社キルビー)1959 プレ ナ型ICの開発(F i hild社ノイス)1959 プレーナ型ICの開発(Fairchild社ノイス)1970 1KDRAMの開発(Intel社)1971 4ビットマイコンの開発(Intel社)1971 4ビットマイコンの開発(Intel社)70年代~ マイコン、DRAMの開発80年代~ ASICの登場90年代~ SOCの登場

4

Page 6: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

CMOS NAND と NOR• 2 入力NAND

– 入力が 2 つとも 1 なら 0、そうでなければ 1

• 2 入力 NOR– 入力が 2 つとも 0 なら 1、そうでなければ 0

x

xz

yz

yy

x,yの値を入れて確認してください。

トランジスタを組み合わせて 論理ゲートができる

5

トランジスタを組み合わせて、論理ゲ トができる。

Page 7: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

お絵かきスペース

6

Page 8: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

DRAMチップ容量の推移

1000

(Mbit)

100

1000

64M

256M

10

1M

4M

16M

1

64K

256K

1M

0.01

0.116K

64K

1977 1980 1983 1985 1989 1992 1996 1999

ムーアの法則:LSIの集積度は3年に4倍向上する

7

ム アの法則:LSIの集積度は3年に4倍向上する

Page 9: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

マイクロプロセッサのトランジスタ数の推移マイクロプロセッサのトランジスタ数の推移

10M

トランジスタ数

1M

100K

10K

100K

1

10K

1K1970 1975 1980 1985 1990 1995 2000

インテルのプロセッサ開発はムーアの法則を目標としている

8

インテルのプロセッサ開発はムーアの法則を目標としている

Page 10: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

LSI (Large Scale Integration)

• 大規模集積回路

Si (シリコン)基板に実現された論理回路Si (シリコン)基板に実現された論理回路

– IC (Integrated Circuit) (100-1000ゲート)

– LSI (Large Scale Integration)(数千~数万)

– VLSI (Very LSI) (10万以上)S ( e y S ) ( 0万以 )

– ULSI (Ultra LSI) (100万以上)

TTL7400 (4 Gates) l ( )

9

TTL7400 (4 Gates) Altera FPGA (70000 Gates)

Page 11: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

LSILSI設計の流れ設計の流れ

作りたいもの(仕様) 仕様設計

動作記述言語 による記述 RTL設計(機能設計)

ゲートレベル設計

基本的なコンポーネントによる回路

•ゲートの配置

レイアウト設計

マスクパターン•どう配線するかの決定

マスクパタ ン

RTL: Register Transfer Level

10

製造工程 RTL: Register Transfer Level

Page 12: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

お絵かきスペース

11

Page 13: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

module stopwatch(reset,clock,switch,sec1 lap,sec2 lap,min lap,lp ( , , , _ p, _ p, _ p,ap);input reset,clock,switch,lap;

ハードウェア記述言語によるストップウオッチ記述の一部

output [3:0] sec1_lap;output [3:0] sec2_lap;output [3:0] min lap; 講義が終わればoutput [3:0] min_lap;

reg[3:0] sec1; // 10sinn

この講義が終われば、この意味がわかるはず?

g[ ] ;…always @ (posedge clock or negedge reset ) begin

if(reset == 1'b0) beginsec1_lap <= 4'b0000;lap state <= L1;lap_state <= L1;

…endmodule

12

Page 14: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

合成後の回路図

13

Page 15: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

論理回路

トランジスタとそれをつなぐ配線で実現

AND

複数のトランジスタで実現

NOT複数のトランジスタで実現

OROR

14

Page 16: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

配置配線(1)

15

Page 17: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

配置配線(2)

16

Page 18: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

配置配線(3)

17

Page 19: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

完成した LSI のレイアウト

Pipeline CPU LSI (5 Designs)Pipeline CPU LSI (5 Designs) VDEC Rohm, 0.6um, 2 PolySi, 3 Metal, 4.5mm x 4.5mm90k Transistor, Feb. 1999

18

,

Page 20: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

仕様設計

•ソフトウェアインタフェース設計–命令セット、レジスタ、アドレッシングモード

•外部インタフェース設計–外部信号、タイミング定義

•アーキテクチャ設計–パイプライン段数、パイプラインステージ

–割り込み制御

–キャッシュサイズ

19

Page 21: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

RTL設計(機能設計) 講義でやります

•仕様書をもとに機能分割を行い、各ブロックの中の構成・動作を決定する

•ブロックを組合せ回路とレジスタで表現する

Behavior ・ Level:クロックの概念がない記述レベルプログラミング言語に相当

高位合成

Register Transfer Level レジスタへの代入を明示的に記述

高位合成

20

Page 22: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

お絵かきスペース

21

Page 23: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

ゲートレベル設計 講義でやります

• RTL記述を基本セル(AND、OR等セルライブラリに登録されている)に変換する

•論理合成ツールにより自動化

22

Page 24: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

レイアウト設計

•フロアプラン:チップ上でのブロックの配置

•配置配置

•配線

デザインル ルチ ック•デザインルールチェック

23

Page 25: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

設計の自動化

• 70年代:レイアウトマスク設計の自動化–レイアウト図面入力

• 80年代:論理レベル設計の自動化–回路図入力

–ゲートレベルシミュレーション

–自動配置配線

• 90年代:ハイレベル設計の自動化–ハードウェア記述言語

–自動論理合成

24

Page 26: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

ハードウェア記述言語

VHDL• VHDL– 米国国防省(DoD)のプロジェクトとして発足

– 1987年IEEEで標準化1987年IEEEで標準化

– ADAをベースとした言語

• VerilogHDL– 1986年ゲートウェイ社が開発

– 言語仕様が公開され、第3者でも開発可能

– C言語をベースとした言語C言語をベ スとした言語

– IEEEで標準化

• SFL– NTTが開発

25

Page 27: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

HDLを用いた設計のメリット

•設計の効率化

–半導体ベンダーにとらわれない設計が可能

–論理合成による設計期間短縮

–設計資産の活用(ライブラリの利用)設計資産 活用(ラ ラリ 利用)

•検証精度の向上

–設計の途中で検証できる–設計の途中で検証できる

–入出力の記述・観測が容易

システムレベルの検証が可能–システムレベルの検証が可能

26

Page 28: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

LSIの分類

汎用LSIMPU, メモリ,モデム用IC、などMPU, メ リ, デム用IC、など

ASIC(Application Specific IC)ASIC(Application Specific IC)・フルカスタム・ゲートアレイ

FPGA (Field Programmable Gate Array)再構成可能再構成可能

リコンフィギュラブルロジック

新製品を作るときに、フルカスタム、ゲートアレイ、FPGAのどれでいくか?(3つの方法の比較ができますか?)(今日の講義が終わった後で分かればOK 次回テストで聞くかも?)

27

(今日の講義が終わった後で分かればOK:次回テストで聞くかも?)

Page 29: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

ゲートアレイ(Gate Array)•シリコンウェハーに基本的なトランジスタをアレイ状にあらかじめ配置し、配線層を変更するだけで回路機能を実現する

セル領域セル領域

入出力パッド入出力パッド

28

Page 30: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

FPGA

場 プ グ 能な•現場(field)でプログラム可能なLSI–機能を書き換えることができる

•構造

–論理を変更可能な論理ブロック

–論理ブロック間を接続する切り替え可能な配線

29

Page 31: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

お絵かきスペース

30

Page 32: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

LSIの設計コストと生産コスト

設計コスト設計コスト

フルカスタム

ゲートアレイゲ トアレイ

FPGA

生産コスト(製品一つ当り単価)

少品種大量生産 多品種少量生産

31

少品種大量生産 → 多品種少量生産

Page 33: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

LSIの生産量と価格

ゲート当り

FPGA単価

ゲートアレイ

フルカスタム

生産量

32

Page 34: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

SRAM型FPGAの構造

CLB CLB CLB CLB

LUT FFCLB CLB CLB CLB

CLB CLB CLB CLB

CLB CLB CLB CLB

CLB(Configurable Logic Block)の構造スイッチ

マトリクス

33

マトリクス

Page 35: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

(LUT:Look Up Table)= メモリ

ABCD Z

メモリの内容

Look Up Table

AddressABCD Z0000 01000 10100 1

A ZLook Up TableROM/RAM

Data0100 11100 00010 11010 1

BCD

Z

0110 01110 10001 11001 0

D

1001 00101 11101 10011 0•ROM:Read Only Memory

ちなみに、何の略?

0011 01011 10111 11111 0

ROM:Read Only Memory•RAM:Random Access Memory

34

Page 36: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

お絵かきスペース

35

Page 37: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

真理値表FPGAFPGAの基本論理要素の基本論理要素 -- LUTLUTABCD Z0000 01000 10000100 11100 00010 11010 1

AB

1010 10110 01110 10001 1等価

Z0001 11001 00101 11101 1

等価

CD 0011 0

1011 10111 11111 0

D

1111 0

メモリをベースとした Look-up Table (LUT) によって任意の論理関数 (4入力ならば 通り) を実現可能2 6 524 万 千

36

論理関数 (4入力ならば 通り) を実現可能2 6 524 ≈ 万 千?

Page 38: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

スイッチマトリクス

接続をメモリで実現接続をメモリで実現

1bit Memory1bit Memory

37

Page 39: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

FPGAのプログラム方式

プログラム方式 再書込 不揮発性 動作速度 冗長度

SRAM ○ × 遅い 大

EPROM △ ○ 中 中

EEPROM ○ ○ 中 中EEPROM ○ ○ 中 中

アンチヒューズ × ○ 速い 小

メモリで論理や接続を実現する

38

Page 40: ディジタル設計 (A1) (Chap. 1) @ F301ger/Lectures/C-Digital... · C D 00110 10111 01111 11110 メモリをベースとしたLook-up Table (LUT) によって任意の 論理関数(4入力ならば

リコンフィギュラブルロジック

•静的再構成:一般的なFPGA

•動的再構成:実行中に機能を書き換えれるもの動的再構成:実行中に機能を書き換えれるもの

FPGAの欠点FPGAの欠点書き換えに時間がかかる容量を超えた場合に実装不能容量を超えた場合に実装不能消費電力,性能ではASICに勝てない

39