MicroElectrónica
Ano Lectivo 2004/2005
Trabalho de Laboratório
Ambientação com as Ferramentas
Dsch2, Microwind2 e Pspice
Marcelino Santos, F. Gonçalves, J. P. Teixeira
1 Introdução
Pretende-se com este trabalho proporcionar um primeiro contacto com as principais ferramentas de software que serão utilizadas no decorrer desta disciplina. As ferramentas, disponíveis em http://www.microwind.org, são as seguintes:
Dsch2 – Editor de esquemáticos e simulador lógico para circuitos digitais descritos ao nível de portas lógicas ou ao nível de transístores MOS [1]. Microwind2 – Programa para projecto físico (layout) e simulação eléctrica de
circuitos integrados [1].
Os pontos 4 e 5 requerem preparação prévia à sessão de laboratório.
Nota: Existem formas mais expeditas para aceder a algumas das opções dos programas Dsch2 e Microwind2, recorrendo, nomeadamente, a combinações de teclas ou a botões existentes no topo da janela de trabalho. No entanto, a procura destas soluções fica a cargo de cada utilizador.
2 O Programa Dsch2
Com o intuito de se familiarizar com o programa Dsch2, pretende-se que o utilize para desenhar um circuito descrito a nível de portas lógicas, sendo em seguida efectuada a sua simulação também ao nível lógico. Para exemplificar estes procedimentos, utilize um oscilador em anel (ring oscillator), de 9 andares, constituído por uma cadeia de inversores em que a saída do último inversor está ligada à entrada do primeiro.
De uma forma mais detalhada, as operações que deve realizar dentro do programa Dsch2 são as seguintes:
1. Seleccione os parâmetros típicos para uma tecnologia CMOS de 0.18 µm (tensão de alimentação, tempo de atraso típico, etc.). Para este efeito escolha a opção File -> Select Foundry e seleccione o ficheiro “cmos018.tec” que se encontra na directoria de instalação do Dsch2.
2. Desenhe um ring oscillator constituído por 9 inversores (símbolo existente na palette). As interligações são efectuadas com o comando add a line . 3. Coloque um led (símbolo ) ligado à saída do último inversor. Este led é
necessário para assinalar ao Dsch2 o nó de saída do circuito.
4. Complete o desenho, colocando um botão (símbolo ) ligado à entrada do primeiro inversor da cadeia. Este botão é, normalmente, utilizado para aplicar estímulos nas entradas do circuito (durante a simulação, o rato permite mudar o estado da linha controlada pelo botão). Embora o ring oscillator não precise de qualquer sinal aplicado na entrada, o Dsch2 apenas consegue efectuar a simulação quando é incluído o referido botão.
reduzir a velocidade de simulação, actuando sobre a opção que surge no menu disponibilizado durante a simulação.
6. Visualize a forma de onda obtida durante a simulação (opção para visualizar:
View -> Timing Diagrams).
Efectue a medida do período de oscilação
7. Guarde o esquema do ring oscillator (opção: File -> Save ou File -> Save as). Nota: Caso utilize a primeira destas opções, o circuito terá o nome “example” e será guardado dentro da directoria onde foi instalado o programa. Por estas razões, recomenda-se a escolha da opção File -> Save as da primeira vez que guardar o circuito.
8. Gere um ficheiro em formato Verilog (HDL, Hardware Description Language) correspondente ao circuito desenhado (opção: File -> Make Verilog File). A fim de exportar apenas a descrição do circuito, desactive a opção Append
simulation information. O ficheiro é guardado na mesma directoria onde foi
guardada descrição do circuito, possuindo a extensão .txt.
3 O Programa Microwind2
No programa Microwind2 será gerado automaticamente o layout correspondente ao ring oscillator desenhado no Dsch2. A fim de analisar alguns dos parâmetros que influenciam o comportamento eléctrico do circuito, será repetida a geração do layout para diferentes dimensões dos transístores e para uma tecnologia diferente. Após a geração de cada um dos layouts será efectuada (com o Microwind2) a extracção do circuito e a respectiva simulação eléctrica.
Para atingir estes objectivos, deve realizar as seguintes tarefas, utilizando o programa Microwind2:
1. Escolha a mesma tecnologia utilizada para a simulação com o Dsch2 (CMOS 0.18 µm). Para realizar esta tarefa seleccione a opção File -> Select Foundry e escolha o ficheiro “cmos018.rul” que se encontra na directoria onde está instalado o programa Microwind2.
2. Compile o ficheiro Verilog criado pelo programa Dsch2 (opção: Compile ->
Compile Verilog File). No menu que é aberto com as opções para compilação,
altere os seguintes parâmetros: (1) escolha interligações em Metal1/Metal2, (2) desactive a criação de canais de interligação verticais (“Add vertical bus”), e (3) desactive a aplicação de sinais de relógio nas entradas do circuito (“Labels ->
Add clocks to inputs”). Efectue a compilação seleccionando . 3. No layout do ring oscillator, identifique os transístores e determine a sua
dimensão. Para avaliar a dimensão deve utilizar a opção para medir distâncias (opção: Analysis -> Measure Distance).
4. Visualize os nós e os dispositivos ligados aos nós de alimentação (vdd e vss) e ao nó de saída do ring oscillator, utilizando a opção View -> View electrical
Node.
Calcule a área ocupada pelo circuito
5. Visualize uma perspectiva tridimensional dos passos de fabricação, utilizando a opção Simulate -> Process Steps in 3D.
6. Extraia o circuito (opção: File -> Convert Into -> SPICE netlist). Analise o resultado obtido.
7. Simule o circuito (opção: Simulate -> Run Simulation) e determine o período de oscilação do circuito. Registe o valor obtido.
Compare o período com o obtido na simulação lógica 8. Guarde o layout gerado (opção: File -> Save as).
Sugere-se a realização dos pontos seguintes (9 a 18), individualmente, após a aula de laboratório.
9. Crie um novo circuito (opção: File -> New).
10. Repita a compilação do ficheiro Verilog criado pelo programa Dsch2,
alterando a largura do canal dos transístores utilizados. Na janela Size das opções de leitura do ficheiro verilog, reduza a largura dos transístores PMOS
para 6λ (0.6 µm).
11. Repita os items 7. e 8.
Compare a área e período de oscilação do novo circuito com os valores obtidos para o primeiro circuito gerado
12. Guarde este novo layout do ring oscillator (opção: File -> Save as). 13. Crie um novo circuito (opção: File -> New).
14. Ao contrário da tecnologia utilizada até ao momento (CMOS 0.18 µm),
seleccione agora uma tecnologia CMOS de 0.12 µm, escolhendo a opção File
-> Select Foundry e seleccionando o ficheiro “cmos012.rul”.
15. Repita mais uma vez a compilação do ficheiro Verilog criado pelo programa
Dsch2, tornando a utilizar as dimensões dos transístores indicadas por omissão.
16. Repita mais uma vez os items 7. e 8.
18. Gere o ficheiro SPICE (extensão .cir) correspondente a este circuito (opção: File -> Convert Info -> SPICE netlist).
4 Desenho do Template para Células
Normalizadas da Biblioteca ME018
Para que uma célula digital (Inversor, And, Nor, etc.) possa ser mais facilmente interligada a outras células (idênticas ou não), é conveniente que as regras de desenho da tecnologia sejam complementadas com mais algumas restrições geométricas. Assim, para a tecnologia CMOS 0.18 µm (CMOS, poço n, 2 poly, 6 níveis de metal), definida no programa Microwind2, pretende-se criar uma biblioteca de células básicas, Biblioteca ME018, cujas especificações geométricas estão representadas na figura 1.
1.2 µm
região destinada aos transístores do tipo n região destinada aos transístores do tipo p 3.3 µm 2.0 µm poço n 0.6 µm metal 1 (nó de Vdd) metal 1 (nó de Vss) contacto ao substrato contacto ao poço 1.0 µm 1.0 µm metal 1 implantação p implantação n contacto poço n
Figura 1: Especificações geométricas para o desenho das células da biblioteca ME018. Tendo em atenção as dimensões indicadas na figura 1, desenhe as pistas de alimentação (Vdd e Vss), o poço (n well), e os contactos ao poço e ao substrato.
Ao longo da fase de desenho pode verificar as regras de desenho, utilizando para o efeito o DRC (Design Rule Checker) incluído no Microwind2 (opção: Analysis ->
Design Rule Checker). Antes de adquirir experiência no desenho das máscaras, deve
utilizar o DRC com muita frequência.
Guarde esse layout num ficheiro (por exemplo, template), pois irá ter necessidade de utilizá-lo em futuros trabalhos de Laboratório.
Em relação à figura 1 é importante salientar os seguintes aspectos:
1. As pistas de metal (metal 1, ou m1) utilizadas para a alimentação da célula devem ter as larguras indicadas e devem estar afastadas entre si da distância assinalada.
Questão 1: Porque razão possuem estas pistas de metal 1 largura superior à
largura mínima consentida para esta tecnologia ?
2. As regiões destinadas aos transístores, assim como a área do poço, constituem as
áreas máximas permitidas, podendo ser reduzidas para cada caso particular.
3. A célula deve ser o mais estreita possível. No entanto, é importante ter em atenção que, no caso das células serem colocadas lado a lado1, devem continuar a ser respeitadas as regras de desenho para a tecnologia em questão.
Questão 2: Que cuidados deve ter na colocação de pistas de metal 1 ou 2, ou de poly (Si policristalino) junto às fronteiras laterais da célula ?
4. A fim de facilitar a interligação entre células, os terminais de entrada e de saída da célula devem ser disponibilizados em metal 2. Para este efeito é necessário utilizar vias (contactos entre metal 1 e metal 2), as quais devem ser, preferencialmente, colocadas no espaço existente entre as regiões destinadas aos transístores n e p.
A figura 2 ilustra uma área da interligação entre células num estilo de layout designado por células normalizadas (standard cells), o que permite compreender a razão de algumas das especificações geométricas impostas para o desenho do template.
Espaço para interligações Fila de células . . . . . . . . . . . . Fila de células . . . . . . Espaço para interligações . . . Vdd Vdd Vss Vss Espaço para interligações . . . Metal 1 Metal 2 Via Legenda Vdd Vdd Vss Vss célula 1 célula 2 célula 3 célula 4 célula 5
célula 6 célula 7 célula 8 célula 9 célula 10
Figura 2: Interligação entre células num estilo de layout do tipo standard cells.
5 Desenho de um Inversor CMOS
Partindo do template desenhado na secção anterior, pretende-se obter uma célula inversora CMOS em que os transístores tenham as seguintes dimensões:
NMOS: W = 0.6 µm L = 0.2 µm PMOS: W = 1.5 µm L = 0.2 µm
Trabalho prévio de preparação: deve efectuar um diagrama esquemático (stick diagram) do inversor e um esboço do desenho dos transístores.
Questão 3: Que configuração (transístores na horizontal, ou na vertical) conduzirá a
menor área de implantação ? Porquê?
Trabalho prévio de preparação: consultar o manual do programa Microwind2 para se familiarizar com as regras de desenho impostas para a tecnologia CMOS 0.18 µm.
Depois de concluído o desenho das máscaras devem ser assinalados os nós de alimentação, a entrada e a saída do inversor. Assim, para cada um destes tipos de nós deve ser seguido o procedimento descrito de seguida:
Vdd – Na palette visualizada no programa, escolha o símbolo e de seguida clique sobre um ponto da pista de alimentação.
Vss – Na palette escolha o símbolo e de seguida clique sobre um ponto da pista de ground.
Entrada – Na palette escolha o símbolo e de seguida clique sobre um dos pontos do nó de entrada do inversor. Altere o nome do nó para IN. Durante a simulação será aplicado um sinal de relógio com uma frequência de 1 MHz. Saída - Na palette escolha o símbolo , de seguida clique sobre um dos pontos do
nó de saída do inversor e atribua-lhe o nome OUT. Assim, no simulador eléctrico incluído no Microwind2 será possível visualizar a forma de onda nesse nó. Caso seja gerado um ficheiro SPICE, será indicada a equivalência entre o nome do nó e o seu número.
Seguidamente efectue a simulação do circuito. Observe as seguintes formas de onda: • Tensão na entrada e na saída do inversor.
• Corrente de alimentação (nó Vdd) e corrente no dreno de cada um dos transístores.
Determine os tempos de atraso de L → H e de H → L (tpdLH e tpdHL). Registe os valores obtidos.
Clicando duas vezes sobre o nó OUT2, verifique qual a capacidade entre esse nó e o substrato. Registe o valor obtido.
6 Análise da Secção Transversal
Analise diferentes secções transversais do circuito, efectuando para o efeito vários cortes verticais e horizontais. Para activar esta análise, escolha a opção Simulate -> 2D
vertical cross-section.
1. canal de um transístor NMOS (corte vertical e horizontal) 2. canal de um transístor PMOS (corte vertical e horizontal) 3. contacto ao poço
4. contacto ao substrato
5. contacto entre metal 1 e metal 2
Identifique, para cada uma dessas secções, todos os nós eléctricos a que estão associadas as diferentes camadas condutoras e semicondutoras.