The reasons for the dominant use of CMOS Technology in the fabrication of VLSI chips are reliability, low power consumption, considerably low cost and most importantly scalability
2. Something We Can’t Build (Yet)
What if youweregiventhefollowingdesignspecification:
When the button is pushed:
1) Turn on the light if
it is off
2) Turn off the light if
it is on
The light should change
state within a second
of the button press
button light
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 2
What makesthis circuitsodifferent
fromthose we’vediscussedbefore?
1. “State”–i.e.thecircuithasmemory
2. Theoutput waschangedbyainput
“event”(pushingabutton) rather
than aninput“value”
3. Digital State
One model of what we’d like to build
Combinationa
l Logic
Current
State
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 3
New
State
Input
Plan:BuildaSequentialCircuitwithstored digitalSTA
TE–
•Memorystores CURRENTstate, producedat output
•CombinationalLogiccomputes
•NEXTstate(from input,current state)
•OUTPUTbit (from input,currentstate)
•State changesonLOADcontrolinput
Output
Memor
y
Device
LOAD
7. Y
S
B
Settable Storage Element
It’s easyto buildasettable storageelement(calledalatch)
usingalenientMUX:
0
1
G D QIN QOUT
0 -- 0 0
0 -- 1 1
1 0 -- 0
1 1 -- 1
“state” signal
appearsasboth
inputandoutput
QfollowsD
Qstable
A
D
G
Q
Here’safeedbackpath,
soit’s nolongera
combinationalcircuit.
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 7
8. New Device: D Latch
D Q
G
D
G
Q
TPD
V1 V2
V1 V2
TPD
G=1:
QfollowsD
G=0:
Qholds
G=1:QFollowsD,independentlyofQ’
G=0:QHoldsstable Q’,independently
ofD
Y
0
1
A
D
G
Q
Q’
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 8
BUT…AchangeinDorG
contaminatesQ,henceQ’
…howcanthispossibly
work?
9. A Plea for Lenience…
Y
0
1
A
D
G
Q
D
G
Q
V1 V2
V1 V2
TPD TPD
Doeslenienceguaranteea
workinglatch?
AssumeLENIENTMux,propagation
delayofTPD
Thenoutput validwhen
• G=1, Dstable forTPD,
independentlyofQ’;
or
• Q’=Dstable forTPD,
independentlyofG;or
• G=0, Q’stable forTPD,
independentlyofD
Q’
What if DandG
changeat about the
sametime…
G D Q’ Q
1 0 X 0
1 1 X 1
X 0 0 0
X 1 1 1
0 X 0 0
0 X 1 1
Q(D,G)
Q(D,Q’)
Q(G,Q’)
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 9
10. DStable
… with a little discipline
Y
0
1
A
D
G
Q
Q’
ToreliablylatchV2:
• ApplyV2 toD,holdingG=1
• After TPD,V2 appearsat Q=Q’
• After anotherTPD,Q’&Dbothvalid
for TPD;willholdQ=V2independently
ofG
• Set G=0,whileQ’&DholdQ=D
• After anotherTPD,G=0 andQ’
are sufficient to holdQ=V2
independentlyofD
D
G
Q
V2
V2
TPD TPD TPD
TSETUP THOLD
DynamicDisciplineforourlatch:
TSETUP= 2TPD: interval priorto G
transition for whichDmustbe
stable &valid
THOLD= TPD:interval followingG
transition for whichDmustbe
stable &valid
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 10
11. Lets try it out!
Combinationa
l Logic
D Q
G
Current
State
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 11
New
State
Input Output
Plan:BuildaSequentialCircuitwithonebitof STATE–
•Singlelatch holdsCURRENTstate
•CombinationalLogiccomputes
•NEXTstate(from input,current state)
•OUTPUTbit (from input,currentstate)
•State changeswhenG=1 (briefly!)
Whathappens
whenG=1?
12. Combinational Cycles
Combinationa
l Logic
G
D Q
Current
State
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 12
New
State
Input Output
WhenG=1, latch isTransparent…
… providesacombinationalpathfromDto Q.
Can’tworkwithouttricky timingconstrants onG=1 pulse:
•Mustfit withincontaminationdelayoflogic
•Must accommodatelatch setup,holdtimes
WanttosignalanINSTANT,notanINTERV
AL…
1
32. Edge-triggered Flip Flop
D Q
slave
G
G
Q D D Q Q
CLK
CLK
master
Observations:
onlyonelatch “transparent” at any
time:
master closedwhenslaveisopen
slaveclosedwhenmaster isopen
nocombinationalpaththroughflip flop
Qonlychangesshortly after 0 1
transition of CLK,soflip flopappears
tobe“triggered” byrisingedgeof CLK
Thegate of this
latch is openwhen
the clockislow
D D Q
Thegate of this
latch is openwhen
the clockishigh
0
11
D 0
S
G
Q
(the feedbackpathinoneofthemasterorslavelatchesisalwaysactive)
Transitionsmark
instants, notintervals
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 32
33. Flip Flop Waveforms
D Q
slave
G
G
D D Q Q
D D Q
master
Q
CLK
CLK
D
CLK
Q
masterclosed
slaveopen
slaveclosed
masteropen
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 33
34. Um, about that hold time…
G
D D Q
master
D Q
slave
G
Q
CLK
ConsiderHOLDTIMErequirement forslave:
• Negative(1 0) clocktransition slavefreezesdata:
• SHOULDbenooutputglitch,sincemasterheldconstantdata;BUT
• master output contaminatedbychangeinGinput!
• HOLDTIMEof slavenot met, UNLESSweassume
sufficient contaminationdelayinthepathto its Dinput!
AccumulatedtCD thruinverter,G Qpathofmastermustcover
slavetHOLD for this designtowork!
Themaster’scontamination
delaymustmeet the hold
time of theslave
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 34
35. Flip Flop Timing - I
CLK
D
Q
D D Q Q
CLK
<tPD
>tCD
tPD: maximumpropagationdelay,CLKQ
tCD: minimumcontaminationdelay,CLKQ
>tSETUP
6.004 –Fall2002 9/24/02 L06 – SequentialLogic 35
tSETUP: setuptime
guaranteethatDhaspropagatedthroughfeedbackpathbeforemastercloses
tHOLD: holdtime
guaranteemasterisclosedanddataisstablebeforeallowingDtochange
>tHOLD