Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O...

61
Portas Lógicas CMOS baseado em: Digital Integrated Circuits (2ª ed.), J. A. Rabaey A. Chandrakhasan, B. Nikolic Projecto de Circuitos VLSI FEUP/LEEC 2005/06

Transcript of Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O...

Page 1: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 1FEUP/LEEC —PCVLSI 2005/06

Portas Lógicas CMOS

baseado em:Digital Integrated Circuits (2ª ed.), J. A. Rabaey A. Chandrakhasan, B. Nikolic

Projecto de Circuitos VLSIFEUP/LEEC

2005/06

Page 2: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 2FEUP/LEEC —PCVLSI 2005/06

O inversor CMOS

Poli-silício

In Out

VDD

GND

PMOS 2λ

Metal 1

NMOS

OutIn

VDD

PMOS

NMOS

Contactos

N Well

Page 3: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 3FEUP/LEEC —PCVLSI 2005/06

Análise DC de primeira ordem

VOL = 0VOH = VDD

VM = f(Rn, Rp )

VDD VDD

V in = VDD V in =0

VoutVout

Rn

Rp

Page 4: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 4FEUP/LEEC —PCVLSI 2005/06

tpHL = f(R on.CL)= 0.69 Ron CL

Resposta transitória

V o u tV o u t

R n

R p

V D DV D D

(a) Low to high (b) High to low

C LC L

Vin = V

DDVin = 0

Page 5: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 5FEUP/LEEC —PCVLSI 2005/06

Linhas de carga PMOS

V DSp

IDp

VGSp=-2.5

VGSp=-1V DSp

IDnV in=0

V in=1.5

Vout

I DnV in=0

V in=1.5

V in = V DD+VGSpIDn = - IDp

Vout = V DD+VDSp

V out

IDnV in = V DD +VGSpIDn = - I Dp

V out = VDD +VDSp

Page 6: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 6FEUP/LEEC —PCVLSI 2005/06

Característica de carga do inversor CMOS

IDn

Vout

Vin = 2.5

Vin = 2

Vin = 1.5

Vin = 0

Vin = 0.5

Vin = 1

NMOS

Vin = 0

Vin = 0.5

Vin = 1Vin = 1.5

Vin = 2

Vin = 2.5

Vin = 1Vin = 1.5

PMOS

Page 7: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 7FEUP/LEEC —PCVLSI 2005/06

Vout

Vin0.5 1 1.5 2 2 .5

0.5

11.

52

2.5

NMOS resPMOS off

NMOS satPMOS sat

NMOS offPMOS res

NMOS satPMOS res

NMOS resPMOS sat

Curva de transferência do inversor CMOS

NMOS offPMOS res

NMOS satPMOS res

NMOS satPMOS sat

NMOS resPMOS sat NMOS res

PMOS off

Page 8: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 8FEUP/LEEC —PCVLSI 2005/06

VM em função da razão entre transístores

100 1010.8

0.9

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

MV (

V)

Wp/W

n

V M=V Tn

V DSATn

2 rV DDV TpV DSATp

2 1r

r=k p V DSATp

kn V DSATn

V M≈r V DD

1r

com

para valores elevados de VDD

Page 9: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 9FEUP/LEEC —PCVLSI 2005/06

Determinação de VIH e VIL

VOH

VOL

Vin

Vout

VM

VIL VIH

Abordagem simplificada

V IH−V IL=−V OH−V OL

g=−V DD

g

V IH=V M−V M

g

V IL=V MV DD−V M

g

NM L=V IL NM H=V DD−V IH

Page 10: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 10FEUP/LEEC —PCVLSI 2005/06

Ganho g do inversor

g≈− 1I D V M

k n V DSATnk p V DSATp

n− p

≈ 1rV M−V Tn−V SATn /2n− p

Page 11: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 11FEUP/LEEC —PCVLSI 2005/06

Atraso de propagação — Abordagem 1

t pHL≈12

C LV swing

I AV≈

C L

k n V DD

com I AV=k n

2V DD−V th

2

(canal longo)

Corrente média calculada como o valor médio de ID(V

DS=V

DD)

[saturado] e ID(VDS

=VDD

/2) [linear], com VGS

=VDD

.

Page 12: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 12FEUP/LEEC —PCVLSI 2005/06

Atraso de propagação — Abordagem 2

VDD

Vout

Vin = VDD

Ron

CL

tpHL = f(Ron.CL)= 0.69 RonCL

t

Vout

VDD

RonCL

1

0.5

ln(0.5)

0.36

Page 13: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 13FEUP/LEEC —PCVLSI 2005/06

Cálculo de tpHL

Req≈34

V DD

I DSAT1−7

9V DD

I DSAT=k ' WL V DD−V T V DSAT−

V DSAT2

2 t pHL=ln 2Reqn C L=0.69 Reqn C L

com

Logo:

Page 14: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 14FEUP/LEEC —PCVLSI 2005/06

Resposta transitória

t p=0.69C LReqnReqp

2tpHLtpLH

Page 15: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 15FEUP/LEEC —PCVLSI 2005/06

Atraso em função de W e L

t pHL=0.69 34

C L V DD

I DSATn=0.52

C L V DD

W /Ln k ' n V DSATn V DD−V Tn−V DSATn /2

t pHL≈0,52C L

W /Ln k ' nV DSATn

Page 16: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 16FEUP/LEEC —PCVLSI 2005/06

Rapidez: Qual a melhor razão NMOS/PMOS?

Alargar PMOS beneficia tpLH

mas degrada tpHL

. (Porquê?)

opt=r1 Cw

Cdn1C gn2

r=Reqp /Reqn

opt≈rIgnorando a pista:

tp

β = Wp/Wn

tpHLtpLH

=W /Lp

W /Ln=

W p

W n⋅

Ln

L p

com r = razão entre as resistências de transístores P e N das mesmas dimensões

Page 17: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 17FEUP/LEEC —PCVLSI 2005/06

Impacto do tempo de subida no atraso tpt p

HL(

nsec

)

0.35

0.3

0.25

0.2

0.15

trise (nsec)10.80.60.40.20

Influência da forma deonda de entrada.

tr : 10% → 90%

t pHL= t pHL step2 t r /2

2

Page 18: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 18FEUP/LEEC —PCVLSI 2005/06

Cadeia de inversores

CL

Dado CL:

- Quantos andares para minimizar o atraso?

- Como dimensionar os inversores?

In Out

Exemplo da avaliação do tempo de propagação “inserido” em circuito

Page 19: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 19FEUP/LEEC —PCVLSI 2005/06

Atraso de inversor: carga capacitiva

• Assumir inversor “equilibrado”• cadeias de pull-up e pull-down iguais• aprox. resistências iguais RN = RP

• aprox. tempos tpLH e tpHL

t p=0.69 Req C intC ext

t p=0.69 ReqC int 1C ext /C int=t p01Cext /C int

Cint: capacidade intrínsecaCext: capacidade extrínseca (pista e gates “atacadas”: fan-out)tp0: atraso intrínseco (sem carga)

Page 20: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 20FEUP/LEEC —PCVLSI 2005/06

Atraso do inversor: dependência das dimensões

Quando um inversor é aumentado de S (largura: W → S × Wref)

Cint = S Cintref e Req = Reqref / S

Nota: Transístor de referência é o mais pequeno transístor “simétrico”: tpHL = tpLH

Então:

tp0 é independente do dimensionamento

t p=0.69Rref /S S C intref 1C ext /S C intref

t p=0.69 Rref C intref 1 C ext

S C intref =t p01 C ext

S C intref

Page 21: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 21FEUP/LEEC —PCVLSI 2005/06

O conceito de "fanout" efectivo

Cint = γ Cgin actualmente com γ ≈ 1

f = CL/Cgin "fanout" efectivo

Cgin : capacidade à entrada da cadeia

t p=t p01C ext /C gin=t p0 1 f /

O atraso de um inversor depende apenas da razão entre a sua capacidade de carga externa e a sua capacidade de entrada.

VDD

CintCgin

Page 22: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 22FEUP/LEEC —PCVLSI 2005/06

Dimensionamento de cadeias de inversores para N fixo

Equação de atraso tem N-1 incógnitas, Cgin,2 a Cgin,N

Minimizar o atraso, determinar N-1 derivadas parciais

Resultado: Cgin,j+1/Cgin,j = Cgin,j/Cgin,j-1

Tamanho de cada andar é a média geométrica dos vizinhos.

- cada andar tem o mesmo fanout efectivo (Cout/Cin)- cada andar tem o mesmo atraso

C g , j=C g , j−1 C g , j1

Page 23: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 23FEUP/LEEC —PCVLSI 2005/06

Detalhes...t p=t p0∑

j=1

N 1C g , j1

C g , j Por exemplo:

t p

C g ,2=t p0

C g ,2 C g ,1

C g ,2

C g ,2

C g ,3 =0

−C g ,1

1

C g ,22 1

C g ,3=0

C g ,22 =C g ,1C g ,3

C g ,2=C g ,1C g ,3

Derivam-se assim N-1 restrições

Dimensão óptima: média geométrica dos vizinhos.

Cada inversor é f vezes maior que o anterior

Os outros termos sãoindependentes de C

g,2 logo a sua

derivada é nula.

C g ,22 =C g ,1C g ,3⇔

C g ,3

cg ,2=

C g ,2

C g1= f

Page 24: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 24FEUP/LEEC —PCVLSI 2005/06

Atraso mínimo e número de andares

Na situação óptima, cada andar é aumentado de f (factor de aumento)e tem fanout efectivo f:

Atraso mínimo:

Fan-out efectivo de cada andar:

f =NC L/C g ,1

f =NF F é o "fanout" efectivo global

t p=N t p01NF /

Page 25: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 25FEUP/LEEC —PCVLSI 2005/06

Qual é o número óptimo de andares?

Problema: Para uma dada carga, CL e uma dada capacidadede entrada Cin, determinar o factor de aumento f óptimo.

Para γ = 0, f =e, logo N = ln (F)

f =e1/ f Equivalente:

NF−NF ln F

N=0

Diferenciar tp em ordem a N e igualar a zero, resulta em:

C L=F⋅C in= f N C in com N= ln Fln f

Page 26: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 26FEUP/LEEC —PCVLSI 2005/06

"Fanout" efectivo óptimo f

Qual é o f óptimo para um dado processso (caracterizado por γ)

fopt = 3.6para γ = 1

f =e1/ f

Page 27: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 27FEUP/LEEC —PCVLSI 2005/06

Impacto de “auto-carga” sobre tp

1.0 3.0 5.0 7.0u

0.0

20.0

40.0

60.0

u/ln

(u)

x=10

x=100

x=1000

x=10,000

Sem auto-carga, γ=0 Com auto-carga, γ=1

Tempo de propagação normalizado (tp/t

popt) com função de f

Page 28: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 28FEUP/LEEC —PCVLSI 2005/06

Impacto da utilização de buffers: exemplo

Tabela de tpopt

/tp0

para três situações (com γ=1):

F s/ buffer 2 andares cadeia de inversores

10 11 8,3 8,3

100 101 22 16,5

1000 1001 65 24,8

10000 10001 202 33,1

Page 29: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 29FEUP/LEEC —PCVLSI 2005/06

Generalização para circuitos CMOS estáticos complementares

VDD

F(In1,In2,…InN)

In1In2

InN

In1In2InN

PUN

PDN

PMOS

NMOS

PUN e PDN são redes lógicas duais…

Page 30: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 30FEUP/LEEC —PCVLSI 2005/06

Porta CMOS complexa (complementar, estática)

OUT = D + A • (B + C)

DA

B C

D

AB

C

Page 31: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 31FEUP/LEEC —PCVLSI 2005/06

Modelo para determinação de atrasos

A

Req

A

Rp

A

Rp

A

Rn CL

A

CL

B

Rn

A

Rp

B

Rp

A

Rn Cint

B

Rp

A

Rp

A

Rn

B

Rn CL

Cint

NAND2 INV NOR2

Page 32: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 32FEUP/LEEC —PCVLSI 2005/06

Efeito do padrão de entradas no atraso

Atraso é dependente do padrão das entradas

Transição de “0” para “1” ambas as entradas a zero

atraso é 0.69 (Rp/2) CL

uma entrada a zero delay is 0.69 Rp CL

Transição de “1” para “0” ambas as entradas a um

atraso é 0.69 × 2 × Rn CL

CL

B

Rn

ARp

BRp

A

Rn Cint

Page 33: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 33FEUP/LEEC —PCVLSI 2005/06

Atraso em função do padrão de entradas

81A= 1→0, B=1

80A=1, B=1→0

45A=B=1→0

61A= 0→1, B=1

64A=1, B=0→1

67A=B=0→1

Atraso(ps)

Padrão de entrada

NMOS = 0.5µm/0.25 µmPMOS = 0.75µm/0.25 µmCL = 100 fF

Page 34: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 34FEUP/LEEC —PCVLSI 2005/06

Questões de "fan-in"DCBA

D

C

B

A CL

C3

C2

C1

Atraso de Elmore:

t pHL=0.69 ReqnC12C23C34 C L

Atraso de propagação deteriora-se rapidamente com o "fan-in" (nº de sinais de entrada): no pior caso, quadraticamente.

t pHL=0.69 R1⋅C1R1R2⋅C2R1R2R3⋅C3R1R2R3R4⋅C L

Supondo todos os transístores iguais:

Page 35: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 35FEUP/LEEC —PCVLSI 2005/06

Tempo de propagação em função de "fan-in"

Evitar portas lógicas com mais de 4 entradas.

Page 36: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 36FEUP/LEEC —PCVLSI 2005/06

Portas rápidas: técnica 1Aumento dos transístores

enquanto a capacidade de "fanout" (externa) for dominante

Dimensionamento progressivo

InN CL

C3

C2

C1In1

In2

In3

M1

M2

M3

MNModelo de atraso de Elmore:

M1 > M2 > M3 > … > MN (FET mais próximo da saída é o menor)

Pode reduzir atraso mais de 20%; ganhos decrescentes com redução da tecnologia

Page 37: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 37FEUP/LEEC —PCVLSI 2005/06

Portas rápidas: técnica 2

Ordem de transístores

caminho crítico caminho crítico

atraso determinado pela descarga de CL, C1 and C2

atraso determinado pela descarga de CL

Page 38: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 38FEUP/LEEC —PCVLSI 2005/06

Portas rápidas: técnica 3

Estruturas lógicas alternativas

F = ABCDEFGH

objectivo: diminuir "fanin"

Page 39: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 39FEUP/LEEC —PCVLSI 2005/06

Portas rápidas: técnica 4

"Isolar" fanin de fanout inserindo buffers

CLCL

Page 40: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 40FEUP/LEEC —PCVLSI 2005/06

Portas rápidas: técnica 5

Redução da amplitude de tensão

redução linear do atraso

também reduz consumo de potência

A porta seguinte é muito mais lenta

Ou é necessário usar “sense amplifiers” para recuperar o nível de tensão (memórias)

tpHL = 0.5 (CL VDD)/ IDSATn

= 0.5 (CL Vswing)/ IDSATn

Page 41: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 41FEUP/LEEC —PCVLSI 2005/06

Dimensionamento de portas lógicas Porta lógica caracterizada por quatro grandezas:

Cin, Cp (parasita), Rup, Rdn Porta lógica = instância de um circuito padrão multiplicado

por um factor de aumento a Dimensionar porta lógica = determinar a

Características do circuito padrão: Capacidade de entrada Ct

Capacidade intrínseca (parasita) Cpt

Resistência de pull-up = Res. Pull-down = Rt

Para uma porta dimensionada: Cin = a Ct

Rup = Rdn = Ri = Rt/a

Cpi = a Cpt

Page 42: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 42FEUP/LEEC —PCVLSI 2005/06

Modelo para o atraso de uma porta lógicat pabs=0.69 Ri CoutC pi

t pabs=0.69Rt

a C inCout

C in 0.69 Rt

a a×C pt

Mapear numa equação da seguinte forma

t pabs=g⋅f p com

f =Cout

C in e =0.69 Rinv C inv

d=g⋅f p atraso em unidades de

g=Rt C t

Rinv C inv p=

Rt C pt

Rinv C inv

caracteriza o processo de fabrico

Usar o atraso do inversor mínimo (sem parasitas), simétrico como unidade de referência

Para inversores: o esforço lógico g = 1

Onde está “a” ?

Para inversores: o esforço lógico g = 1

Valor típico para pinv = 1

Page 43: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 43FEUP/LEEC —PCVLSI 2005/06

Atraso de uma porta lógica

Atraso de uma porta:d= h + p

atraso de esforço(effort delay) atraso intrínseco

Esforço lógico:h = g * f

esforço lógico fanout efectivo = Cout/Cin

O esforço lógico depende apenas da topologia, não das dimensões.O esforço eléctrico ("fanout" efectivo) depende da carga e das dimensões da porta.

Page 44: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 44FEUP/LEEC —PCVLSI 2005/06

Definições de esforço lógico g

Definição 2: O esforço lógico de uma porta (lógica...) define-se como a razão entre a sua capacidade de entrada e a capacidade de entrada de um inversor capaz de fornecer a mesma corrente.

Definição 1: O esforço lógico de uma porta (lógica...) define-se como o número de vezes que essa porta é pior a fornecer corrente que um inversor com a mesma capacidade de entrada.

Definição 3: O esforço lógico de uma porta (lógica...) define-se como o declive da curva de atraso vs. “fanout” dividido pelo declive da curva correspondente para um inversor.

Page 45: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 45FEUP/LEEC —PCVLSI 2005/06

Esforço lógico de algumas portas simplesEsforço lógico é a razão entre a capacidade de entrada de uma porta e a capacidade de entrada de um inversor com a mesma corrente de saída.

g=1 g=4/3 g=5/3

Page 46: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 46FEUP/LEEC —PCVLSI 2005/06

Esforço lógico: portas básicas

Page 47: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 47FEUP/LEEC —PCVLSI 2005/06

Esforço lógico de portas (1)

Fan-out (h)

Nor

mal

ized

del

ay (d

)

t

1 2 3 4 5 6 7

pINVtpNAND

F(Fan-in)

g = 1p = 1d = h+1

g = 4/3p = 2d = (4/3)h+2

Nota: onde está “h” deve ler-se “f”

Page 48: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 48FEUP/LEEC —PCVLSI 2005/06

Esforço lógico de portas (2)

Page 49: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 49FEUP/LEEC —PCVLSI 2005/06

Exemplos

1. Determinar o atraso do inversor FO4 (fanout-of-4)

d= f g p=1×4 pinv=41=5

2. Determinar o atraso do uma porta NOR-4 que ataca 10 portas idênticas.

d= f g p=3×104×1=34

3. Determinar a frequência de oscilação de um anel de N inversores idênticos

d= f g p=1×1 pinv=21

2 N F=d =1 pinv atraso de cada andar de um oscilador

Page 50: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 50FEUP/LEEC —PCVLSI 2005/06

Estimação do atraso intrínsecoSituação: Porta lógica com a mesma corrente de saída do inversor de referência. Transístores têm canal com o mesmo comprimento. Relação (W/L)p / (W/L)n = β

Então: (simplificando) O atraso da porta lógica é X vezes o atraso do inversor de referência (pinv), em que X é a razão entre a soma das áreas (larguras) de difusão (fontes ou drenos) ligadas ao nó de saída da porta em consideração e as mesmas áreas do inversor de referência.

p=∑ wd

1 pinv

NAND-2: 1 transístor de pull-down de largura 2 2 transístores de pull-up de largura β, o que leva a p = 2 pinv.

NAND-n: p = n pinv.Para a porta NOR-n obtém um resultado idêntico.

Trata-se de um simplificação importante. Para melhores resultados, deve calibrar-se o modelo a partir de simulações/estudos mais detalhados.

p=C ptx

C inv=

z⋅C pinv

C inv=z⋅pinv

C ptx=z⋅C ptinv z=C ptx

C ptinv

Page 51: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 51FEUP/LEEC —PCVLSI 2005/06

Tabela de atrasos parasitas

Porta lógica Atraso parasita

Inversor pinv

Nand n entradas n*pinv

NOR n entradas n*pinv

multiplexdor n entradas 2*n*pinv

xor, xnor n* 2(n-1)*pinv

Page 52: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 52FEUP/LEEC —PCVLSI 2005/06

Esforço de ramificação

b=Con− pathCoff −path

Con− path

Ci

Ctotal

Coff

ConAo dimensionar “apenas” ao longo do percurso, a porta lógica 1 tem de ser de ser dimensionada “contando” não apenas com a carga da porta 2, mas também com a carga de Coff (que não está a ser dimensionada).

a dimensionar

21

f 1=ConC off

C i=

Con

C i×

C onCoff

C on= f no_branch×b

Page 53: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 53FEUP/LEEC —PCVLSI 2005/06

Minimizar atraso com dois andares

D=g1 f 1 p1g 2 f 2 p2

f 1=C2

C1f 2=

C3C2 f 1 f 2=

C3

C1=F

D=g1 f 1 p1 g 2 Ff1 p2

D f 1

=g1−g 2 F

f 12 =0

g1 f 1=g2 f 2

Generalização: O atraso é minimizado quando cada andar exerce o mesmo esforço (f*g). O resultado é independente das dimensões e dos atrasos parasitas;pode ser generalizado para qualquer número de andares e esforço de ramificação.

Page 54: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 54FEUP/LEEC —PCVLSI 2005/06

Atraso óptimo de caminho longo

f 1 f 2 f N=B F com B=∏i

bi

definindo g1 g 2g N=G

H=g1 f 1g2 f 2g N f N =GBF

Esforço do caminho:

a) Não é uma medida directa do atraso.

b) Não depende da dimensão dos circuitos

c) Não é alterado pela inserção de inversorestodos iguais, logo h= f g

hN=H h=F 1/N

D=∑ g i f i pi=N F 1/NP

Page 55: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 55FEUP/LEEC —PCVLSI 2005/06

Número de andares óptimoCenário: caminho com n1 andares e n2 inversores, N = n1+n2Assumir que se pode alterar n2. (Não altera o esforço do caminho)

D=N H 1/ N∑i=1

n1

piN−n1 pinv

D N

=−H 1 /N ln H 1/N H 1/ N pinv=0

substituindo pelo atraso para número óptimo de andares =H 1/ N

pinv1−ln =0

ρ que satisfaz a equação é o esforço de andar óptimo para todos os andares do percurso: é independente das propriedades do caminho.

Page 56: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 56FEUP/LEEC —PCVLSI 2005/06

Aspectos pragmáticosse pinv=0 então =e=2.718

aproximação

≈0.71 pinv2.82

para pinv=1 temos =3.59

Ou usar a tabela ...

Esforço de caminho H

N F1 / N pinv= N1F 1/ N1 pinv

Ou usar ...N≈log4H

Page 57: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 57FEUP/LEEC —PCVLSI 2005/06

Esforço óptimo por andar: resumo

hN =H h=NH

Cada andar "suporta" o mesmo esforço:

D=∑ g i f ip i=NH 1 /NP

Atraso mínimo de percurso:

f i=h /g i"Fanout" efectivo de cada andar:

Esforço dos andares: g1f1 = g2f2 = … = gNfN

Número óptimo de andares: N≈log4H

Page 58: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 58FEUP/LEEC —PCVLSI 2005/06

Exemplo: Optimização de um percurso

g = 1f = a

g = 5/3f = b/a

g = 5/3f = c/b

g = 1f = 5/c

Fanout effectivo, F = 5G = 25/9H = 125/9 = 13.9h = 1.93a = 1.93b = ha/g2 = 2.23c = hb/g3 = 5g4/f = 2.59 C ini

= g i

C out i

hC ini

= g i

C out i

h

h= f i g i=g i

C out i

C ini

Cin

Page 59: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 59FEUP/LEEC —PCVLSI 2005/06

Esforço lógico: Exemplo 2

D = N (FBG)1/N + P

(a) D = 2 (3.33 F)1/2 + 9(b) D = 2 (3.33 F)1/2 + 6(c) D = 4 (2.86 F)1/4 + 7

F = 1 : b (9.65)F = 12 : c (16.77)

Page 60: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 60FEUP/LEEC —PCVLSI 2005/06

Esforço lógico: Sumário (1)

•Calcular o esforço de percurso: H = GBF

•Determinar o número óptimo de andares: N ~ log4(H)

•Calcular o esforço do andar: h = H1/N

•Fazer um esboço do percurso

•Determinar os tamanhos: Cin = Cout * g / h

Referência: Sutherland, Sproull, Harris, “Logical Effort”, Morgan-Kaufmann 1999.

Page 61: Portas Lógicas CMOS - paginas.fe.up.pt fileFEUP/LEEC —PCVLSI 2005/06 Portas lógicas CMOS 2 O inversor CMOS Poli-silício In Out VDD GND PMOS 2λ Metal 1 NMOS In Out VDD PMOS NMOS

Portas lógicas CMOS 61FEUP/LEEC —PCVLSI 2005/06

Esforço lógico: Sumário (2)

Adaptado de: Logical Effort, Sutherland, Sproull & Harris

Resumo das definições

Conceito Andar (porta lógica) Percursoesforço lógico g G=∏ g i

esforço eléctrico f =Cout

C inF=

Cout (percurso)

Cin (percurso)

esforço de ramificação - B=∏ bi

esforço h=gf H=GFBatraso h DH=∑ hi

número de andares 1 Natraso intrínseco p P=∑ p i

atraso d=h p D=DHP