デジタル回路の基礎

デジタル回路の基礎
明星大学
大塚寛治
MOSトランジスタのスイッチ動作の説明
VDD
R1
ID
VD
D
G
動作点
R2
S
nMOS
VG=Vth
VDD(R2/(R1+R2)) VDD
VG
抵抗による電圧低下
Vth
t
VDD
VD
Vth
VGゲート入力
t
VD出力
MOS3
電流の値とトランジスタの構造
MOS回路はほとんどエンハンスメントが使われている
nMOS (n-channel MOS)
nMOSドライバ回路
nMOSがオンのとき電源とグランドが抵抗を介してつながる
→このとき大きな電流が流れる。
V
VDD
VDD
V
入力
VDD
入力
Vth
Vth
t
t
I
出力
I
V
入力
V
VDD
Vth
VDD
t
t
V
VDD
V
出力
VDD
出力
信号が反転するためインバータと呼ぶ
教科書p121図4.19参照
t
t
CMOSトランジスタのスイッチ動作の説明
遷移時だけ電流が流れる
IDN=IDP
VDD
ID
VTN
動作点
VDD-VTP
出力
入力
VG=Vth
VDD
VG
Vth
t
VDD
VD
Vth
VGゲート入力
t
VD出力
VG
MOS回路はほとんどエンハンスメントが使われている
相補型MOS (Complimentary MOS)
一般にCMOSと表現する→ディジタル回路の95%はこの回路である
常に電源とグランドが遮断されている→電力消費が少ない
V
VDD
VDD
V
入力
VDD
入力
Vth
Vth
t
ID
出力
入力
t
V
ID
V
VDD
Vth
VDD
V
t
t
VDD
V
出力
VDD
出力
信号が反転するためインバータと呼ぶ
教科書p121図4.19参照
t
t
MOScurrent1
回路と電流の違い
インバータ(反転回路)
Vdd
VDD
出力X
入力A
入力
出力
GND
A
X
1
0
0
1
NOR
X=A+B
VDD
Vdd
入力A
入力A
入力B
出力X
入力B
出力X
GND
A
B
X
0
0
1
1
0
0
0
1
0
1
1
0
NAND
X=A・B
VDD
Vdd
入力A
出力X
入力B
入力A
出力X
入力B
GND
A
B
X
0
0
1
1
0
1
0
1
1
1
1
0
トランスファーゲート
ゲート信号C
VDD
ゲート信号C
出力
入力
出力X
入力A
ゲート信号C
ゲート信号C
C C
A-X間
0 1
非道通
1 0
導通
排他的論理和(Exclusive OR)
VDD
入力B
入力A
出力A+B
入力B
入力A
B
出力A+B
入力A
入力B
Vdd
入力A
B
出力X
入力B
GND
A
B
X
0
0
0
1
0
1
0
1
1
1
1
0
DIGITALBASIC1
VDD
SRフリップフロップ
Q
Q
S
R
セットS
出力Q
出力Q
リセットR
次の状態
S
R
Qn+1
0
0
Qn
0
1
0
1
0
1
1
1
*
前の状態
禁止(共振)
クロック付きフリップフロップ
セットS
出力Q
CLK
出力Q
リセットR
S
Q
CLK
CLK
S
R
Q
Q
タイミングチャート
DおよびTフリップフロップ
データD
出力Q
出力Q
CLK
CLK
D
Q
Q
ラッチともバッファとも呼ぶ
Qn+1
0
Qn
1
Qn
D
Q
Q
タイミングチャート
CLK
T
D
Qn+1
0
0
1
1
T
Q
DigtalBasic2
DigitalBasic3
シフトレジスタ
Decorder1
デコーダ
X
アダー
Adder
Y
S
C1
キャリーC0
X
0
0
1
1
Y
0
0
1
1
0
C
0
S
0
C
1
S
0
C
4通りの組合せ
1
S
1
C
0
S
Y
X
0
0
1
0
1
1
答S
0
1
1
Y
X
0
0
0
0
1
0
1
キャリーC
SRフリップフロップで作ったスタティックメモリ
W
VDD
D
D
ワード選択
書き込みゲート
D
D
読み出しゲート
S
Q
Q
R
Q
Q
これは論理的に
分かりやすくした
便宜上の回路
W0
SRフリップフロップで作ったスタティックメモリの構成
W1
W2
D0
D0
S
R
Q
読み出しデータ
書き込みデータ
読み出し/書き込み
ビット選択
ダイナミックメモリのセル
ワード線W
ビット線D
*長いビット線(長さは容量を多く持つ)にキャパシタの電荷が放出されても
ほんのわずかしか電圧が上がらない(50mV以下)。
このため特殊な工夫が必要→プリチャージ回路とセンスアンプ
*キャパシタの電荷が自然放電するため、リフレッシュチャージが必要
→15μs単位ぐらいに行う。
DRAM動作説明
プリチャージ線PCG
読み出し
(1) PCGを使って、長い配線で
キャパシタとみなせるDとDを
VDD/2までプリチャージする。
(2) アドレスのXデコーダ出力の1本を
1に選択する。選択されたゲートの
Trが導通となり、キャパシタに蓄積
された電荷がビット線に充電され、
ビット線の電位が僅かに変化する。
選択されたセルと対のビット線は
セルが選択されないから、電圧の
変化は無い。
(3) センスアンプの負電源SNLと正電源
SPLにパルスを入力し、ビット線Dと
Dの電位差を増幅する。
(4) Yデコーダ出力信号を使って1対を
選択し、そのデータをデータ線DとD
に出力する。
(5) 読み出し動作で、セルに記憶されて
いた情報は破壊されるため、(4)の
出力データを再びセルに書き込む。
VDD/2
SNL
VDD
VDD/2
VDD/2
0
SPL
00000
A0
A1
A2
A3
A4
00001
00010
00100
Xデコーダ
D
D
データ線
Yデコーダ
書き込み
(6) データ線DとDに書き込みデータを
セットする。
(7) Yデコーダでそのデータをビット線に
導く。
(8) Xデコーダで選択されたメモリセルの
ゲートを開き、キャパシタを充電する。
論理回路を電子回路で表すための物理現象:
この内容が現在の電子回路の理解に一番必要な問題であるにもかかわらず、
ほとんどの教科書にこの記述がない
会社で担当することになっても、学校の勉強と全く違っているように見える
この教科書にもないため、ここで十分説明をする
世の中のすべての物理現象はエネルギのやり取りで成り立っている
人間は食事をすることで食物が持つエネルギを吸収し、
ものを考え(ニューロンの状態の変化)、
手足を動かす(機械的状態の変化)ことが出来る
電気信号を電圧で表現するとき(図1.2参照)、電子回路の状態を電圧が現れるように
エネルギを注入したり排出したりする
次のページでこれを分かりやすく比喩で解説する
注入エネルギと時間の関係
(1) 金魚鉢の状態を時間0で変えることができない
持ち上げて置くのに時間がかかる
時間を短くするほど集中しなければならない
(2) 机の高さが高いほど苦労する
(3) 金魚鉢が大きいほど力が要る
(2)、(3)は人間の消費するエネルギが大きくなる
エネルギ
エネルギ
金魚鉢の位置が低い
=位置エネルギが低い
ゆっくり動作
集中動作
人間が持ち上げる
時間
時間
面積同じ=積算エネルギ同じ
エネルギ
金魚鉢大きい
または机高い
金魚鉢の位置が高い
=位置エネルギが高い
図A1
エネルギ
金魚鉢大きい
または机高い
時間
時間
放出エネルギも同じ
図A2
前頁(1)の問題をディジタル回路に当てはめると
図1.2をもう一度
時間0で変化している
→物理現象では不可能なことである
車が時間0で100km/hに加速できるか?
電圧
時間
理想ディジタル信号
遷移時間
遷移時間
=立ち上がり時間(tr)
=立ち下がり時間(tf)
=Screw rate(スリューレート)
見かけ上理想に近い
電圧
実際の波形
時間
実際のディジタル信号
+図1.2のようなノイズが乗る
図A3
tr、tfが遅い波形
図A4
前頁(2)の問題をディジタル回路に当てはめると
遷移時間
電圧が高いか低いかの問題
100km/h
電圧
60km/h
自動車で考える同じ加速時間で60kと100k
ではアクセルの踏み方を変える
エネルギの注入が大きく違う
時間
図A5
重要なこと:遷移時間しかエネルギは必要がない
遷移時間が短いとエネルギ集中し、大変
→現在のパソコンの大きな問題
前頁(3)の問題をディジタル回路に当てはめると
回路の負荷が大きいか小さいかの問題
同じ加速時間で
軽いスポーツカーを60kに
荷物の積んだ思いトラックを60kに
重要なこと:負荷を軽くする
図A6
遷移時間長い短いは性能にかかわる問題
電圧
1回の周期=クロック周波数=f
同じ周波数で
遷移時間が異なる
→処理速度同じ
青い周期は能力を持て余す
図A7
時間
tr2
2f
tr1=2tr2
f
遷移時間が1/2短いものは
2倍の周波数で動作をする
→青い周期は2倍の能力を発揮
図A8
導管の抵抗
=R
水位=電圧ではVdd
タンクの容量=C

t   時間

立上がりの式 v(t )  Vdd 1  exp 
 
 RC  


 t 
立下りの式 v(t )  Vdd  exp 
 
RC



排出導管の抵抗
=R
図A9
Excel作業のステップ
Excelを立ち上げる
t(時間)の項:A列に101行まで1ns刻みで時間を入力する
課題1:Excelを使って積分回路の計算をする。
入力方法:
t=CRのときの時間を求めよ
図B1の左のようにA1にt、A2に1ns、
そのときのV(t)は何ボルトかを求めよ
すなわち、1E-9(これは1nsを表す)を入力し、
A3に2E-9(2ns)を入力する。
時間に対する電圧の立ち上がりの式
次に入力したA2とA3の数字を選択すると
V(t)=Vdd(1-exp(-t/CR))
図右のように+が右下に現れる。
立ち下がりの式
これをドラグダウンしてA101まで進め、
V(t)=Vdd(exp(-t/CR)
クリックを離すと入力が完了する
条件1
Vdd=5V
C=100pF (0.0000000001F)
R=100Ω
条件2
Vdd=5V
C=10pF (0.00000000001F)
R=100Ω
図B1
ここをA101まで下げる
条件1の立ち上がり時間の計算式を入力する
入力方法:
図B2のいるかの右横にある数式をB2に入力する。
=5*(1-EXP(-A2/(1E-10*100)))
図左の+をプルダウンしてB50まで行く。
条件1の立ち下がり時間の計算をする
B51に
=5*EXP(-(A51-A50)/(1E-10*100))を入力する。
これを選択し、
同様にプルダウンする。しかし、B52を選択すると
=5*EXP(-(A52-A51)/(1E-10*100))となっていて、
Aの数字が一つずつ進んでいることが判明する。
引き算の引く数字は
A50の値で一定とするよう修正する。
=5*EXP(-(A51-A$50)/(1E-10*100))とすればよい。
これは時間をここで改めて0にしておく意味である。
後で述べるグラフを連続させるための便法である。
B101までプルダウンする。
図B2
条件2の入力:
C項にB項で行った手順と同様に入力する。ただし、容量が10pFであるため
その部分だけ修正する。この方法はBをすべて選択し、
その+をクリックしてC項までドラグライトすればよい。
1E-10になっているところをすべて1E-11に修正すればよい。
ただしB2・・・となっているところをA2・・・系列に直すこと
C2からC50までが立ち上がる式で
C51からC101までが立ち下がり式になっているか確認すること。
グラフの作成
ABCすべての項を選択した後、Excelウインドウのグラフボタンをクリックすると
図B3のようなグラフウイザードが出てくる。
散布図を選び、形式を図に示したマーク曲線を選ぶ。
図B3
ウイザードの次へ進むと、図B4の左図のようになる。グラフが出てくる。
これでよいためさらに次に進む。
題名、横軸、縦軸の表示を入力して次に進むと、
右図のような結果を得る。これはアニメーションの動作に
相当するものであることが判明しよう。
積分回路
V(t),100pF,100ohm
V(t),10pF,100ohm
6.00E+00
5.00E+00
電圧(V)
4.00E+00
3.00E+00
2.00E+00
1.00E+00
0.00E+00
0.00E+00 2.00E-08 4.00E-08 6.00E-08 8.00E-08 1.00E-07 1.20E-07
時間(s)
図B4
課題1の発展課題として、容量200pF、
抵抗200Ωの立ち上がり立ち下がりを
条件3として右図に重ねて出力し、
RCの時間を記入すること
→立ち上がりに必要な時間で、論理動作の時間遅れとなる
印刷して提出すること
式の導入を勉強したい人のために
q
Ri   V
C
in
dq
i
V
dt
dq q
dq v
q
R  V , R 
 
dt C
dt
C
dq q
dq
1

 0,

dt
dt CR
q
CR
out
dq
1
1
 t

 t 


dt
,
ln
q


dt

K
,
q

exp


K

A
exp




 q  RC
CR
 CR

 CR 
 t 
Q  qs  q  CV  A exp 

CR


t  0 , q  0 , A  CV


 t 
 t 
 t 
Q  CV  CV exp 

CV

1

exp


,
v

V

1

exp




 


 CR 
 CR  
 CR  


[Ω]=[V]/[A]
CRの単位=[C/V][V/A]=[C/A]=[C]/[C/s]=[s]
Q=CV, C=Q/V, [F]=[C]/[V]
以上で分かったこと
論理回路では時間は0で切り替わるが、
電子回路は時間遅れが出るだけでなく、波形のなまりが出る
時間遅れより早いタイミングで論理処理が出来ない
論理を考えながらタイミングを考えるという
2つの要素が電子回路設計で必要となる
GHz帯域になるとこの問題だけがクローズアップされる