ESE 570: Digital Integrated Circuits and VLSI Fundamentals

advertisement
Lecture Outline
ESE 570: Digital Integrated Circuits and
VLSI Fundamentals
!
Finish: Design Space Exploration
"
!
Lec 18: March 24, 2016
Sequential MOS Logic and Timing Hazards
!
Penn ESE 570 Spring 2016 – Khanna
Design Problem Example: Match Circuit
Sequential MOS Logic
Timing Hazards
Penn ESE 570 Spring 2016 – Khanna
2
Design Problem
!
Design Space Exploration
!
!
Function: Identify equivalence of two 32bit inputs
Optimize: Minimize total energy
Assumptions: Match case uncommon
"
!
Deliberately focus on Energy to complement
project
"
Penn ESE 570 Spring 2016 – Khanna
3
Design Space Dimensions
!
!
"
!
!
CMOS, Ratioed (N load, P load)
Transistor Sizing
Vth
!
The choices you make impact area, speed (delay), power
!
!
!
!
5
Ptot = Pstatic + Pdyn+ Psc
We know many things we can do to our circuits
Design space is large
Systematically identify dimensions
Identify continuum (trends) tuning when possible
Watch tradeoffs
"
Penn ESE 570 Spring 2016 – Khanna
4
Three components of power
"
Gate choice, logical optimization
Fanin, fanout, Serial vs. parallel
!
!
Penn ESE 570 Spring 2016 – Khanna
!
Gate style / logic family
"
…but will still talk about delay
Ideas
Vdd
Topology
"
Ie. Most of the time, the inputs won’t be matched
…don’t over-tune
Penn ESE 570 Spring 2016 – Khanna
6
1
Classes of Logic Circuits
Sequential MOS Logic
two stable op. pts.
Latch – level triggered.
Flip-Flop – edge triggered.
one stable op. pt.
One-shot – single
pulse output
no stable op. pt.
Ring Oscillator
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 Spring 2016 – Khanna
Penn ESE 570 Spring 2016 – Khanna
8
Kenneth R. Laker,
University of
Pennsylvania,
Sequential Circuit (or State Machine) Construct
updated
25Mar15
Inputs
Functions Using Sequential Operations
Outputs
Vo1
.
.
.
.
Present
State
REGISTER
.
.
.
.
Vo2
Vo3
Next
State
Clock
-> Register is used to Store Past Values of State(s) and Output(s)
-> Synchronous Sequential Circuit – clock, outputs change with clock event
-> Asynchronous Sequential Circuit – no clock, outputs change after inputs change
Penn ESE 570 Spring 2016 – Khanna
9
Penn ESE 570 Spring 2016 – Khanna
Kenneth R. Laker,
University of
Pennsylvania,
Static Bistable Sequential Circuits
updated 25Mar15
Static Bistable Sequential Circuits
Basic Crosscoupled Inverter
pair
Basic Crosscoupled Inverter
pair
Q
Q
Q
Penn ESE 570 Spring 2016 – Khanna
Kenneth R. Laker,
University of
Pennsylvania,
updated 25Mar15
10
Q
11
Penn ESE 570 Spring 2016 – Khanna
Kenneth R. Laker,
University of
Pennsylvania,
updated 25Mar15
12
2
Static Bistable Sequential Circuits
Static Bistable Sequential Circuits
Basic Crosscoupled Inverter
pair
Basic Crosscoupled Inverter
pair
Q
VOH = VDD
Q
Q
Q
VOL = 0
maintain stable state.
STATIC: VDD and GND are required to maintain a stable state.
Basic Bistable Cross-coupled Inverter Pair has no means to apply input(s)
to change the circuit's State.
Penn ESE 570 Spring 2016 – Khanna
13
Kenneth R. Laker,
University of
Pennsylvania,
Latch
updated 25Mar15
Basic Sequential Circuits (Cells)
!
!
Latches
Registers
!
!
Level-sensitive device
Positive Latch
"
!
15
Register
!
!
!
Output follows input if
CLK low
Q = CLK ⋅ Q + CLK ⋅ In
Penn ESE 570 Spring 2016 – Khanna
16
Shift Register
Edge-triggered storage
element
Positive edge-triggered
"
Output follows input if
CLK high
Negative Latch
"
Penn ESE 570 Spring 2016 – Khanna
14
Penn ESE 570 Spring 2016 – Khanna
!
How do you make a shift register out of latches?
Input sampled on
rising CLK edge
Negative edgetriggered
"
Input sampled on
falling CLK edge
Penn ESE 570 Spring 2016 – Khanna
17
Penn ESE 570 Spring 2016 – Khanna
18
3
Two Phase Non-Overlapping Clocks
!
!
Two Phase Non-Overlapping Clocks
Build master-slave register from pair of latches
Control with non-overlapping clocks
Penn ESE 570 Spring 2016 – Khanna
!
!
19
Two Phase Non-Overlapping Clocks
!
!
!
21
Clocking Discipline
!
!
20
What could go wrong if the overlap?
Penn ESE 570 Spring 2016 – Khanna
22
CMOS SR Latch – NOR2
Follow discipline of combinational logic broken by
registers
Compute
"
"
"
!
Penn ESE 570 Spring 2016 – Khanna
Two Phase Non-Overlapping Clocks
Build master-slave register from pair of latches
Control with non-overlapping clocks
Penn ESE 570 Spring 2016 – Khanna
Build master-slave register from pair of latches
Control with non-overlapping clocks
From state elements
Through combinational logic
To new values for state elements
As long as clock cycle long enough,
"
Will get correct behavior
*
Penn ESE 570 Spring 2016 – Khanna
23
Penn ESE 570 Spring 2016 – Khanna
*
24
4
CMOS SR Latch – NOR2
CMOS SR Latch – NOR2
basic crosscoupled inverter
pair
basic crosscoupled inverter
pair
25
Penn ESE 570 Spring 2016 – Khanna
CMOS SR Latch – NOR2
CMOS SR Latch – NOR2
SET OP:
S = 1, R = 0
RESET OP:
R = 1, S = 0
basic crosscoupled inverter
pair
basic crosscoupled inverter
pair
27
CMOS SR Latch – NOR2
28
Penn ESE 570 Spring 2016 – Khanna
CMOS SR Latch – NOR2
HOLD OP:
S = 0, R = 0
HOLD OP:
S = 0, R = 0
basic crosscoupled inverter
pair
Penn ESE 570 Spring 2016 – Khanna
26
Penn ESE 570 Spring 2016 – Khanna
basic crosscoupled inverter
pair
29
Penn ESE 570 Spring 2016 – Khanna
30
5
CMOS SR Latch – NOR2
CMOS SR Latch – NAND2
basic cross-coupled
inverter pair
“ACTIVE HIGH”
*
*
Penn ESE 570 Spring 2016 – Khanna
31
32
Penn ESE 570 Spring 2016 – Khanna
Kenneth R. Laker,
University of
Pennsylvania,
Synchronous Latches
updated 25Mar15
CMOS SR Latch – NAND2
NAND
LATCHNOTE: S and R are
NAND
SRSR
Latch
asynchronous.
S/R
S’/R'
CK
“ACTIVE LOW”
*
*
*
*
Penn ESE 570 Spring 2016 – Khanna
33
Synchronous Latches
Synchronous Latches
NAND
LATCHNOTE: S and R are
NAND
SRSR
Latch
asynchronous.
S/R
34
Penn ESE 570 Spring 2016 – Khanna
HOLD STATE:
CK = 1, S = 0, R = 0
S’/R'
T glitch
CK
Q error due to
glitch on S
SET STATE:
RESET STATE:
NOT ALLOWED:
CK = 1, S = 1, R = 0 => S' = 0, R' = 1 => Qn+1 = 1, Qn+1 = 0
CK = 1, S = 0, R = 1 => S' = 1, R' = 0 => Qn+1 = 0, Qn+1 = 1
CK = 1, S = 1, R = 1 => S' = 0, R' = 0
R
IS CK = 1, S = 0, R = 0 a HOLD STATE?
Penn ESE 570 Spring 2016 – Khanna
35
Penn ESE 570 Spring 2016 – Khanna
36
6
Static CMOS D-Latch
Latch
!
!
"
!
If CK = 1
Level-sensitive device
Positive Latch
S
Output follows input if
CLK high
LATCH
R
Negative Latch
"
Output follows input if
CLK low
If CK = 0, HOLD
Q = CLK ⋅ Q + CLK ⋅ In
Penn ESE 570 Spring 2016 – Khanna
37
38
Penn ESE 570 Spring 2016 – Khanna
Kenneth R. Laker,
University of
Pennsylvania,
Static CMOS TG D-LATCH – 8 Transistors
updated 25Mar15
Static CMOS D-Latch
If CK = 1
S
LATCH
If CK = 0, HOLD
R
18 Transistors
CK
1
1
0
D
1
0
x
S'
0
1
0
R' Qn+1
1 1
0 0
0 Qn
Qn+1
0 SR-Set
1 SR-Reset
Qn SR-Hold
8 Transistors
**Transistor level implementation using transmission gates requires
fewer transistors
+ NO TOGGLE
+ NO NOT-ALLOWED INPUTS
39
Penn ESE 570 Spring 2016 – Khanna
Kenneth R. Laker,
University of
Pennsylvania,
Static CMOS TG D-LATCH
updated 25Mar15
Penn ESE 570 Spring 2016 – Khanna
40
Kenneth R. Laker,
University of
Pennsylvania,
Static CMOS TG D-LATCH
updated 25Mar15
CK
Q
D
CK
Q
CK
CK
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 Spring 2016 – Khanna
Kenneth R. Laker,
University of
Pennsylvania,
updated 25Mar15
41
Penn ESE 570 Spring 2016 – Khanna
Kenneth R. Laker,
University of
Pennsylvania,
updated 25Mar15
42
7
D-LATCH Timing Requirements
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
"
"
Penn ESE 570 Spring 2016 – Khanna
43
Timing assumptions
(More) complex reasoning about all possible timings
44
Admin
!
HW 7 due 3/31
"
"
Design 8 bit adder
Extra Credit: Modify design for optimized delay (Submit
online before 4/8)
"
!
Get up to 10 points added to your Midterm grade
NO LAYOUT
Penn ESE 570 Spring 2016 – Khanna
45
8
Download