Clase4 EAMTA - lcr.uns.edu.arlcr.uns.edu.ar/electronica/Posgrado/EAMTA/Documents/IntroVLSI/Cl… ·...
Transcript of Clase4 EAMTA - lcr.uns.edu.arlcr.uns.edu.ar/electronica/Posgrado/EAMTA/Documents/IntroVLSI/Cl… ·...
Introducción a VLSI
EAMTA 2006
Introducción a VLSI
Clase 4: Lógica Secuencial y Subsistemas
3Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Programa
El Transistor MOSLayers y LayoutLógica CombinacionalLógica Secuencial y Subsistemas
4Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Organización
Lógica secuencialSumadoresOtros subsistemasMemorias
5Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Sequential Logic Circuits
6Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Sequential Logic
2 storage mechanisms• positive feedback• charge-based
COMBINATIONALLOGIC
Registers
Outputs
Next state
CLK
Q D
Current State
Inputs
7Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Naming Conventions
In our text:a latch is level sensitivea register is edge-triggered
There are many different naming conventionsFor instance, many books call edge-triggered elements flip-flopsThis leads to confusion however
8Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Timing Definitions
t
CLK
t
D
tc 2 q
thold
tsetup
t
Q DATASTABLE
DATASTABLE
Register
CLK
D Q
9Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Characterizing Timing
Register Latch
Clk
D Q
tC 2 Q
Clk
D Q
tC 2 Q
tD 2 Q
10Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Maximum Clock Frequency
FF’s
LOGIC
tp,comb
φ
Also:tcdreg + tcdlogic > thold
tcd: contamination delay = minimum delay
Data is hold long enough so it can be output
tclk-Q + tp,comb + tsetup = T
11Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Latch versus Register
Latchstores data when clock is low
D
Clk
Q D
Clk
Q
Registerstores data when clock rises
Clk Clk
D D
Q Q
12Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Latches
In
clk
In
Out
Positive Latch
CLK
DG
Q
Out
Outstable
Outfollows In
In
clk
In
Out
Negative Latch
CLK
DG
Q
Out
Outstable
Outfollows In
“transparent” “transparent”
In
clk
In
Out
Positive Latch
CLK
DG
Q
Out
Outstable
Outfollows In
In
clk
In
Out
Negative Latch
CLK
DG
Q
Out
Outstable
Outfollows In
13Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Storage Mechanisms
D
CLK
CLK
Q
Dynamic (charge-based)Static
Race might occur with a Race might occur with a mastermaster--slave slave
CLK
CLK
CLK
D
Q
14Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Mux-Based Latches
Negative latch(transparent when CLK= 0) Positive latch
(transparent when CLK= 1)
CLK
1
0D
Q 0
CLK
1D
Q
InClkQClkQ ⋅+⋅= InClkQClkQ ⋅+⋅=
15Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Mux-Based Latch
Number of transistor that the clock has to drive is an important metric.
In this case, there are 4 (four) transistors in the CLK line
CLK
CLK
CLK
D
Q
16Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Mux-based latch
3-state
17Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Mux-based latch
18Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Mux-Based Latch
NMOS only Non-overlapping clocks
Simple but degrades a High input to Vdd-Vtn
CLK
CLK
CLK
CLK
QM
QM
19Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Master-Slave (Edge-Triggered) Register
Two opposite latches trigger on edge. Also called master-slave latch pair This is a positive edge-triggered Reg. A negative edge-triggered can be realized by switching registers.
φ
φ
φ
φ D
InA
B
20Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Master-Slave Register
Multiplexer-based latch pair
QM
Q
D
CLK
T2I 2
T1I 1
I 3 T4I 5
T3I 4
I 6
21Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
DFF PC
22Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
DFF PC
23Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Avoiding Clock Overlap
CLK
CLK
AB
(a) Schematic diagram
X
D
Q
CLK
CLK
(b) Overlapping clock pairs
CLK
CLKCLK and CLKB are 1 at the same time, then D passes directly to output (race)
Output can change in the rising edge of the CLK for a negative edge-triggered FF
24Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Non-overlapping Clocks
CLK1
CLK1
AB
(a) Schematic diagram
X
D
Q
CLK2
CLK2
(b) Non-Overlapping clock pairs
CLK2
CLK1CLK1 and CLK2 are non-overlapping
T non-overlap has to be small enough so that the charge in the intermmediate nodes is preserved (gates are in tri-state)
T non-overlap
25Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Overpowering the Feedback Loop ─Cross-Coupled Pairs
NOR-based set-reset
Forbidden State
S
R
Q
Q
QRS Q
Q00 Q
101 0
010 1011 0
S Q
R Q
26Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Clocked SR Added clock
This is not used in datapaths any more, but is a basic building memory cellTransistors M5-M6 (M7-M8) has to be sized to overpower M2 (M4) and pull that node down
S Q
R QM1
M2
M3
M4
Q
M5S
M6CLK
M7 R
M8 CLK
VDD
Q
27Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Sizing Issues
Output voltage dependenceon transistor width
Transient response
4.03.53.0W/L5 and 6
(a)
2.52.00.0
0.5
1.0
1.5
2.0
Q (Volts)
time (ns)
(b)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
1
2
W = 1 mµ
3
Volts
Q S
W = 0.9 mµW = 0.8 mµ
W = 0.7 mµW = 0.6 mµ
W = 0.5 mµ
28Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Other Latches/Registers: C2MOS
“Keepers” can be added to make circuit pseudo-static
M1
D Q
M3CLK
M4
M2
CLK
VDD
CL1
X
CL2
Master Stage
M5
M7CLK
CLK M8
M6
VDD
Slave Stage
29Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Insensitive to Clock-Overlap
M1
D Q
M4
M2
0 0
VDD
X
M5
M8
M6
VDD
(a) (0-0) overlap
M3
M1
D Q
M2
1
VDD
X
M71
M5
M6
VDD
(b) (1-1) overlap
Insensitive as long as the rise and fall times are sufficiently small
Hold time must be imposed
30Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Adders
31Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Adders
Important subsystem in digital design, so we care about performanceGood example of ways to think about building systems larger than 1-2 gatesBasic problem: Bit N of the result depends on 0 - (N-1) input bits.
Could build separate circuits to compute partial sumsFast but very Big
Use bit adders that compute the value of each bit and connect them together to form N-bit adders
32Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Half adders
33Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Full adders
34Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Multi-Bit adders
35Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Gate level implementation
36Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Better full adder (Mirror adder)
37Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Bit slice layout
38Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Bit slice layout
Multi-bit adders can be obtained by repeating automatically the cell
39Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Bit-slice Full Adder
40Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Eight-bit Adder
41Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Serial Adder
42Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Datapath organization
43Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Datapath organization
44Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Substraction
45Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Otros Subsistemas
46Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Comparison
Want to compare two numbers, A and BIf A=B, A-B=0If B>=A, A-B will generate a carry out in the last bit (overflow)Comparison can be implemented using a substractor
47Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Parity
48Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Crossbar as shifter
49Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Counters
RULE # 1 of making a digital system work right: never gate clock signal !!
50Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Counter
Adder with a constant inputSelection used to define up (sum) or down (substraction)Synchronous – all signals change with clock
51Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Multiplication
52Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Parallel Multiplication
53Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Serial-Parallel multiplier
Requires M+N clock cycles
54Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Pipeline technique
Reference Pipelined
REG
REG
REG
log
a
CLK
CLK
CLK
Out
b
REG
REG
REG
log
a
CLK
CLK
CLK
REG
CLK
REG
CLK
Out
b
55Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Pipelined Serial to Parallel
56Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Memories
57Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Organization
58Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
ROM
59Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
SRAM
60Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Static row decoder
61Escuela Argentina de Microelectrónica , Tecnología y Aplicaciones
Row decoder