Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CMOS VLSI
Design
Combinational Circuits
Outline
• Bubble Pushing
• Compound Gates
• Logical Effort Example
• Input Ordering
• Asymmetric Gates
• Skewed Gates
• Best P/N ratio
assign y = s ? d1 : d0;
endmodule
assign y = s ? d1 : d0;
endmodule
H = 160 / 16 = 10
B=1
N=2
equations
00 0 0 00 0 0 1
00 1 X 01 0 0 1
00 0 1 01 0 0 1
01 1 X 01 0 1 0
01 0 1 01 0 1 0
01 0 0 10 0 1 0
10 X 0 10 1 0 1
10 X 1 11 1 0 1
11 1 X 01 0 1 1
11 0 0 10 0 1 1
11 0 1 11 0 1 1
Data Out
Data In
A1 A0 0 0 1 A0 0
Ai-1 Bi-1
A Programmable Binary Shifter
rgt nop left
A1 A0 0 0 1 A0 0
Ai-1 Bi-1
4-bit Barrel Shifter
Example: Sh0 = 1
A3 B3B2B1B0 = A3A2A1A0
B3
Sh1 = 1
Sh1
B3B2B1B0 = A3A3A2A1
A2
B2
Sh2 = 1
B3B2B1B0 = A3A3A3A2
Sh2
A1
B1 Sh3 = 1
B3B2B1B0 = A3A3A3A3
Sh3
A0
B0
Area dominated by
Sh0 Sh1 Sh2 Sh3
wiring
4-bit Barrel Shifter
Example: Sh0 = 1
A3 B3B2B1B0 = A3A2A1A0
B3
Sh1 = 1
Sh1
B3B2B1B0 = A3A3A2A1
A2
B2
Sh2 = 1
B3B2B1B0 = A3A3A3A2
Sh2
A1
B1 Sh3 = 1
B3B2B1B0 = A3A3A3A3
Sh3
A0
B0
Area dominated by
Sh0 Sh1 Sh2 Sh3
wiring
4-bit Width
Barrel Shifter Layout
barrel
A3 B3
A2 B2
A1 B1
A0 B0
8-bit
0 1 Logarithmic
Sh1 !Sh1
1 0
Sh2 !Sh2
Shifter
0 1
Sh3 !Sh3
A3 B3
A2 B2
A1 B1
A0 B0
log N stages
8-bit Logarithmic Shifter Layout
1 2 4
Slice
A3
B3
A2
B2
A1
B1
A0
B0
Barrel Logarithmic
Width Speed Width Speed
N K
2 N pm 1 + N diffs pm(2K+2K-1) K + 2 diffs
8 3 16 pm 1+8 13 pm 3+2
16 4 32 pm 1 + 16 23 pm 4+2
32 5 64 pm 1 + 32 41 pm 5+2
64 6 128 pm 1 + 64 75 pm 6+2
Decoders
• Decodes inputs to activate one of many
outputs Enable
B3
B2
B1
B0
A0 !A0 A1 !A1
precharge
Dynamic NOR Decoder
Vdd GND GND
on on
B3 1 0
on
on B2
10
B1
10
B0
11
A0 !A0 A1 !A1
precharge
0 1 0101
Dynamic NAND Decoder
GND
B3
B2
B1
B0
B3 1 1
B2 1 1
B1 1 1
on on B0 1 0
101
enable 2x4
2x4 .
1x2 .
.
2x4
2x4
A4 A3 A2 A1 A0
00001
Multiplexers
• Selects one of several inputs to gate to the
single output S S1 0
In0
In1
4x1 Out = In0 & !S1 & !S0 |
In2
In1 & !S1 & S0 |
In3 In2 & S1 & !S0 |
In3 & S1 & S0
In2
!S F
In1
In1 S S In2
Building Big Muxes from Small
S0 S1
A0
2x1
A1
2x1 Out
A2
2x1
A3
Building Big
0
Muxes
1
from Small
S0 S1
A0
2x1
A1
2x1 Out
A2
2x1
A3
Review: Datapath Bit-Sliced
Organization
Control Flow
Bit 3
Bit 2
From Pipeline Register File
PipelineMultiplexer
Register
Adder Pipeline Multiplexer
Shifter Pipeline
RegisterRegister
I$
Bit 1
Bit 0
decoder
Rn 2 Rp Cint
CL
2 A
B
2 Rn Cint
Rn Rn CL
1
A A B 1
Transistor Sizing a Complex CMOS
Gate
B
A
C
D
OUT = !(D + A • (B + C))
A
D
B C
Transistor Sizing a Complex CMOS
Gate
B 4 12
A 2 6
C 4 12
D 2 6
OUT = !(D + A • (B + C))
A 2
D 1
B 2C 2
Fan-In Considerations
A B C D
A CL
B C3 Distributed RC model
C C2
(Elmore delay)
D C1 tpHL = 0.69 Reqn(C1+2C2+3C3+4CL)
A A•B
A+B
A A
B A B
Example of Logical Effort
• Assuming a pmos/nmos ratio of 2, the input
capacitance of a minimum-sized inverter is three
times the gate capacitance of a minimum-sized nmos
(Cunit)
B 4
A 2 B 2
A 2 A 4
A A•B
1 A+B
A A 2
B 2 A 1 B 1
Cunit = 3
Cunit = 4 Cunit = 5