9.MISC/ローテーションの谷間
MISCとはmiscellaneousの省略形
分類に入らない雑多なものを集めた項目のこと
前半は前回遣り残したところをやる
演習の出来が悪すぎた!
残り時間で今回の範囲をやる
結構ばらばら
演習2-1: p.56 (6) 対応するCMOS回路を描き、対応するブール代数を求めよ
A
B
C
Z
演習1
対応するCMOS回路を描き、対応するブール代数を求めよ
VDD
A
A
B
C
B
C
Z
Z
GND
演習1
対応するCMOS回路を描き、対応するブール代数を求めよ
VDD
B
A
B
A
C
C
Z
Z
A
A・B+C
A・B
C
B
GND
演習2: (A+B)・C のレイアウトを描け
VDD
左のパターンは下の回路に
相当する
A
B
C
Z
A
GND
B
C
ポリシリコンのゲートは共通
拡散領域も共通
演習2: (A+B)・C のレイアウトを描け
AとBは直列 それとCは並列
Z
A
B
C
A
B
AとBは並列 それとCは直列
どちらでもOKだが左の方が若干楽そうだ。
C
演習1: (A+B)・C のレイアウトを描け
VD
Z
A
B
Z
C
A
B
C
GN
演習1: A・B+C のレイアウトを描け
VDD
A
B
C
まずこの図上で作戦を
立ててから右のレイアウトを
やること
A
B
C
Z
GND
ディジタル回路のレイアウト
• フルカスタム
– 全ゲートのサイズ、配置を自由に設定
– 自動レイアウトツールが使えない
– 高速動作が必要な回路などの特殊な設計法
• セルベースド
– 高さの揃ったセルで様々な論理ゲートを一式用意する
– 自動配置配線が可能
– 現在のLSIの設計の主流
• ゲートアレイ
– 拡散層、ポリシリコンのゲートは既に用意されている
– 配線層のみレイアウト
– 効率が悪いため、最近はあまり使われない
初期のゲートアレイの構造
…
…
…
…
…
…
…
I/O Pad
ゲート領域
配線領域
SOG(Sea Of Gates)
…
…
…
…
…
…
…
…
…
…
I/O Pad
ゲート領域
配線領域
セルベースド設計
• 小規模なゲート、大規模なIPの全てが自由な位置に配
置可能
• そうはいっても、ゲートはやはり並べて配置する
• 配置、配線を設計者が制御する必要がある
• 90nmより進んだプロセスでは、Embedded Arrayでは
高い性能を得ることが難しくなり、セルベースド設計に移
行せざるを得ない
• SoC(System on-a Chip)は主にセルベースド設計
• 配置、配線操作のオーバヘッドの増大
Double Back
半導体のスケーリング則
• 2005年くらいまで(90nm,65nmくらいまで)
• プロセスサイズ(technology size):プロセス技
術が許す最小加工幅が1/kに
– 集積度はkの2乗
– スピードはk倍
– 電圧は1/k→ 電力がkの2乗分の1
• 3年でプロセスサイズが70%に減っていく
1.2→1.0→0.8→0.65→0.35→0.25→0.18→0.
13→0.09(90nm)
スケーリング則の崩壊
• 90nm,65nm前後からの傾向
• 配線遅延の増大:スピードが向上しなくなる
→ プロセッサのクロック向上も限界に、、
• 電圧の限界:1.0V以下には下げるのが困難
• リーク電流の増大:電力が下がらなくなる
• 3年で70%のペースが維持できなくなる。5、6年掛か
る
• しかし、集積度は相変わらず増大
• 現在28nmが商用で出荷(高いけど)、21nmが準備
中
1990年代:DRAM他メモリプロセスと論理プロセスとの
分離
特殊な入出力
今回は2つの出力、1つの入力を学ぶ
オープンコレクタ出力
3ステート出力
シュミットトリガ入力
いずれも実用上は重要
名前と使い方を覚えればOK
バス(Bus)を作りたい
A
B
C
共通の線路でA,B, Cがデータを送受信
配線本数の節約、データ線路の共通化
もちろん時分割で使う:一度にデータを送れるのは一人
利用者を決める→バスアービトレショーンが必要
しかしデバイスは対応しない
• ディジタルデバイスは1出力多入力
ON
A
Z
Z
A
ON
出力がぶつかると素子を破壊
オープンドレイン(オープンコレクタ)
• pMOSをとっぱらってしまってドレインを開
けっ放しにする
• 負荷抵抗を付ける→しかし、バスはどっちみ
ちターミナル抵抗が必要
A
B
C
H
A
L
OFF
B
L
OFF
C
OFF
L
全員Lの時は
H
L
AがHの時はL
A
ON
B
C
H
CがHの時もL
L
A
B
C
H
ON
→他の人がLを
入力すれば誰か
一人のデータを
バス上に載せる
ことができる
H
A
L
B
OFF
L
OFF
C
全員Lの時は
H
OFF
L
L
二人がHでもL
A
B
ON
H
C
ON
H
H
H
バスからの信号を
NOT(インバータ)
で受信すると考えると、ORゲートと同じになる
→ ワイヤードOR(ANDタイ)と呼ぶ
その他の事項
• 抵抗はどうやって決める?
– 小さすぎるとON時に電流が大きくなる
• 消費電力が大
– 小さすぎるとON→OFF(L→H)が遅い
• もともと抵抗負荷はpMOSを使わないため不利
• 動作速度が遅い
– 実際上はバスの線路インピーダンスに合わせる
• 反射が少ない
記号
3ステートゲート
in
out
EI
EI
in
out
H
in
H/L
EI
L
L/H
out
H/L
L/H
L
EI=Lならばinのレベルはそのままoutに表れる
L
in
OFF
H/L
EI
H
H
L
out
Hi-Z(ハイインピーダンス
OFF状態)
H
EI=Hならば両方のFETは常にOFF
→電気的に浮いた状態
→ハイインピーダンス状態
H、L、Hi-Zを持つことから3ステート出力と呼ばれる
3ステートゲートのバス
X
L
H
A
X
H
電気的に
切れている
X
H
B
電気的に
切れている
C
X
H
L
A
B
C
EIをLにした入力がバスにデータを送ることができる
同時に二つのゲートのEIをLにするとデータが衝突して過電流が流れる
EI
in
out
EI
in
out
EI
in
out
EI
in
out
EI
in
out
L
L
L
L
H
H
H
X
Hi-Z
EI
in
out
H
L
H
H
H
L
L
X
Hi-Z
EI
in
out
H
L
L
H
H
H
L
X
Hi-Z
EI
in
out
L
L
H
L
H
L
H
X
Hi-Z
EIがアクティブ
=ゲートが動作
そうでないとき
ハイインピーダンス
(Hi-Z)
メモリ、FPGA
など様々な
モジュールの
出力が
3ステートゲート
になっている
衝突の可能性
EI_A
EI_B
A
EI_A
EI_B
B
NOTゲートの遅延
時間が大きい
あるいは
配線遅延が大きい
この時間だけ両方が
Lになり衝突の可能性が!
通常、3ステートのOFF→ON時間>ゲート遅延
なので大丈夫
オープンドレイン vs. 3ステート
• オープンドレインの良い所
– 出力がぶつかってもワイヤードORになるだけ
– 負荷抵抗はターミナル抵抗と兼用にできる
• 3ステートゲートの良い所
– pMOSを使うのでL→Hが高速
– nMOSがONでもpMOSがOFFなので低消費電力
– 負荷抵抗が不要
→ バックプレーンバスにはオープンドレイン、他は3ス
テートゲートが使われる
ディジタル回路の整形能力
スレッショルド
レベル
入力
出力
鈍った波形を方形波にするのはディジタル回路の役目の一つ
しかし、実は極端に緩い入力に弱い
ノイズ
スレッショルド
レベル
入力
出力
波形が緩いとスレッショルドレベル
付近のノイズに反応してしまう
→入力は一定の鋭さが必要(前々回)
波形が緩いのはいつ?→バスやケーブルで容量の大きい通信路を
使ったとき→こういう通信路はノイズも載りやすい→困った!!
シュミットトリガ入力
Vout
L→HではVT+
H→LではVTがスレッショルド
レベルとなる
→ヒステリシス(履歴)
特性(前々回参照)
ノイズマージンは
VT+min-VOL
VOH-VT-max
に広がる
VT-
VT+
Vin
ヒステリシス特性による整形効果
ノイズ
VT+
VT入力
出力
VT+をよぎるまでHにならない。一度HになったらVT-をよぎらなければ
大丈夫
ドライバ・レシーバ
• 3ステートゲートとシュミットトリガ入力の組み
合わせ
– p.98に例を示す
– 74245は方向がDIR入力で切り替わる
– バスやケーブルに対するディジタル信号の送受
信に使う
演習2
B
Y
A
B
上の回路の真理値表を描け
また、この回路をMIL記号で表せ