classes of logic circuits sequential mos logicese570/fall2020/handouts/lec... · 2020. 11. 9. ·...
TRANSCRIPT
1
ESE 570: Digital Integrated Circuits and VLSI Fundamentals
Lec 18: November 9, 2020Sequential Logic, Timing Hazard, Dynamic
Logic
Penn ESE 570 Fall 2020 – Khanna
1
Lecture Outline
! Sequential Logic! Timing hazards! Dynamic Logic
2Penn ESE 570 Fall 2020 – Khanna
2
Sequential MOS Logic
Penn ESE 570 Fall 2020 – Khanna
3
Classes of Logic Circuits
4
Combinational Circuits: a. Current Output(s) depend ONLY on Current Inputs.b. Suited to problems that can be solved using truth tables.
Sequential Circuits or State Machines: a. Current Output(s) depend on Current Inputs and Past Inputs via State(s).b. Suited to problems that are solved by completing several steps using current inputs and past outputs in a specific order or a sequential manner.
Penn ESE 570 Fall 2020 – Khanna
4
Synchronous Discipline
! Add state elements (registers, latches)! Compute
" From state elements" Through combinational logic" To new values for state elements
5Penn ESE 570 Fall 2020 – Khanna
5
Static Bistable Sequential Circuits
6
Basic Cross-coupled Inverter
pair
Q
Q
Penn ESE 570 Fall 2020 – Khanna
0 1
10
6
2
Static Bistable Sequential Circuits
7
Basic Cross-coupled Inverter
pair
Q
Q
Penn ESE 570 Fall 2020 – Khanna
Vi1
Vo1
Vi2
Vo2
7
Static Bistable Sequential Circuits
8
Basic Cross-coupled Inverter
pair
Q
Q
Penn ESE 570 Fall 2020 – Khanna
Vo1
Vo2
Vi1=Vo2Vo1=Vi2
Vi1
Vi2
8
Static Bistable Sequential Circuits
9
Basic Cross-coupled Inverter
pair
Q
Q
Penn ESE 570 Fall 2020 – Khanna
Vo1
Vi1=Vo2Vo1=Vi2
Vi1V
o2
Vi2
9
Static Bistable Sequential Circuits
10
Basic Cross-coupled Inverter
pair
Q
Q
Penn ESE 570 Fall 2020 – Khanna
Vi1, Vo2
Vo1, Vi2
Vi1=Vo2Vo1=Vi2
10
Static Bistable Sequential Circuits
11
Basic Cross-coupled Inverter
pair
Q
Q
Penn ESE 570 Fall 2020 – Khanna
Vi1, Vo2
Vo1, Vi2
Vi1=Vo2Vo1=Vi2
11
12
Basic Bistable Cross-coupled Inverter Pair has no means to apply input(s) to change the circuit's State.
Basic Cross-coupled Inverter
pairQ
Q
VOH = VDD
VOL = 0
maintain stable state.STATIC: VDD and GND are required to maintain a stable state.
Static Bistable Sequential Circuits
Penn ESE 570 Fall 2020 – Khanna
12
3
Basic Sequential Circuits (Cells)
! Latches! Registers
13Penn ESE 570 Fall 2020 – Khanna
13
Latch
14
Q =CLK ⋅Q+CLK ⋅ In
! Level-sensitive device! Positive Latch
" Output follows input if CLK high
! Negative Latch" Output follows input if
CLK low
Penn ESE 570 Fall 2020 – Khanna
14
Register
15
! Edge-triggered storage element
! Positive edge-triggered" Input sampled on
rising CLK edge
! Negative edge-triggered" Input sampled on
falling CLK edge
Penn ESE 570 Fall 2020 – Khanna
15
Shift Register
! How do you make a shift register out of latches?
16Penn ESE 570 Fall 2020 - Khanna
16
Positive-Edge Triggered Register
! Build register from pair of positive latches! What happens when f0 is high?! What happens when f1 is high?
17Penn ESE 570 Fall 2020 – Khanna
QM
17
Positive-Edge Triggered Register
! Build register from pair of positive latches
18Penn ESE 570 Fall 2020 – Khanna
QM
QM
18
4
Positive-Edge Triggered Register
! Build register from pair of positive latches! What could go wrong if clocks overlap?
19Penn ESE 570 Fall 2020 – Khanna
QM
QM
19
Positive-Edge Triggered Register
! Build register from pair of positive latches! Control with non-overlapping clocks
20Penn ESE 570 Fall 2020 – Khanna
QM
20
Non-overlapping Clocks
! Play with in Cadence" Will need for project 2
Penn ESE 570 Fall 2020 - Khanna 21
21
Latch
22
Q =CLK ⋅Q+CLK ⋅ In
! Level-sensitive device! Positive Latch
" Output follows input if CLK high
! Negative Latch" Output follows input if
CLK low
Penn ESE 570 Fall 2020 – Khanna
22
23
D
CKCK
CK
CK
Static CMOS TG D-LATCH
Penn ESE 570 Fall 2020 – Khanna
23
Static CMOS TG D-LATCH – 8 Transistors
24
8 Transistors
Penn ESE 570 Fall 2020 – Khanna
24
5
25
Static CMOS TG D-LATCH
When CK = 1 output Q = D, and tracks D until CK = 0, the D-Latch is referred to positive level triggered.
When CK → 1 to 0, the Q = D is captured, held (or stored) in the Latch.
Penn ESE 570 Fall 2020 – Khanna
25
D-LATCH Timing Requirements
26Penn ESE 570 Fall 2020 – Khanna
26
Timing Hazards
27Penn ESE 570 Fall 2020 – Khanna
27
Clocking Discipline
! Follow discipline of combinational logic broken by registers
! Compute " From state elements" Through combinational logic" To new values for state elements
! As long as clock cycle long enough," Will get correct behavior
28Penn ESE 570 Fall 2020 - Khanna
28
Latch Timing Issues
Penn ESE 570 Fall 2020 - Khanna 29
Worst case delays
Minimum delays
29
Latch Timing Issues
Penn ESE 570 Fall 2020 - Khanna 30
! tsu = time data (D) must be valid before CLK edge! tplogic = worst case propagation delay of logic! tc-p = worst case propagation delay of latch
30
6
Latch Timing Issues
Penn ESE 570 Fall 2020 - Khanna 31
! tcdregister = minimum propagation delay of latch! tcdlogic = minimum propagation delay of logic! thold = time data (D) must stay valid after CLK edge
31
Timing Example
Penn ESE 570 Fall 2020 - Khanna 32
32
Timing Example
Penn ESE 570 Fall 2020 - Khanna 33
33
Timing Example
Penn ESE 570 Fall 2020 - Khanna 34
34
Timing Example
Penn ESE 570 Fall 2020 - Khanna 35
35
Clocking Highlights
! Clock discipline simplifies logic composition" Abstracts many internal timing details" Just concerned with making clock period long enough
! Breaking logic up with registers allows circuit to run at high frequency " Inputs decoupled from outputs
! Design Discipline – keeping data stable around clock edge" Setup, hold time – determined by latch circuit" Worst case and minimum Clk#Q delay for latch
36Penn ESE 570 Fall 2020 - Khanna
36
7
System Timing Constraints
Penn ESE 570 Fall 2020 - Khanna 37
37
Latch Timing Metrics
Penn ESE 570 Fall 2020 - Khanna 38
38
Mux Based Latches
! Change the stored value by cutting the feedback loop
Penn ESE 570 Fall 2020 - Khanna 39
39
PassT Implementation of Mux
Penn ESE 570 Fall 2020 - Khanna 40
40
Tx Gate Implementation of Mux
Penn ESE 570 Fall 2020 - Khanna 41
41
Controller/Controlled ET Flip Flop
Penn ESE 570 Fall 2020 - Khanna 42
ControllerControlled
42
8
Controller/Controlled Implementation
Penn ESE 570 Fall 2020 - Khanna 43
Controller Controlled
43
Controller/Controlled Implementation
Penn ESE 570 Fall 2020 - Khanna 44
Controller Controlled
Controller transparentControlled hold
Controller hold
Controlled transparent
44
Timing Properties
! Assume propagation delays are tpd_inv and tpd_tx, and that the inverter delay to derive !clk is 0
! Set-up time - time before rising edge of clk that D must be valid" tsu = 3 * tpd_inv + tpd_tx
! Propagation delay - time for QM to reach Q" tc-q = tpd_inv + tpd_tx
! Hold time - time D must be stable after rising edge of clk" thold = zero
Penn ESE 570 Fall 2020 - Khanna 45
45
Setup Time Simulation
Penn ESE 570 Fall 2020 - Khanna 46
46
Setup Time Simulation
Penn ESE 570 Fall 2020 - Khanna 47
47
Dynamic Logic
48Penn ESE 570 Fall 2020 – Khanna
48
9
Logic Comparison Overview
49Penn ESE 570 Fall 2020 – Khanna
DYNAMIC LOGIC GATES: valid logic level are not steady-state op points and depend on temporary storage of charge on parasitic node capacitances. Outputs are generated in response to input voltage levels and a clock. Requires periodic updating or refresh.
49
Logic Comparison Overview
50Penn ESE 570 Fall 2020 – Khanna
DYNAMIC LOGIC GATES: valid logic level are not steady-state op points and depend on temporary storage of charge on parasitic node capacitances. Outputs are generated in response to input voltage levels and a clock. Requires periodic updating or refresh.
CSM1
BL
WL
CBL
WL
X
BL
VDD-VT
VDD/2
VDD
GND
Write "1" Read "1"
sensingVDD/2
DV VBL VPRE– VBIT VPRE–( )CS
CS CBL+------------------------= =
Write: CS is charged or discharged by asserting WL and BL.Read: Charge redistribution takes places between bit line and storage capacitance
Voltage swing is small; typically around 250 mV.
bit bit_b
N1
N2P1
A
P2
N3
N4
A_b
word
50
Comparison of Logic Implementations
51
Y
Ratioed
Penn ESE 570 Fall 2020 – Khanna
51
Comparison of Logic Implementations
52
Y
Ratioed
Penn ESE 570 Fall 2020 – Khanna
52
Comparison of Logic Implementations
53
Y
Ratioed
Penn ESE 570 Fall 2020 – Khanna
53
Comparison of Logic Implementations
54
Y
Ratioed
1
11
VDDmore robust
Penn ESE 570 Fall 2020 – Khanna
54
10
Dynamic CMOS Precharge
55
VDD
A
CK
Mp
Me
Z
Penn ESE 570 Fall 2020 – Khanna
55
Dynamic CMOS Precharge
56
Z
Z
of C is complete
Penn ESE 570 Fall 2020 – Khanna
56
Dynamic (Clocked) Logic: Example
57
CK = 0 => Z = ?CK = 1 => Z = ?
Penn ESE 570 Fall 2020 – Khanna
57
Comparison of Static and Dynamic Logic
58
ADVANTAGES ?
DISADVANTAGES ?
Penn ESE 570 Fall 2020 – Khanna
58
59
Comparison of Static and Dynamic Logic
Penn ESE 570 Fall 2020 – Khanna
59
60
Comparison of Static and Dynamic Logic
Penn ESE 570 Fall 2020 – Khanna
60
11
Cascaded Dynamic Logic
61Penn ESE 570 Fall 2020 – Khanna
61
Cascaded Dynamic Logic
62Penn ESE 570 Fall 2020 – Khanna
62
Cascaded Dynamic Logic
63Penn ESE 570 Fall 2020 – Khanna
63
Cascaded Dynamic Logic
64Penn ESE 570 Fall 2020 – Khanna
64
Domino Logic
65Penn ESE 570 Fall 2020 – Khanna
65
Requirements
! Single transition" Once transitioned, it is done # like domino falling
! All inputs at 0 during precharge" ‘Outputs’ pre-charged to 1 then inverted to 0
" I.e. Inputs are pre-charge to 0
! Non-inverting gates
66Penn ESE 570 Fall 2020 – Khanna
66
12
Cascaded Domino CMOS Logic Gates
67Penn ESE 570 Fall 2020 – Khanna
67
Cascaded Domino CMOS Logic Gates
68
propagating
Penn ESE 570 Fall 2020 – Khanna
68
Cascaded Domino CMOS Logic Gates
69
propagating
Penn ESE 570 Fall 2020 – Khanna
69
Ideas
! Synchronize circuits" to external events (eg. Clk)" disciplined reuse of circuitry
! Leads to clocked circuit discipline" Uses state holding element (eg. Latches and registers)" Prevents
" Timing assumptions" (More) complex reasoning about all possible timings
! Dynamic/clocked logic" Only build/drive one pulldown network" Fast transition propagation" Domino Logic allows for cascading
70Penn ESE 570 Fall 2020 – Khanna
70
Admin
! Proj 1 out" Due 11/15
! 2 baseline designs (CMOS and pass)" Pick one to optimize and layout
! Proj 1 doesn’t require the output flip flop" will need it eventually for proj 2 so you can add it if you
want and we can give feedback
71Penn ESE 570 Fall 2020 – Khanna
71