Portas lógicas CMOSpaginas.fe.up.pt/~jcf/ensino/disciplinas/mieec/pcvlsi/2011-12/portas... · VLSI...
Transcript of Portas lógicas CMOSpaginas.fe.up.pt/~jcf/ensino/disciplinas/mieec/pcvlsi/2011-12/portas... · VLSI...
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