View
2
Download
0
Category
Preview:
Citation preview
Escola Politécnica da Universidade de São PauloDepartamento de Engenharia de Sistemas Eletrônicos - PSI
PSI-2451- Introdução ao Projeto de Circuitos Integrados
Experiência 3: Análise de Características Estáticas e Dinâmicas do Inversor CMOS
1
1. Objetivos
Esta experiência visa dar continuidade à familiarização do estudante com a metodologia de projeto dedicado com aplicativo IC Station da Mentor Graphics e o programa de simulação de circuitos ELDO. Especificamente, objetiva a edição do leiaute de um inversor CMOS, a extração do circuito equivalente e a análise de suas características estáticas e dinâmicas a partir de seu esquema elétrico. Este esquema contém os componentes do circuito sendo projetado (transistores NMOS e PMOS) assim como componentes parasitários (resistores e/ou capacitores) extraídos do leiaute.
2. Introdução Teórica
O Inversor CMOS – funcionalidade
O inversor CMOS é formado por um transistor NMOS e um PMOS, como mostrado no diagrama esquemático da figura 1. É constituído de transistores N e P que apresentam quatro terminais elétricos: porta (G), dreno (D), fonte (S) e substrato (B). Sua curva de transferência (VoutxVin) é apresentada na figura 2.
G
G
S
D
D
S
V
V oin V
V
DD
SS
∆∆
A B
C
D E
V
V
VVin
o
DD
00 V
DDVtn DDtp+V
Figura 1 Figura 2
Região Condição PMOS NMOS Saída A 0<Vin<Vtn Linear Corte Vo=VDD B Vtn<Vin<VinC Linear Saturado VoB= f(Vin) C Vin=VinC Saturado Saturado Vo≠ f(Vin) D VinC<Vin<(VDD+Vtp) Saturado Linear VoD= f(Vin) E (VDD+Vtp)<Vin<VDD Corte Linear Vo=0
Tabela 1
A tabela 1 indica o regime de operação de cada transistor em cada região da curva, assim como o valor da saída Vout. Os valores de VoB e VoD em função de Vin, assim como o valor de Vin na região 3, podem ser calculados igualando as correntes nos 2 transistores, resultando nas equações 1, 2 e 3 (é considerado que a saturação ocorre apenas por "pinch-off" ).
2
Idd
Eq1.= região B: VoB= Vin−Vtp [ Vin−Vtp 2−2 Vin−Vdd2
−VtpVdd− βnβp
Vin−Vtn 2 ]12
Eq2. .= região D: VoD= Vin−Vtn [ Vin−Vtn 2− βpβn
Vin−Vdd−Vtp 2]12
Eq3 . .= região C: VinC=V DD +V tp+V tn . βn β p
1β n β p
A equação 3, referente à região C, mostra de que forma a relação βn/βp (portanto as dimensões relativas entre os transistores NMOS e PMOS) afeta o valor do limiar lógico (VM) do inversor. A região de transição C da Figura 2 move-se da esquerda para a direita com a redução de
βn/βp. No caso: βn=KPN WnLn
e βp=KPP WpLp
.
o Margens de ruído
Margem de ruído é um parâmetro ligado às características de tensão de entrada-saída que descreve qual o ruído máximo permitido na entrada de uma porta lógica para que a saída não seja afetada. A especificação mais utilizada para a margem de ruído (imunidade de ruído) é em forma de dois parâmetros - a margem de ruído '0', MR0, e a margem de ruído '1', MR1. Para dois inversores ligados em cadeia, MR0 é definido como a diferença entre a tensão máxima de saída '0' da porta lógica de comando (primeiro estágio) e a tensão máxima de entrada '0' reconhecida pela porta comandada (segundo estágio). Então,
MR0=|Vi0max-Vo0max|.
O valor MR1 é a diferença entre a tensão mínima de saída '1' da porta lógica de comando e a tensão mínima de entrada '1' reconhecida pela porta comandada. Então,
MR1=|Vo1min-Vi1min|,
Onde:
Vi1min= tensão mínima de entrada '1' (ponto em que a declividade na curva é –1)
Vi0max=tensão máxima de entrada '0' (ponto em que a declividade na curva é –1)
Vo1min=tensão mínima de saída '1'
Vo0max=tensão máxima de saída '0'
A Figura 1 mostra os valores Vi0max, Vi1min, Vo0max e Vo1min. Quanto maior o ganho do inversor na região 3 (idealmente o ganho é infinito e a curva nesta região é vertical), mais próximos serão os valores de Vi0max e Vi1min, maximizando-se conseqüentemente as margens de ruído MR0 e MR1.
Outro parâmetro importante da curva da Figura 1 é a tensão de limiar lógica Vinv (no livro-texto é chamado de VM), em que Vin igual a Vout. Este é o valor de equilíbrio das tensões de entrada e saída para estágios inversores encadeados. Deseja-se que Vinv=VDD/2, o que leva a margens de ruído equilibradas.
3
o
o Tempos de atraso tpLH e tpHL.
A velocidade de chaveamento de uma porta lógica CMOS depende de sua capacitância de saída, como ilustra a figura 2. Os tempos de atraso, tpLH e tpHL são medidos pela diferença de tempo entre o instante em que ocorre a transição de entrada (considerada instantânea) e o instante em que a saída está a 50% de VDD. A indicação LH ou HL são referente ao comportamento da saída do inversor.
V
CL
VDD
SS
Vin
Figura 2
Valores aproximados dos tempos de subida e de descida podem ser determinados igualando as equações de corrente dos transistores NMOS ou PMOS à carga sendo retirada ou adicionada ao capacitor C, ocasionando a variação de tensão no capacitor C (ver esquema da figura 3).
4
Vo0max
Vout
Vo1min
Vi0max
Vinv=Vout=Vin(chamado VM no livro texto, Rabaye)
VinVi1min
∆t=0 trans. p trans. p
trans. n trans. n
v vICL
ICL
CLCL
SATURAÇÃO LINEAR
Figura 3
Uma aproximação desenvolvida no capítulo 3 do livro do Rabaey é mostrada a seguir (as fórmulas foram compatibilizadas com as definições de KPP e KPN do manual ENG182):
tpLH=C L Vdd
KPP WpLp
Vdd−∣Vtp∣2
tpHL=C L Vdd
KPN WnLn
Vdd−Vtn 2
Os valores de KPP e KPN, Vtp e Vtn podem ser obtidos no manual ENG182. Vdd, Wp, Lp, Wn e Ln são os projetados. CL é a capacitância de carga vista pelo inversor. Considerações sobre CL são feitas no parágrafo seguinte.
o Capacitância equivalente de saída de um inversor
A capacitância de saída de um inversor é calculada a partir da soma de duas classes de capacitâncias: as intrínsecas, Cint, associados às capacitâncias do próprio inversor, e as extrínsecas, Cext, relacionados à carga externa que está sendo comandada. Dentre a primeira classe, estão incluídas as capacitâncias entre o dreno dos transistores (lembrar que o nó de saída está conectado aos drenos dos transistores N e P) e as suas portas e substratos; estas incluem as capacitâncias de junção (em relação ao substrato) e de difusão lateral (em relação às portas dos inversores). No segundo grupo, temos as capacitâncias de porta à entrada do estágio lógico seguinte e, também, as capacitâncias de interconexão. Para o equacionamento correspondente, consulte o livro-texto.
5
3 – Parte Experimental
Atenção: Muitos dos procedimentos a serem usados nesta experiência foram realizados nas experiências anteriores. Nestes casos, aqui será apenas indicado que o procedimento deve ser realizado e a descrição de como fazer se encontra em apostila anterior (use-as).
3.1 Criar a pasta ~/psi2451/exp3. A partir dela tecle source /home/disc/psi2451/perfil_mgc' e dispare a ferramenta adk_ic.Crie uma nova célula (comando New) chamada inv.O processo tsmc035 e suas regras estão em /tools/mgc_tree/adk3_1/technology/ic/process.
3.2 - Copie o transistor NMOS gerado em exp2. Para isto, execute o comando 'Add-> Instance' e, na janela que aparecerá, escolha, usando o ‘browser’, a célula gerada na experiência 2 (transistor NMOS). Após escolher a célula é necessário teclar com o botão esquerdo do mouse no lugar da tela onde esta será colocada, depois isto, tecla 'ESC' para encerrar o modo inserção.
3.3 – Faça a 'flatten' desta célula de forma a que ela seja editável na nova célula criada, para isto, selecione todo o leiaute com o comando 'Select->Select->All' e ‘flatten’ com o comando 'Edit->Flaten', na pequena janela que aparecerá mantenha 'one level' e tecle o botão OK. Repita a operação de ‘flatten’ ao menos mais uma vez para acessar as camadas co contato de substrato. Selecione os 'labels' da célula copiada (que devem estar na camada 'metal1.port') e os apague. Para isto você pode usar as teclas F2 (deselecionar tudo) e F1 (selecionar o que estiver abaixo do cursor). Neste ponto o seu leiaute deve estar parecido com a figura a seguir.
6
No relatório: inclua o leiaute do transistor sem os labels.
3.4 – Gerando de forma automática o transistor PMOS com as dimensões do seu #USP e adicionando contato de substrato ilha N.
Como foi feito para o transistor canal N, a largura e comprimento de canal do transistor canal P dependerá de seu número USP, agora do terceiro e quarto dígito de trás para frente.
Largura do transistor (Wp em λ) é o terceiro algarismo do seu número USP (a partir da direita). Se for < 5, some o valor 5 a ele.
Comprimento do transistor (Lp) é o quarto algarismo do seu número USP (a partir da direita). Se for < 3, some o valor 3 a ele.
Exemplo: #USP 3164172 leva a Wp =6λ (1+5) e Lp=4λ.
Para gerar automaticamente este transistor, na IC Palettes tecle 'DLA Device', e na nova janela que aparecerá, tecle em 'AddMos'. Na janela ‘ObjectEditor’ escolha 'pmos', e entre com Width=Wp e Length=Lp, mantenha o a ‘sequence’ escolhida cgc. Em atributos escolha Rotation = 90. Coloque o PMOS no leiaute de forma a que a distancia entre sua borda, que corresponde à ilha N e a difusão do transistor NMOS obedeça a regra DRC2_3 (veja o valor na apostila da experiência 1).
Adicione a célula de contato de substrato, semelhante ao da exp2, porém agora contato de ilha N. Ao adicionar esta célula, cuide para que Rotacione seja 0 (zero) e a encoste na região de seleção P+ da fonte do transistor canal P. Use a opção zoom-in para obter maior precisão e a opçãp flaten para visualizar as camadas co contato.
No relatório: Anote:• O valor da regra DRC2_3 (em unidades λ)• O valor desta regra constante no manual ENG183, em μ. Verifique se estes são valores equivalentes. • O valor da distância entre o contato do seu poço N e o contato mais próximo da fonte do seu transistor P (pode ser maior do que a distância mínima).
3.5 – Fazendo as conexões.
Usar a opção automática de desenhar uma linha de interconexão comum entre as duas portas (gates) dos transistores, assim como os seus drenos. Se necessário use a opção view context para ver todo o seu leiaute.
A. Para interligar as portas, clicar em Path da Palheta Easy Edit. Na caixa de diálogo (Object Editor) selecione a máscara Poly (pode escrever ou selecionar na Layer Pallete) e determine a largura Width igual ao menor dos comprimentos de canal adotados (Width=menor(Ln ou Lp)). Centralize a cruzeta sobre a borda da linha de poly do transistor P do seu leiaute e clique uma vez. Desloque o mouse e estenda a linha de poly por alguns lambdas, clicando o mouse novamente. Desloque o mouse para uma nova direção e assim por diante, até conectar com o silício poli ligado a porta do transistor N. Quando não desejar mais estender a linha de poly, clique duas vezes rapidamente o mouse ou use a tecla ESC.B. Faça o mesmo procedimento escolhendo agora a camada METAL1 para interligar os drenos dos transistores..
7
C. Usando, novamente, METAL1 ligue o contato de fonte e de poço N do transistor canal P entre si e avance mais um pouco para mais adiante poder afixar o label VDD. D. Rode o DRC para confirmar que está tudo certo. Corrija os erros se existirem. Se necessário use os comandos Move, Stretch, Copy, etc.E. Salve o seu desenho. Não esqueça de reativar o modo edição (Context -> Layout -> Set Edit Mmode On) para poder prosseguir o trabalho.
Neste ponto, sua figura deve estar semelhante à mostrada a seguir.
No relatório: Imprima o seu leiaute indicando no desenho os valores de W e L dos 2 transistores.
3.6 – Duplicando o inversor e incluindo os terminais.
Duplique o inversor (na simulação dinâmica, o segundo servirá de carga para o primeiro). Para isto, use Select->Select->All e em seguida use Edit->Copy->Selected->Horizontal e escolha com o mouse uma posição à direita do inversor existente. Verifique se a distância é suficiente para evitar erros ativando o DRC.
Para ligar os 2 inversores:• Ligue os terras dos dois inversores.• Ligue a saída do primeiro inversor com a entrada do segundo. • ATENÇÃO: NÃO ligue os VDDs dos dois inversores. Esta ligação será feita mais adiante no modelo de simulação ELDO. Isto será importante quando for analisada a corrente através do
8
primeiro inversor na simulação DC.Adicione os terminais. Use Text e no Object Editor escolha a camada Metal1.port de forma
semelhante ao já feito em experiência anterior. Você deve adicionar os terminais (labels) Vdd1, Vdd2, Gnd, entrada, saida1 e saida2.
Salve o seu desenho. Neste ponto, a figura deve ser semelhante à mostrada a seguir..
No relatório: inclua a figura gerada em formato 'tiff'.
3.7 – Extração
Realize a extração do diagrama esquemático do circuito (instruções abaixo copiadas da exp2).• Tools -> Calibre -> Run PEX• Load Runset -> FILE: /tools/mgc_tree/adk3_1/technology/calibre/pex.tsmc035.runset• OK• Run Pex (aguarde)
Observe se os 3 arquivos (inv.sp; inv.sp.pex; inv.sp.INV.pxi) foram gerados. Identifique os transistores no arquivo de simulação e confira suas dimensões assim como a presença de todos os terminais que você incluiu no seu layout.
No relatório: • Inclua os 3 arquivos. Sublinhe os valores das dimensões W e L dos transistores gerados.• Observe a descrição das conexões entre os diferentes pontos do circuito no arquivo exp3.sp.pex e faça um desenho (a mão) destas linhas em seu relatório.
Saia do programa IC Station.
9
3.8 – SIMULAÇÃO DAS CARACTERÍSTICAS ESTÁTICAS
Copie o arquivo '/home/disc/psi2451/exp3_completo.sp' para a sua pasta de trabalho. Reordene os nomes dos terminais no arquivo exp3_completo para ficarem compatíveis com
a sequência em que comparecem no arquivo inv.sp. Caso você tenha usado nomes diferentes para os terminais em relação aos nomes
recomendados na apostila faça também a correção em todos os pontos do arquivo exp3_completo em que comparecem.
Este arquivo contém a descrição da simulação estática e da dinâmica. Comente as linhas da dinâmica para fazer primeiro a simulação estática. Mais adiante você fará a operação complementar.
Faça a simulação através do comando eldo exp3_completo.sp.Observe os resultados da simulação usando o programa ezwave (ezwave
exp3_completo.wdb).
3.8(a) Apresentação no Relatório : Curva Vout x Vin
Incluir o arquivo ‘ exp3_completo.sp ’.
Incluir a curva Vout x Vin.
Indicar sobre a curva os valores de V inv, V i1min, V i0max, V o1min, V o0max.
Apresentar uma lista com os valores de V inv, V i1min, V i0max, V o1min, V o0max, MR0=|Vi0max-Vo0max| e MR1=| V o1min-Vi1min|.
Análise (comparação com a teoria):
• Determine a tensão de limiar lógico Vinv. Compare com o valor simulado (não esqueça de verificar a causa da saturação dos transistores quando estiverem saturados).
• Analise o resultado, indicando se está coerente com a teoria em relação ao valor esperado devido à sua relação βn / βp.
Use as fórmulas dadas na parte teórica e os valores típicos da tecnologia dados no apêndice abaixo,
3.8(b) Apresentação no Relatório: : Curva Idd x Vin
Incluir a curva Idd x Vin.
Indicar a anotar o valor da corrente máxima, I max do inversor e o intervalo de tensão de entrada D V ( I dd 0 ) para a qual passa corrente no inversor.
Discussão no Relatório
Determinar a partir da curva as tensões de limiar dos transistores, Vtn e Vtp. Compare estes valores com os valores dados pelo modelo de transistores do SPICE-like.
Porque a corrente atinge um máximo na região de transição?
10
3.9 – SIMULAÇÃO DAS CARACTERÍSTICAS TRANSIENTES
• Traçar a curva (Vout x t) e (Vin x t) onde a entrada do primeiro inversor é um gerador de pul-sos (de 0 a 3.3V, tr e tf de 0.01ns), conforme descrito no arquivo ‘exp3_completo.sp’.
OBSERVAÇÃO: Lembre-se que o inversor sob análise é o do primeiro estágio; o segundo é apenas a carga.
3.9(a) Apresentação no Relatório:
Incluir as curvas da simulação dinâmica.
Indicar na curva os tempos de atrasos t pLH e tpHL (50% de V DD). Estime estes valores e os inclua no relatório.
3.9(b) Apresentação no Relatório: Calcule o valor de CL na saída do inversor sob análise. Para isto, determine áreas e perímetros usando seu leiaute; teoricamente o valor de cada um de seus componentes, utilizando os valores corretos de área e perímetro de dreno, o modelo SPICE, assim como as equações vistas nas aulas de teoria. MOSTRE SEUS CÁLCULOS.
Tabela para cálculo da capacitância de carga CL.(obtenha os valores usando o manual ENG-182, valores se encontram no ANEXO 1). Use sempre valores típicos dos parâmetros.
Item Parametro contribuição
Área de dreno de TRN = CJN=
Perímetro de dreno do TRN = CJSWN=
Área de dreno de TRP = CJP=
Perímetro de dreno do TRP = CJSWP=
Área do metal1-Well(field region) = CMFOX=
Perímetro do metal1(field region) = CMFOXF=
Área Poly1-Diff (porta TRN) = CGOX=
Perímetro Poly1-Diff (porta TRN) = CGSDON=
Área Poly1-Diff (porta TRP) = CGOX=
Perímetro Poly1-Diff (porta TRP) = CGSDOP=
Área Poly1-Well(field oxide) = CPFOX=
Perímetro Poly1-Well(field oxide) = CPFOXF=
CL (soma das diversas contribuições)
3.9(c) Apresentação no Relatório: Calcule o valor de tpLH e tpHL com as equações dadas na seção de teoria, usando valores típicos apresentado no manual ENG182(KPN e Vtn/KPP e Vtp na página 14/15), Wn, Ln, Wp e Lp conforme projetados. Vdd=3,3V.
3.9(d) Apresentação no Relatório: Compare os valores medidos e obtidos por cálculo para tpLH e tpHL. Discuta as eventuais discrepâncias.
11
APENDICE 1: Alguns valores de parâmetros do manual ENG-182_rev5.pdf.
A seguir são apresentados valores obtidos no manual ENG182 que serão usados nesta experiência. Os valores reportados são os típicos.
Item Valor típico
Tensão de limiar do TRN VTO10X10N = 0,46 V
Fator de ganho do TRN KPN = 170 uV/V2
Tensão de limiar do TRP VTO10X10P = -0,68 V
Fator de ganho do TRP KPP = 58 uV/V2
Capacitância área de dreno de TRN CJN = 0,84 fF/um2
Capacitância perímetro de dreno do TRN CJSWN = 0,25 fF/um
Capacitância área de dreno de TRP CJP = 1,36 fF/um2
Capacitância perímetro de dreno do TRP CJSWP = 0,35 fF/um
Capacitância área do metal1-Well(field region) CMFOX = 0,029 fF/um2
Capacitância perímetro do metal1(field region) CMFOXF = 0,044 fF/um
Capacitância área Poly1-Diff (porta TRN) CGOX = 4,54 fF/um2
Capacitância perímetro Poly1-Diff (porta TRN) CGSDON = 0,120 fF/um
Capacitância área Poly1-Diff (porta TRP) CGOX = 4,54 fF/um2
Capacitância perímetro Poly1-Diff (porta TRP) CGSDOP=0,086fF/um
Capacitância área Poly1-Well(field oxide) CPFOX=0,119fF/um2
Capacitância perímetro Poly1-Well(field oxide) CPFOXF=0,053fF/um
12
Recommended