66
Transístores 1 FEUP/DEEC Outubro de 2007 Portas lógicas CMOS João Canas Ferreira Tópicos de Projecto de Circuitos VLSI

Portas lógicas CMOS - paginas.fe.up.ptjcf/ensino/disciplinas/mieec/pcvlsi/2007-08a/portas-cmos.pdf · VLSI Transístores 8 Vout 0.5 1 1.5 2 2.5 Vin 0. 5 1 1. 5 2 2. 5 NMOS res PMOS

  • Upload
    buianh

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

VLSI Transístores 1

FEUP/DEECOutubro de 2007

Portas lógicas CMOSJoão Canas Ferreira

Tópicos deProjecto de Circuitos VLSI

VLSI Transístores 2

Conteúdo

Baseado em:J. Rabaey, A. Chandrakasan, B. Nikolic

Digital Integrated Circuits, 2ª ed, Prentice-Hall

Inversor comportamento estático comportamento dinâmico (tempo de propagação) cadeias de inversores

Portas CMOS complexas Esforço lógico (dimensionamento)

VLSI Transístores 3

O inversor CMOS

Poli-silício

In Out

VDD

GND

PMOS 2λ

Metal 1

NMOS

Contactos

N Well

VLSI Transístores 4

Análise DC de primeira ordem

VOL = 0VOH = VDD

VM = f(Rn, Rp )

VDD VDD

V in = VDD V in =0

VoutVout

Rn

Rp

VLSI Transístores 5

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

Resposta transitória

V o utV o ut

R n

R p

V DDV DD

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

C LC L

Vin = V

DDVin = 0

VLSI Transístores 6

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

VLSI Transístores 7

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

VLSI Transístores 8

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

VLSI Transístores 9

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 r V DDV TpV DSATp

2 1r

r=k p V DSATp

k nV DSATn

V M≈r V DD

1r

com

para valores elevados de VDD

VLSI Transístores 10

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

VLSI Transístores 11

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

VLSI Transístores 12

Conteúdo

Baseado em:J. Rabaey, A. Chandrakasan, B. Nikolic

Digital Integrated Circuits, 2ª ed, Prentice-Hall

Inversor comportamento estático comportamento dinâmico (tempo de propagação) cadeias de inversores

Portas CMOS complexas Esforço lógico (dimensionamento)

VLSI Transístores 13

Atraso de propagação — Abordagem 1

t pHL≈12

C L V 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

.

VLSI Transístores 14

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

VLSI Transístores 15

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:

VLSI Transístores 16

Resposta transitória

t p=0.69C LReqnReqp

2tpHLtpLH

VLSI Transístores 17

Atraso em função de W e L

t pHL=0.69 34

C LV DD

I DSATn=0.52

C LV DD

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

t pHL≈0,52C L

W / Ln k ' n V DSATn

VLSI Transístores 18

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

pLH mas degrada t

pHL. (Porquê?)

opt=r 1 C w

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

VLSI Transístores 19

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 step 2 t r /2

2

VLSI Transístores 20

Conteúdo

Baseado em:J. Rabaey, A. Chandrakasan, B. Nikolic

Digital Integrated Circuits, 2ª ed, Prentice-Hall

Inversor comportamento estático comportamento dinâmico (tempo de propagação) cadeias de inversores

Portas CMOS complexas Esforço lógico (dimensionamento)

VLSI Transístores 21

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

VLSI Transístores 22

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 ReqC intC ext

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

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

VLSI Transístores 23

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.69 Rref /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

VLSI Transístores 24

O conceito de "fanout" efectivo

Cint = γ Cgin actualmente com γ ≈ 1

f = CL/Cgin "fanout" efectivo

Cgin : capacidade à entrada da cadeia

t p=t p0 1C 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

VLSI Transístores 25

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 parciaisResultado: 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−1C g , j1

VLSI Transístores 26

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çõesDimensão óptima: média geométrica dos vizinhos.Cada inversor é f vezes maior que o anterior

Os outros termos são independentes 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

VLSI Transístores 27

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 /

VLSI Transístores 28

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

VLSI Transístores 29

"Fanout" efectivo óptimo f

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

fopt = 3.6para γ = 1

f =e1/ f

VLSI Transístores 30

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

VLSI Transístores 31

Impacto da utilização de buffers: exemplo

Tabela de tpopt

/tp0

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

F sem buffer 2 andares cadeia de inversores10 11 8,3 8,3100 101 22 16,51000 1001 65 24,810000 10001 202 33,1

VLSI Transístores 32

Conteúdo

Baseado em:J. Rabaey, A. Chandrakasan, B. Nikolic

Digital Integrated Circuits, 2ª ed, Prentice-Hall

Inversor comportamento estático comportamento dinâmico (tempo de propagação) cadeias de inversores

Portas CMOS complexas Esforço lógico (dimensionamento)

VLSI Transístores 33

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…

VLSI Transístores 34

Porta CMOS complexa (complementar, estática)

OUT = D + A • (B + C)

DA

B C

D

AB

C

VLSI Transístores 35

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

VLSI Transístores 36

Impacto 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

VLSI Transístores 37

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

VLSI Transístores 38

Questões de "fan-in"DCBA

D

C

B

A CL

C3

C2

C1Atraso de Elmore:

t pHL=0.69 Reqn C12C 23C 34C 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⋅C 1R1R2⋅C 2R1R2R3⋅C 3R1R2R3R4⋅C L

Supondo todos os transístores iguais:

VLSI Transístores 39

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

Regra prática: Evitar portas lógicas com mais de 4 entradas.

VLSI Transístores 40

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 das dimensões

VLSI Transístores 41

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

VLSI Transístores 42

Portas rápidas: técnica 3

Estruturas lógicas alternativas

F = ABCDEFGH

objectivo: diminuir "fanin"

VLSI Transístores 43

Portas rápidas: técnica 4

"Isolar" fanin de fanout inserindo buffers

CLCL

VLSI Transístores 44

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

VLSI Transístores 45

Conteúdo

Baseado em:J. Rabaey, A. Chandrakasan, B. Nikolic

Digital Integrated Circuits, 2ª ed, Prentice-Hall

Inversor comportamento estático comportamento dinâmico (tempo de propagação) cadeias de inversores

Portas CMOS complexas Esforço lógico (dimensionamento)

VLSI Transístores 46

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

VLSI Transístores 47

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

t pabs=0.69 Rt

a Cin Cout

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 RinvC inv

d=g⋅f p atraso em unidades de

g=Rt C t

RinvC inv p=

Rt C pt

Rinv Cinv

Usar este tempo como unidade de referência que caracteriza o processo de fabrico para converter entre valores relativos e absolutos.

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

Valor típico para pinv = 1

VLSI Transístores 48

Atraso de uma porta lógicaAtraso 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.

d = g * f + p

VLSI Transístores 49

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.

VLSI Transístores 50

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

VLSI Transístores 51

Esforço lógico: portas básicas

VLSI Transístores 52

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”

VLSI Transístores 53

Esforço lógico de portas (2)

VLSI Transístores 54

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

VLSI Transístores 55

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 p inv

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

22×1

=2

VLSI Transístores 56

Tabela de atrasos parasitas

Porta lógica Atraso parasita

Inversor pinv

Nand n entradas n*pinv

NOR n entradas n*pinv

multiplexador n entradas 2*n*pinv

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

VLSI Transístores 57

Esforço de ramificação

b=Con− pathC off − 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=C onC off

C i=

C on

C i×

C onC off

C on= f no_branch×b

VLSI Transístores 58

Minimizar atraso com dois andares

D=g1 f 1 p1g2 f 2 p2

f 1=C 2

C1f 2=

C3C2

f 1 f 2=C 3

C 1=F

D= g1 f 1 p1g2 Ff1

p2 D f 1

=g1−g2 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.

VLSI Transístores 59

Atraso óptimo de caminho longo

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

b i

definindo g 1 g 2 g N=G

H =g1 f 1g 2 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=H 1 /N

D=∑ g i f i p i=N H 1 /NP

VLSI Transístores 60

Número de andares óptimoCenário: caminho com n1 andares e n2 inversores, N = n1+n2

Assumir que se pode alterar n2. (Não altera o esforço do caminho)

D=N H 1/ N∑i=1

n1

piN−n1 pinv

DN =−H 1/N lnH 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.

VLSI Transístores 61

Aspectos pragmáticosse p inv=0 então =e=2.718

aproximação

≈0.71 pinv2.82

para p inv=1 temos =3.59

Ou usar a tabela ...

Esforço de caminho H

N F 1 / N p inv= N1F 1 / N 1 p inv

Ou usar ...N≈log4H

VLSI Transístores 62

Esforço óptimo por andar: resumo

hN=H h= NH

Cada andar "suporta" o mesmo esforço:

D=∑ g i f i pi =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

VLSI Transístores 63

Exemplo: Optimização de um percurso(determinação das capacidades de entrada)

g = 1f = a

g = 5/3f = b/a

g = 5/3f = c/b

g = 1f = 5/c

Fanout effectivo, F = 5G = 25/9, B=1H = FGB =125/9 = 13.9h = H1/4 = 1.93c = 5 *Cin * g4 / h = 2.59 * Cinb = 2.59 * Cin g3 / h = 2.23 * Cina = 2.23 * Cin g2 / h = 1.93 * Cin C ini

= g i

C out i

h

h= f i g i=g i

C out i

C ini

Cin

VLSI Transístores 64

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)

VLSI Transístores 65

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.

VLSI Transístores 66

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=GFB

atraso h DH=∑ hi

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

atraso d=h p D=DHP