portas lógicas cmos · caraterísticas das portas cmos excursão total: margens de ruído grandes...

56
Transístores 1 FEUP/DEEC Março de 2012 Portas lógicas CMOS João Canas Ferreira Tópicos de Projecto de Circuitos VLSI

Upload: truongnhan

Post on 23-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

VLSI Transístores 1

FEUP/DEECMarço de 2012

Portas lógicas CMOS

Joã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

Portas CMOS complexas Estrutura geral Caraterísticas gerais Layout de células

Esforço lógico (dimensionamento)

VLSI Transístores 3

Circuitos CMOS estáticos complementares

VDD

F(In1,In2,…InN)

In1In2

InN

In1In2

InN

PUN

PDN

PMOS

NMOS

PUN e PDN são redes lógicas duais

VLSI Transístores 4

Porta NAND

VLSI Transístores 5

Porta NOR

VLSI Transístores 6

Porta CMOS complexa (complementar, estática)

OUT = D + A • (B + C)

D

A

B C

D

A

B

C

VLSI Transístores 7

Construção de porta lógica

C

(a) rede pull-down

SN1 SN4

SN2

SN3D

FF

A

DB

C

D

F

A

B

C

D

A

A

B

C

VDD VDD

B

(c) Porta completa

(a) identificar sub-redeshierarquicamente

VLSI Transístores 8

Conteúdo

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

Digital Integrated Circuits, 2ª ed, Prentice-Hall

Portas CMOS complexas Estrutura geral Caraterísticas gerais Layout de células

Esforço lógico (dimensionamento)

VLSI Transístores 9

Caraterísticas das portas CMOS

Excursão total: margens de ruído grandes Níevis lógicos não dependem das dimensões dos dispositivos (ratioless) Caminho entre saída e Vdd/Gnd em regime estacionário: baixa resistência de entrada Resistência de entrada muito elevada (corrente DC de entrada ≈0) Sem camingo direto entre Vdd e Gnd: sem dissipação estática de potência Atraso depende de capacidade de carga e resistência dos transístores

VLSI Transístores 10

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 INVNOR2

VLSI Transístores 11

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► Atraso é 0.69 Rp CL

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

► atraso é 0.69 × 2 × Rn CL

CL

B

Rn

A

Rp

B

Rp

A

Rn Cint

VLSI Transístores 12

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

57A= 1→0, B=1

76A=1, B=1→0

35A=B=1→0

50A= 0→1, B=1

62A=1, B=0→1

69A=B=0→1

Atraso

(ps)

Padrão de entrada

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

-0.5

0

0.5

1

1.5

2

2.5

3

0 100 200 300 400

A=B=1→0

A=1→0, B=1

A= 1, B=1 →0

tempo [ps]

Ten

são

[V]

VLSI Transístores 13

Dimensionamento de transístores (1/2)

CL

B

Rn

A

Rp

B

Rp

A

Rn Cint

B

Rp

A

Rp

A

Rn

B

Rn CL

Cint

2

2

2 2

11

4

4

Portas “equilibradas” (assumindo β = 2)

VLSI Transístores 14

Dimensionamento de transístores (2/2)

OUT = D + A • (B + C)

D

A

B C

D

A

B

C

1

2

2 2

4

4

8

8

6

3

6

6

VLSI Transístores 15

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 16

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 17

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

2 4 6 8 10 12 14 16

tpNOR2t p

eff. fan-out

tpNAND2

tpINV

VLSI Transístores 18

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

Útil 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 19

Portas rápidas: técnica 2

Ordem de chegada dos sinais de entrada

caminho crítico caminho crítico

atraso determinado pela descarga de CL, C1 e C2

atraso determinado pela descarga de CL

VLSI Transístores 20

Portas rápidas: técnica 3

Estruturas lógicas alternativas

F = ABCDEFGH

Objectivo: diminuir "fan-in"

VLSI Transístores 21

Portas rápidas: técnica 4

"Isolar" fan-in de fan-out inserindo buffers

CLCL

VLSI Transístores 22

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

Mas 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 23

Conteúdo

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

Digital Integrated Circuits, 2ª ed, Prentice-Hall

Portas CMOS complexas Estrutura geral Caraterísticas gerais Layout de células

Esforço lógico (dimensionamento)

VLSI Transístores 24

Standard cell (anos 80)

(Faltam poços e contactos)

VLSI Transístores 25

Standard cell (anos 90)

VLSI Transístores 26

Estrutura de célula

VLSI Transístores 27

Variantes de célula inversora

VLSI Transístores 28

Célula de porta NAND2

VLSI Transístores 29

Planeamento (diagrama de sticks)

Sem tamanhosPosições relativas

VLSI Transístores 30

Planeamento de células complexas

C

A B

X = C • (A + B)

B

AC

i

j

j

VDDX

X

i

GND

AB

C

PUN

PDNABC

Grafo

Desenhar dois grafosDeterminar caminho de Euler: percurso através de todas as arestas (só 1 vez) → Layout com difusão contínua!Consistentes = mesma sequência de nós nos 2 percursos (PDN e PUN)

VLSI Transístores 31

Duas alternativas de implementação

Sem “quebras” de difusão

VLSI Transístores 32

Exemplo: Porta OAI22

D

C

A B

X = (A+B)•(C+D)

B

A

D

VDDX

X

GND

AB

C

PUN

PDN

C

D

D

ABC

VLSI Transístores 33

Transístores largos

VLSI Transístores 34

Conteúdo

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

Digital Integrated Circuits, 2ª ed, Prentice-Hall

Portas CMOS complexas Estrutura geral Caraterísticas gerais Layout de células

Esforço lógico (dimensionamento)

VLSI Transístores 35

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 36

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 37

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 Rinv C inv

d=g⋅f p atraso em unidades de

g =Rt C t

Rinv C 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 38

Modelo de 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 fan-out efectivo = Cout/Cin

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

d = g * f + p

VLSI Transístores 39

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 40

Esforço lógico de algumas portas simples

Esforç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 41

Esforço lógico: portas básicas

VLSI Transístores 42

Esforço lógico de portas (1)

Fan-out (h)

No

rmal

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: Na figura, onde está “h” deve ler-se “f”)

VLSI Transístores 43

Esforço lógico de portas (2)

VLSI Transístores 44

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 45

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 correspondentes á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 46

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 47

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 48

Minimizar atraso com dois andares

D=g1 f 1 p1g2 f 2 p2

f 1=C 2

C1

f 2=C3C2

f 1 f 2=C 3

C 1

=F

D= g1 f 1 p1g2 F

f1 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 49

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 =GBFEsforç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 inversores

todos 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 50

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

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.

VLSI Transístores 51

Aspectos pragmáticos

se 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= N 1F 1 / N 1

p inv

Ou usar ...

N ≈log4 H

VLSI Transístores 52

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"Fan-out" efectivo de cada andar:

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

Número óptimo de andares: N≈log4 H

VLSI Transístores 53

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

Fan-out efectivo: 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 54

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 55

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 56

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

Adaptado de: Logical Effort, Sutherland, Sproull & Harris

Resumo das definições

Conceito Andar (porta lógica) Percurso

esforço lógico g G=∏ g i

esforço eléctrico f =Cout

C in

F=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 N

atraso intrínseco p P=∑ p i

atraso d =h p D=DH P