<<

Layout of CMOS Circuits

September, 2016 Kjell Jeppson Aim of the lecture

• To give some basic understanding of layout trade-offs between wiring and active circuitry • To provide guidelines for systematic and structured design using standard cell templates • To discuss the influence of layout on performance • To use Euler paths to minimize parasitics and letting MOSFETs share common source/drain areas • To introduce methods for symbolic layout on virtual grids

2016 MCC092: Integrated Circuit Design 2 The inverter - - from schematic to layout

Inverter schematic

Well tie Power supply rails BodyActiveContactsMetalPoly gates ties wiringareas to polyactive gatesareas VDD Poly only vertically

Metal mainly horizontally

How do we get through IN IN OUT with metal wiring?

VSS Substrate tie

2016 MCC092: Integrated Circuit Design 3 The inverter - - from schematic to layout

Vertical poly straps Well tie

VDD

How do we get through IN OUT with metal wiring?

VSS Substrate tie

2016 MCC092: Integrated Circuit Design 4 The inverter - - from schematic to layout

Active supply straps Well tie

VDD

How do we get through IN OUT with metal wiring?

VSS Substrate tie

2016 MCC092: Integrated Circuit Design 5 Standard cell architecture

Fixed cell height: 2.6 um VDD Fixed supply rails Fixed n-well regions Fixed contact size and positions

A 2.6 B

VSS

2016 MCC092: Integrated Circuit Design 6 Standard cell architecture

Fixed cell height: 2.6 um VDD How many wire tracks can fit Fixed supply rails the empty space between the Fixed well MOSFET source/drain contacts? Fixed contact size and positions

Pitch 1 But MOSFET widths can be changed Pitch 2 within limits for different inverter A

driving capability (or size X) 2.6 Pitch 3 B

Pitch 4

Extra space

A certain number of pitches are required, plus one extra space at bottom VSS

2016 MCC092: Integrated Circuit Design 7 Stick Diagrams

• Stick diagrams help plan layout quickly – Need not be to scale – Draw with color pencils or dry-erase markers

VDD VDD A A B C metal1 c poly ndiff pdiff Y Y contact

GND GND INV NAND3

2016 MCC092: Integrated Circuit Design 8 The NAND2 gate

VDD

ina inb ina inb inc

out out out inb ina NAND2 NAND3

VSS

2016 MCC092: Integrated Circuit Design 9 The NAND2NAND3 gate

VDD

out ina inb ina inb inc inc out out inb ina NAND2 NAND3 VSS

2016 MCC092: Integrated Circuit Design 10 The NOR2 gate

VDD ina inb ina inb inc

NOR2 out

inb out

ina NOR2 NOR3

VSS

2016 MCC092: Integrated Circuit Design 11 The NOR3 gate

VDD

NOR3 ina inb ina inb inc

out inc out

inb out

ina NOR2 NOR3

VSS

2016 MCC092: Integrated Circuit Design 12 The AOI12 gate

VDD

ina inb ina inb inc

out out

ina inc inb AOI12

VSS

2016 MCC092: Integrated Circuit Design 13 The AO212 gate

VDD

A B

C D A B C D E

E

Z A D E B C

VSS

2016 MCC092: Integrated Circuit Design 14 : Euler paths

• The Seven Bridges of Königsberg is a historically notable problem in mathematics. Its negative resolution by in 1736 laid the foundations of graph theory and prefigured the idea of .

• The city of Königsberg (now Kaliningrad) was set on both sides of the Pregel River, and included two large islands which were connected to each other and the mainland by seven bridges. The problem was to devise a walk through the city that would cross each once and only once. The starting and ending points of the walk need not be the same. • Euler proved that the problem has no solution. The difficulty was the development of a technique of analysis and of subsequent tests that established this assertion with mathematical rigor.

2016 MCC092: Integrated Circuit Design 15 Graph theory: Euler paths

→ →

Euler's argument shows that a necessary condition for the walk of the desired form is that the graph be connected and have exactly zero or two nodes of odd . This condition turns out also to be sufficient—a result stated by Euler and later proven by Carl Hierholzer. Such a walk is now called an Eulerian or Euler walk in his honor. Further, if there are nodes of odd degree, then any Eulerian path will start at one of them and end at the other. (From Wikipedia)

2016 MCC092: Integrated Circuit Design 16 Graph theory: Euler paths

The blue graph has V V DD DD only one node with odd number of A B edges. Not A X B OK!

C D D C

Z X X X VSS E

Z A D The red graph has two E E nodes with B C odd number of edges. OK!

VSS Z

2016 MCC092: Integrated Circuit Design 17 Gate Matrix Layout VDD P0 C in Cout=G3+P3(G2+P2(G1+P1(G0+P0Cin) P1 cout G0

P2 G1 a3 g3 P3 Set-up b3 cell p3 G2 block a2 g2 Set-up G3 b2 cell p2

P a1 g1 3 Set-up G3 b cell p 1 1 ripple - carry P2 a0 g0 G - bit 2 Set-up P 4 1 b0 cell p0 G1 P G0 0

Cin cin VSS

2016 MCC092: Integrated Circuit Design 18 Gate Matrix Layout

Our task in this example: We have been given the seemingly impossible task to layout the 4- bit ripple-carry block using the layout template given below, with the given gate order!!

Cin P1 G1 P2 G2 P3 G3 P4 G4

VDD

CIN COUT

VSS

2016 MCC092: Integrated Circuit Design 19 Gate Matrix Layout VDD G2 Cout=G3+P3(G2+P2(G1+P1(G0+P0Cin)

G1

a3 g3 G Set-up P2 0 b cell P3 P1 3 p3

P0 block Cin a2 g2 Set-up b2 cell p2 G3 a1 g1 Set-up P3 b cell p 1 1 ripple - carry G3 a0 g0

P - bit 2 Set-up 4 G2 b0 cell p0 P1 G1 G P0 0 cin Cin It seems impossible to pass all MOSFETs in the VSS given order without passing some MOSFETs twice!

2016 MCC092: Integrated Circuit Design 20 Gate Matrix Layout VDD G2 Cout=G3+P3(G2+P2(G1+P1(G0+P0Cin)

P0 Cin P 1 a3 g3 G Set-up P2 0 b cell P3 3 p3 block G1 a2 g2 Set-up b2 cell p2 G3 a1 g1 Set-up P3 b cell p 1 1 ripple - carry G3 a0 g0

P - bit 2 Set-up 4 G2 b0 cell p0 P1 G1 G P0 0 cin Cin However, there is a solution! MOSFET blocks can be VSS rearranged in the schematic with same functionality.

2016 MCC092: Integrated Circuit Design 21 Gate Matrix Layout VDD G2 Cout=G3+P3(G2+P2(G1+P1(G0+P0Cin)

G0 P 1 a3 g3 P Set-up P2 0 Cin b cell P3 3 p3 block G1 a2 g2 Set-up b2 cell p2 G3 a1 g1 Set-up P3 b cell p 1 1 ripple - carry G3 a0 g0

P - bit 2 Set-up 4 G2 b0 cell p0 P1 G1 G P0 0 cin Cin However, there is a solution! MOSFET blocks can be VSS rearranged in the schematic with same functionality.

2016 MCC092: Integrated Circuit Design 22 Gate Matrix Layout VDD G2 Cout=G3+P3(G2+P2(G1+P1(G0+P0Cin)

G0 P 1 a3 g3 P Set-up P2 0 Cin b cell P3 3 p3 block G1 a2 g2 Set-up b2 cell p2 G3 a1 g1 Set-up P2 b cell p 1 1 ripple - carry G3 G2 a0 g0 P0 Set-up - bit G1 4 b0 cell p0 G0 Cin

P1 cin P3 However, there is a solution! MOSFET blocks can be VSS rearranged in the schematic with same functionality.

2016 MCC092: Integrated Circuit Design 23 Gate Matrix Layout

Here is the resulting layout!

Cin P1 G1 P2 G2 P3 G3 P4 G4

VDD

CIN COUT

VSS

2016 MCC092: Integrated Circuit Design 24 Gate Matrix Layout The layout again, a bit more refined!

Cin P1 G1 P2 G2 P3 G3 P4 G4 VDD

CIN COUT

VSS

NOTE: The layout is very compact and elegant, however, only post-layout circuit simulations with node capacitances extracted from the layout will reveal the exact performance of the cell.

2016 MCC092: Integrated Circuit Design 25 General Rules for CMOS Layout

• Run supply lines for VDD and VSS along the upper and lower cell boundaries • Run a vertical poly wire for each input signal • Order the poly wires to obtain maximal connectivity between transistors through abutment of source/drain areas. Connected transistors then form transistor segments • Place n-transistor segments close to the bottom VSS supply rail and p-transistors close to the top VDD supply rail • Wires necessary to complete the design are drawn in metal, poly, or, if necessary in diffusion (for instance when connecting segments to the supply rails • Remember to keep internal node capacitances at a minimum

2016 MCC092: Integrated Circuit Design 26