Post on 02-Jul-2018
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 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 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 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 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