portas-cmos

Embed Size (px)

Citation preview

VLSITransstores1FEUP/DEECOutubro de 2007Portas lgicas CMOSJoo Canas FerreiraTpicos deProjecto de Circuitos VLSIVLSITransstores2ContedoBaseado em:J. Rabaey, A. Chandrakasan, B. NikolicDigital Integrated Circuits, 2 ed, Prentice-Hallz Inversorz comportamento estticoz comportamento dinmico (tempo de propagao)z cadeias de inversoresz Portas CMOS complexasz Esforo lgico (dimensionamento)VLSITransstores3O inversor CMOSPoli-silcioInOutVDDGNDPMOS2Metal 1NMOSContactosN WellVLSITransstores4Anlise DC de primeira ordemVOL = 0VOH = VDDVM = f(Rn, Rp )VDDVDDVin = VDDVin =0VoutVoutRnRpVLSITransstores5tpHL = f(Ron.CL)= 0.69 RonCLResposta transitriaV o utV o utR nR pV DDV DD(a) Low to high (b) High to lowC LC LVin = VDDVin = 0VLSITransstores6Linhas de carga PMOSVDSpIDpVGSp=-2.5VGSp=-1VDSpIDnVin=0Vin=1.5VoutIDnVin=0Vin=1.5Vin = VDD+VGSpIDn = - IDpVout = VDD+VDSpVoutIDnVin = VDD+VGSpIDn = - IDpVout = VDD+VDSpVLSITransstores7Caracterstica de carga do inversor CMOSIDnVoutVin = 2.5Vin = 2Vin = 1.5Vin = 0Vin = 0.5Vin = 1NMOSVin = 0Vin = 0.5Vin = 1Vin = 1.5Vin = 2Vin = 2.5Vin = 1 Vin = 1.5PMOSVLSITransstores8VoutVin 0.5 1 1.5 2 2.50.511.522.5NMOS resPMOS offNMOS satPMOS satNMOS offPMOS resNMOS satPMOS resNMOS resPMOS satCurva de transferncia do inversor CMOSNMOS offPMOS resNMOS satPMOS resNMOS satPMOS satNMOS resPMOS sat NMOS resPMOS offVLSITransstores9VM em funo da razo entre transstores1001010.80.911.11.21.31.41.51.61.71.8MV (V)Wp/WnV M=(VTn+V DSATn2)+r(V DD+VTp+V DSATp2)1+rr=k pVDSATpknV DSATnVMr V DD1+rcompara valores elevados de VDDVLSITransstores10Determinao de VIH e VILVOHVOLVinVoutVMVILVIHAbordagem simplificadaV IHV IL=(VOHVOL)g=V DDgV IH=V MV MgV IL=VM+V DDVMgNM L=V ILNMH=V DDV IHVLSITransstores11Ganho g do inversor g1ID(VM) knV DSATn+k pV DSATp\n\p1+r(V MVTnVSATn/ 2)(\n\p)VLSITransstores12ContedoBaseado em:J. Rabaey, A. Chandrakasan, B. NikolicDigital Integrated Circuits, 2 ed, Prentice-Hallz Inversorz comportamento estticoz comportamento dinmico (tempo de propagao)z cadeias de inversoresz Portas CMOS complexasz Esforo lgico (dimensionamento)VLSITransstores13Atraso de propagao Abordagem 1tpHL12 CLV swingIAVCLknV DDcom I AV=kn2 (V DDVth)2(canal longo)Corrente mdia calculada como o valor mdio de ID(VDS=VDD)[saturado] e ID(VDS=VDD/2)[linear], com VGS=VDD.VLSITransstores14Atraso de propagao Abordagem 2VDDVoutVin = VDDRonCLtpHL = f(Ron.CL)= 0.69 RonCLtVoutVDDRonCL10.5ln(0.5)0.36VLSITransstores15Clculo de tpHL Req34V DDIDSAT (179\V DD)IDSAT=k ' WL ((V DDVT)V DSATV DSAT22 )tpHL=ln(2) ReqnCL=0.69 ReqnCLcomLogo:VLSITransstores16Resposta transitriatp=0.69CL( Reqn+Reqp)2tpHLtpLHVLSITransstores17Atraso em funo de W e LtpHL=0.6934 CLV DDIDSATn =0.52CLV DD(W/ L)nk 'nV DSATn(V DDVTnVDSATn/2)tpHL0,52CL(W/ L)nk 'nV DSATnVLSITransstores18Rapidez: Qual a melhor razo NMOS/PMOS? Alargar PMOS beneficia tpLH mas degrada tpHL. (Porqu?)opt=.r(1+CwCdn1+Cgn2)r=Reqp/ Reqnopt.rIgnorando a pista:tp = Wp/WntpHLtpLH=(W / L)p(W / L)n=WpWnLnLpcom r = razo entre as resistncias de transstores P e N das mesmas dimensesVLSITransstores19Impacto do tempo de subida no atraso tptpHL(nsec)0.350.30.250.20.15trise (nsec)1 0.8 0.6 0.4 0.2 0Influncia da forma deonda de entrada.tr :10% 90%tpHL=.tpHL(step)2+(tr/ 2)2VLSITransstores20ContedoBaseado em:J. Rabaey, A. Chandrakasan, B. NikolicDigital Integrated Circuits, 2 ed, Prentice-Hallz Inversorz comportamento estticoz comportamento dinmico (tempo de propagao)z cadeias de inversoresz Portas CMOS complexasz Esforo lgico (dimensionamento)VLSITransstores21Cadeia de inversoresCLDado CL:- Quantos andares para minimizar o atraso?- Como dimensionar os inversores?InOutExemplo da avaliao do tempo de propagao inserido em circuitoVLSITransstores22Atraso de inversor: carga capacitiva Assumir inversor equilibrado cadeias de pull-up e pull-down iguais aprox. resistncias iguais RN = RP aprox. tempos tpLH e tpHLtp=0.69 Req(Cint+Cext)tp=0.69 ReqCint(1+Cext/ Cint)=tp0(1+Cext/ Cint)Cint: capacidade intrnsecaCext: capacidade extrnseca (pista e gates atacadas: fan-out)tp0: atraso intrnseco (sem carga)VLSITransstores23Atraso do inversor: dependncia das dimensesQuando um inversor aumentado de S (largura: W S Wref) Cint = S Cintref e Req = Reqref / SNota: Transstor de referncia o mais pequeno transstor simtrico: tpHL = tpLHEnto: tp0 independente do dimensionamento tp=0.69( Rref / S )(S Cintref)(1+Cext/(S Cintref))tp=0.69 Rref Cintref(1+CextS Cintref)=tp0(1+CextS Cintref)VLSITransstores24O conceito de "fanout" efectivoCint = Cgin actualmentecom 1f = CL/Cgin "fanout" efectivoCgin : capacidade entrada da cadeiatp=tp0(1+Cext/ Cgin)=tp0(1+ f / )O atraso de um inversor depende apenas da razo entre a sua capacidade de carga externa e a sua capacidade de entrada.VDDCint CginVLSITransstores25Dimensionamento de cadeias de inversores para N fixoEquao de atraso tem N-1 incgnitas, Cgin,2 a Cgin,NMinimizar o atraso, determinar N-1 derivadas parciaisResultado: Cgin,j+1/Cgin,j = Cgin,j/Cgin,j-1Tamanho de cada andar a mdia geomtrica dos vizinhos.- cada andar tem o mesmo fanout efectivo (Cout/Cin)- cada andar tem o mesmo atrasoCg , j=.Cg , j 1Cg , j +1VLSITransstores26Detalhes...tp=tp0j=1N(1+Cg , j+1Cg , j)Por exemplo:6tp6Cg ,2=tp066Cg ,2(Cg ,1Cg ,2+Cg ,2Cg ,3)=0Cg ,11Cg ,22 +1Cg ,3=0Cg ,22=Cg ,1Cg ,3Cg ,2=.Cg ,1Cg ,3Derivam-se assim N-1 restriesDimenso ptima: mdia geomtrica dos vizinhos.Cada inversor f vezes maior que o anteriorOs outros termos so independentes de Cg,2 logo a sua derivada nula.Cg ,22=Cg ,1Cg ,3Cg ,3cg ,2 =Cg ,2Cg1 = fVLSITransstores27Atraso mnimo e nmero de andaresNa situao ptima, cada andar aumentado de f(factor de aumento)e tem fanout efectivo f:Atraso mnimo:Fan-out efectivo de cada andar:f =N.CL/Cg ,1f =N.FF o "fanout" efectivo globaltp=N tp0(1+N.F/ )VLSITransstores28Qual o nmero 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 =e(1+/ f )Equivalente:+N.FN.F ln( F)N=0Diferenciar tp em ordem a N e igualar a zero, resulta em:CL=FCin= fNCincom N=ln Fln fVLSITransstores29"Fanout" efectivo ptimo f Qual o f ptimo para um dado processso (caracterizado por )fopt = 3.6para = 1f =e(1+/ f )VLSITransstores30Impacto de auto-carga sobre tp1.0 3.0 5.0 7.0u0.020.040.060.0u/ln(u)x=10x=100x=1000x=10,000Sem auto-carga, =0Com auto-carga, =1Tempo de propagao normalizado (tp/tpopt) com funo de fVLSITransstores31Impacto da utilizao de buffers: exemploTabela de tpopt/tp0 para trs situaes (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,1VLSITransstores32ContedoBaseado em:J. Rabaey, A. Chandrakasan, B. NikolicDigital Integrated Circuits, 2 ed, Prentice-Hallz Inversorz comportamento estticoz comportamento dinmico (tempo de propagao)z cadeias de inversoresz Portas CMOS complexasz Esforo lgico (dimensionamento)VLSITransstores33Generalizao para circuitos CMOS estticos complementaresVDDF(In1,In2,InN)In1In2InNIn1In2InNPUNPDNPMOSNMOSPUN e PDN so redes lgicas duaisVLSITransstores34Porta CMOS complexa (complementar, esttica)OUT = D + A (B + C)DAB CDABCVLSITransstores35Modelo para determinao de atrasosAReqARpARpARn CLACLBRnARpBRpARnCintBRpARpARnBRn CLCintNAND2INVNOR2VLSITransstores36Impacto do padro de entradas no atrasoz Atraso dependente do padro das entradasz Transio de 0 para 1z ambas as entradas a zero atraso 0.69 (Rp/2) CLzuma entrada a zero delay is 0.69 Rp CLz Transio de 1 para 0z ambas as entradas a um atraso 0.69 2 Rn CLCLBRnARpBRpARnCintVLSITransstores37Atraso em funo do padro de entradas 81A= 10, B=180A=1, B=1045A=B=1061A= 01, B=164A=1, B=0167A=B=01Atraso(ps)Padro de entradaNMOS = 0.5m/0.25 mPMOS = 0.75m/0.25 mCL = 100 fFVLSITransstores38Questes de "fan-in"D C B ADCBACLC3C2C1Atraso de Elmore:tpHL=0.69 Reqn(C1+2C2+3C3+4CL)Atraso de propagao deteriora-se rapidamente com o "fan-in" (n de sinais de entrada):no pior caso, quadraticamente. tpHL=0.69(R1C1+( R1+R2)C2+( R1+R2+R3)C3+( R1+R2+R3+R4)CL)Supondo todos os transstores iguais:VLSITransstores39Tempo de propagao em funo de "fan-in"Regra prtica: Evitar portas lgicas com mais de 4 entradas.VLSITransstores40Portas rpidas: tcnica 1zAumento dos transstoreszenquanto a capacidade de "fanout" (externa) for dominantezDimensionamento progressivoInN CLC3C2C1In1In2In3M1M2M3MNModelo de atraso de Elmore:M1 > M2 > M3 > > MN(FET mais prximo da sada o menor)Pode reduzir atraso mais de 20%; ganhos decrescentes com reduo das dimensesVLSITransstores41Portas rpidas: tcnica 2zOrdem de transstorescaminho crticocaminho crticoatraso determinado pela descarga de CL, C1 and C2atraso determinado pela descarga de CLVLSITransstores42Portas rpidas: tcnica 3zEstruturas lgicas alternativasF = ABCDEFGHobjectivo: diminuir "fanin"VLSITransstores43Portas rpidas: tcnica 4z "Isolar" fanin de fanout inserindo buffersCLCLVLSITransstores44Portas rpidas: tcnica 5z Reduo da amplitude de tensoz reduo linear do atrasoz tambm reduz consumo de potnciaz A porta seguinte muito mais lentaz Ou necessrio usar sense amplifiers para recuperar o nvel de tenso (memrias)tpHL = 0.5 (CL VDD)/ IDSATn = 0.5 (CL Vswing)/ IDSATnVLSITransstores45ContedoBaseado em:J. Rabaey, A. Chandrakasan, B. NikolicDigital Integrated Circuits, 2 ed, Prentice-Hallz Inversorz comportamento estticoz comportamento dinmico (tempo de propagao)z cadeias de inversoresz Portas CMOS complexasz Esforo lgico (dimensionamento)VLSITransstores46Dimensionamento de portas lgicasz Porta lgica caracterizada por quatro grandezas:z Cin, Cp (parasita), Rup, Rdnz Porta lgica = instncia de um circuito padro multiplicado por um factor de aumento az Dimensionar porta lgica = determinar az Caractersticas do circuito padro:z Capacidade de entrada Ctz Capacidade intrnseca (parasita) Cptz Resistncia de pull-up = Res. Pull-down = Rtz Para uma porta dimensionada:z Cin = a Ctz Rup = Rdn = Ri = Rt/azCpi = a CptVLSITransstores47Modelo para o atraso de uma porta lgicatpabs=0.69 Ri(Cout+Cpi)tpabs=0.69(Rta )Cin(CoutCin )+0.69(Rta )(aCpt)Mapear numa equao da seguinte formatpabs=t(gf +p)comf =CoutCinet=0.69 RinvCinvd=gf +patraso em unidades detg =RtCtRinvCinvp=RtCptRinvCinvUsar este tempo como unidade de referncia que caracteriza o processo de fabrico para converter entre valores relativos e absolutos.Para inversores: o esforo lgico g = 1 Para inversores: o esforo lgico g = 1Valor tpico para pinv = 1VLSITransstores48Atraso de uma porta lgicaAtraso de uma porta:d= h + patraso de esforo(effort delay)atraso intrnsecoEsforo lgico:h = g * fesforo lgicofanout efectivo = Cout/CinO esforo lgico depende apenas da topologia, no das dimenses.O esforo elctrico ("fanout" efectivo) depende da carga e das dimenses da porta. d = g * f + pVLSITransstores49Definies de esforo lgico gDefinio 2: O esforo lgico de uma porta (lgica...) define-se como a razo entre a sua capacidade de entrada e a capacidade de entrada de um inversor capaz de fornecer a mesma corrente.Definio 1: O esforo lgico de uma porta (lgica...) define-se como o nmero de vezes que essa porta pior a fornecer corrente que um inversor com a mesma capacidade de entrada.Definio 3: O esforo lgico de uma porta (lgica...) define-se como o declive da curva de atraso vs. fanout dividido pelo declive da curva correspondente para um inversor.VLSITransstores50Esforo lgico de algumas portas simplesEsforo lgico a razo entre a capacidade de entrada de uma porta e a capacidade de entrada de um inversor com a mesma corrente de sada.g=1 g=4/3 g=5/3VLSITransstores51Esforo lgico: portas bsicasVLSITransstores52Esforo lgico de portas (1)Fan-out (h) Normalized delay (d)t12 34567 pINVtpNANDF(Fan-in)g = 1p = 1d = h+1g = 4/3p = 2d = (4/3)h+2Nota: onde est h deve ler-se fVLSITransstores53Esforo lgico de portas (2)VLSITransstores54Exemplos1. Determinar o atraso do inversor FO4 (fanout-of-4)d = fg+p=14+pinv=4+1=52. Determinar o atraso do uma porta NOR-4 que ataca 10 portas idnticas.d = fg+p=310+41=343. Determinar a frequncia de oscilao de um anel de N inversores idnticosd =f g+p=11+pinv=212 N F=d t=(1+pinv)t atraso de cada andar de um osciladorVLSITransstores55Estimao do atraso intrnsecoSituao: Porta lgica com a mesma corrente de sada do inversor de referncia. Transstores tm canal com o mesmo comprimento. Relao (W/L)p / (W/L)n = Ento: (simplificando) O atraso da porta lgica X vezes o atraso do inversor de referncia (pinv),em que X a razo entre a soma das reas (larguras) de difuso (fontes ou drenos) ligadas ao n de sada da porta em considerao e as mesmas reas do inversor de referncia.p=(wd1+ )pinvNAND-2: 1 transstor de pull-down de largura 2 2 transstores de pull-up de largura , o que leva a p = 2 pinv.NAND-n: p = n pinv.Para a porta NOR-n obtm um resultado idntico.Trata-se de um simplificao importante. Para melhores resultados, deve calibrar-se o modelo a partir de simulaes/estudos mais detalhados.p=CptxCinv=zC pinvCinv =zpinvCptx=zCptinv-z= CptxCptinv2+21+=2VLSITransstores56Tabela de atrasos parasitasPorta lgica Atraso parasitaInversor pinvNand n entradas n*pinvNOR n entradas n*pinvmultiplexador n entradas 2*n*pinvxor, xnor n* 2(n-1)*pinvVLSITransstores57Esforo de ramificaob=Conpath+Coff pathConpathCiCtotalCoffConAo dimensionar apenas ao longo do percurso, a porta lgica 1 tem de ser de ser dimensionada contando no apenas com a carga da porta 2, mas tambm com a carga de Coff(que no est a ser dimensionada).a dimensionar2 1f1=Con+CoffCi=ConCi Con+CoffCon=fno_branchbVLSITransstores58Minimizar atraso com dois andaresD=( g1 f1+p1)+( g2 f2+p2)f1=C2C1f2=C3C2f1 f2=C3C1=FD=( g1 f1+p1)+(g2Ff1 +p2)6 D6 f1=g1g2Ff12 =0g1 f1=g2 f2Generalizao: O atraso minimizado quando cada andar exerce o mesmo esforo (f*g). O resultado independente das dimenses e dos atrasos parasitas;pode ser generalizado para qualquer nmero de andares e esforo de ramificao.VLSITransstores59Atraso ptimo de caminho longof1 f2. fN=B F com B=ibidefinindo g1g2.gN=GH=( g1 f1)( g2 f2).( gN fN)=GBFEsforo do caminho:a) No uma medida directa do atraso.b) No depende da dimenso dos circuitosc) No alterado pela insero de inversorestodos iguais, logo h= f ghN=Hh=H1/ ND=( gi f i+pi)=N H1/ N+PVLSITransstores60Nmero de andares ptimoCenrio: caminho com n1 andares e n2 inversores, N = n1+n2Assumir que se pode alterar n2. (No altera o esforo do caminho)D=N H1/ N+(i =1n1pi)+( Nn1) pinv6 D6 N =H1/ Nln( H1/ N)+H1/ N+pinv=0substituindo pelo atraso para nmero ptimo de andares j=H1/ Npinv+j(1ln(j))=0 que satisfaz a equao o esforo de andar ptimo para todos os andares do percurso: independente das propriedades do caminho. VLSITransstores61Aspectos pragmticossepinv=0 entoj=e=2.718aproximao j0.71 pinv+2.82parapinv=1temosj=3.59Ou usar a tabela ...Esforo de caminho HN ( F1/ N+pinv)=( N+1)( F1/( N+1)+pinv)Ou usar ...Nlog4( H)VLSITransstores62Esforo ptimo por andar: resumohN=Hh=N.HCada andar "suporta" o mesmo esforo:D=(gi fi+pi)=NH1/ N+PAtraso mnimo de percurso:fi=h/ gi"Fanout" efectivo de cada andar:Esforo dos andares: g1f1 = g2f2 = = gNfNNmero ptimo de andares:Nlog4( H)VLSITransstores63Exemplo: Optimizao de um percurso(determinao das capacidades de entrada)g = 1f = ag = 5/3f = b/ag = 5/3f = c/bg = 1f = 5/cFanout 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 * CinCini=gi Coutihh= fi gi=gi CoutiCiniCinVLSITransstores64Esforo lgico: Exemplo 2D = 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 + 7F = 1 : b (9.65)F = 12 : c (16.77)VLSITransstores65Esforo lgico: Sumrio (1)Calcular o esforo de percurso:H = GBFDeterminar o nmero ptimo de andares: N ~ log4(H)Calcular o esforo do andar: h = H1/NFazer um esboo do percursoDeterminar os tamanhos: Cin = Cout * g / hReferncia: Sutherland, Sproull, Harris, Logical Effort, Morgan-Kaufmann 1999.VLSITransstores66Esforo lgico: Sumrio (2)Adaptado de: Logical Effort, Sutherland, Sproull & HarrisResumo das definiesConceito Andar (porta lgica) Percursoesforo lgico g G=giesforo elctrico f =CoutCinF=Cout (percurso)Cin (percurso)esforo de ramificao - B=biesforo h=gf H=GFBatraso h DH=hinmero de andares 1 Natraso intrnseco p P=piatraso d =h+p D=DH+P