Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DA PARAÍBA CENTRO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA GABRIEL GUTIERREZ PEREIRA SOARES RELATÓRIO FINAL DE MICROELETRÔNICA JOÃO PESSOA 2013 SUMÁRIO Lista de Figuras Lista de Tabelas 1 Fundamentação teórica p. 14 1.1 Eletricidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 14 1.1.1 Matéria, átomos e cargas elétricas . . . . . . . . . . . . . . . . . . . . . p. 14 1.1.2 Corrente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15 1.1.3 Tensão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15 1.1.4 Resistência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16 1.1.5 Capacitância . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16 1.2 SPICE OPUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17 1.2.1 Origem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17 1.2.2 O SPICE OPUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17 1.2.3 Tipos de simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17 1.2.4 Procedimentos para simulação . . . . . . . . . . . . . . . . . . . . . . . p. 18 1.2.5 Formato do arquivo de circuito . . . . . . . . . . . . . . . . . . . . . . . p. 18 1.2.6 Sub-circuitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19 1.3 Portas lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20 1.3.1 Funções lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20 1.3.1.1 Função AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20 1.3.1.2 Função OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21 1.3.1.3 Função NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21 1.3.1.4 Função NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22 1.3.1.5 Função NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22 1.3.2 Composição de funções lógicas . . . . . . . . . . . . . . . . . . . . . . . p. 23 1.3.3 Álgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 23 1.4 Standard Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24 1.4.1 Construção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24 1.4.2 Bibliotecas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25 1.5 Alliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25 1.5.1 Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26 1.5.2 Bibliotecas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27 2 Circuitos RC p. 28 2.1 Teoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28 2.1.1 Processo de carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28 2.1.2 Processo de descarga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 30 2.1.3 Parâmetros temporais . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 31 2.2 Simulação com o SPICE OPUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 31 2.2.1 Arquivo de circuito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 31 2.2.2 Execução da simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 34 2.3 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 36 2.3.1 Circuito 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 36 2.3.2 Circuito 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 38 2.3.3 Circuito 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 39 2.3.4 Circuito 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 41 2.3.5 Parâmetros temporais . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 42 3 Semicondutores p. 46 3.1 Cristais semicondutores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 46 3.2 Dopagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 47 3.3 Diodo semicondutor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 49 3.3.1 Sem polarização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 49 3.3.2 Polarização reversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 49 3.3.3 Polarização direta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 50 3.3.4 Simulação com o SPICE OPUS . . . . . . . . . . . . . . . . . . . . . . . . p. 50 3.3.4.1 Arquivo de circuito . . . . . . . . . . . . . . . . . . . . . . . . . p. 50 3.3.4.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 53 3.4 Transistores MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 54 3.4.1 Funcionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56 3.4.2 Processo de fabricação . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56 4 Lógica CMOS p. 60 4.1 Transistores MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 60 4.2 Blocos lógicos CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 60 4.2.1 Inversor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 61 4.2.2 Porta NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 61 4.2.3 Porta NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 62 4.2.4 Portas compostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 63 4.3 Transistores de passagem e porta de transmissão . . . . . . . . . . . . . . . . . p. 66 5 Inversor CMOS p. 68 5.1 Visão física . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 68 5.2 Análise estática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 69 5.2.1 Margem de ruído . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 76 5.3 Regeneração estática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 78 5.4 Regeneração dinâmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 79 5.5 Fan-in e fan-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 81 5.5.1 Situação 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 81 5.5.2 Situação 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 83 5.5.3 Situação 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 85 6 NAND2 CMOS p. 88 6.1 Visão Física . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 88 6.2 Análise estática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 88 6.3 Análise dinâmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 92 7 Somador de 1 bit p. 98 7.1 Visão lógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 98 7.2 Descrição procedural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 102 7.2.1 Visão física . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 106 7.2.2 Visão esquemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 110 7.3 Simulação com o SPICE OPUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 110 7.3.1 Saída . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 112 7.3.2 Carry out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 113 8 Somador de 4 bits p. 114 8.1 Descrição procedural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 115 8.1.1 Visão física . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 116 8.1.2 Estração da netlist . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . p. 117 8.1.3 Simulação com o SPICE OPUS . . . . . . . . . . . . . . . . . . . . . . . . p. 117 8.2 Padrões procedurais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 118 8.2.1 Sem atraso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 119 8.2.2 Com atraso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 122 8.2.3 Considerações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 125 8.3 Síntese lógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 125 8.3.1 Descrição comportamental com o vasy . . . . . . . . . . . . . . . . . . . p. 125 8.3.2 Otimização booleana com o boom . . . . . . . . . . . . . . . . . . . . . p. 128 8.3.3 Conversão para portas lógicas com o boog . . . . . . . . . . . . . . . . . p. 129 8.3.4 Otimização de conexões com o loon . . . . . . . . . . . . . . . . . . . . p. 129 8.3.5 Otimização máxima de atrasos boog-loon . . . . . . . . . . . . . . . . . p. 131 8.3.6 Otimização máxima de área boog-loon . . . . . . . . . . . . . . . . . . . p. 132 8.3.7 Posicionamento de células com o ocp e arquivo ioc . . . . . . . . . . . . p. 132 8.3.8 Roteamento com o nero . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 133 8.3.9 Extração da netlist com o cougar . . . . . . . . . . . . . . . . . . . . . . p. 133 8.4 Chip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 137 8.4.1 Descrição esquemática com o genlib . . . . . . . . . . . . . . . . . . . . p. 137 8.4.2 Simulação com o asimut . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 138 8.4.3 Roteamento dos pads . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 140 Referências p. 141 LISTA DE FIGURAS 1 Átomo de oxigênio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 14 2 Símbolos de fontes de tensão e corrente . . . . . . . . . . . . . . . . . . . . . . p. 16 3 Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16 4 Capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17 5 Estrutura de um arquivo .cir . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19 6 Circuitos lógicos da função AND . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21 7 Circuitos lógicos da função OR . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22 8 Representações da função NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22 9 Representação esquemática da porta NAND . . . . . . . . . . . . . . . . . . . . p. 22 10 Representação esquemática da porta NOR . . . . . . . . . . . . . . . . . . . . . p. 22 11 Composição de funções lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 23 12 Ferramentas do Alliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26 13 Circuito RC simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28 14 Gráfico da curva de carga de um capacitor . . . . . . . . . . . . . . . . . . . . . p. 29 15 Descarga do capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 30 16 Gráfico da curva de descarga de um capacitor . . . . . . . . . . . . . . . . . . . p. 32 17 Parâmetros temporais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 32 18 Circuito RC para medições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 33 19 Execução do SPICE OPUS através do Prompt de Comando (ambiente Windows) p. 35 20 Comandos executados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 35 21 Saída do comando plot v(10) . . . . . . . . . . . . . . . . . . . . . . . . . . p. 36 22 Evolução da tensão no capacitor C1 ao longo do tempo . . . . . . . . . . . . . . p. 37 23 Destaques nas curvas de carga e descarga . . . . . . . . . . . . . . . . . . . . . p. 37 24 Evolução da tensão no capacitor C2 ao longo do tempo . . . . . . . . . . . . . . p. 39 25 Destaques nas curvas de carga e descarga . . . . . . . . . . . . . . . . . . . . . p. 39 26 Comparação entre as tensões de C1 e C2 . . . . . . . . . . . . . . . . . . . . . . p. 40 27 Evolução da tensão no resistor R3 ao longo do tempo . . . . . . . . . . . . . . . p. 40 28 Evolução da tensão no resistor R4 ao longo do tempo . . . . . . . . . . . . . . . p. 41 29 Comparação entre as tensões dos resistores R3 e R4 . . . . . . . . . . . . . . . . p. 42 30 Medições dos parâmetros dos circuitos 1 e 2 . . . . . . . . . . . . . . . . . . . . p. 44 31 Medições dos parâmetros dos circuitos 3 e 4 . . . . . . . . . . . . . . . . . . . . p. 45 32 Tipos de impurezas aplicadas no processo de dopagem de um semicondutor (silício) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 48 33 Pastilhas semicondutoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 48 34 Sem polarização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 49 35 Polarização reversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 50 36 Polarização direta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 51 37 Curva de operação do diodo semicondutor . . . . . . . . . . . . . . . . . . . . . p. 51 38 Circuito para simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 52 39 Região de polarização direta do diodo . . . . . . . . . . . . . . . . . . . . . . . p. 53 40 Destaque na tensão de polarização . . . . . . . . . . . . . . . . . . . . . . . . . p. 54 41 Região de polarização reversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 54 42 Destaque na tensão de ruptura . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 55 43 Corte transversal de transistores MOS . . . . . . . . . . . . . . . . . . . . . . . p. 55 44 Operação do transistor nMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56 45 Operação do transistor pMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 57 46 Vista de cima de um transistor nMOS . . . . . . . . . . . . . . . . . . . . . . . . p. 57 47 Processo para aplicação da máscara de poli-silício . . . . . . . . . . . . . . . . . p. 58 48 Aplicação da máscara de impurezas . . . . . . . . . . . . . . . . . . . . . . . . . p. 58 49 Aplicação de isolação e máscaras de contatos . . . . . . . . . . . . . . . . . . . p. 58 50 Transistor nMOS final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 59 51 Chave nMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 60 52 Chave pMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 60 53 Inversor CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 61 54 Diagrama de palitos do inversor CMOS . . . . . . . . . . . . . . . . . . . . . . . p. 61 55 Circuito da porta NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 62 56 Esquemas da porta NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 62 57 Porta NAND3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 63 58 Porta NOR2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 64 59 Porta NOR3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 65 60 AOI 2-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 66 61 Transistores de passagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 67 62 Porta de transmissão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 67 63 Ferramenta graal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 68 64 Inversor CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 70 65 Entrada vs resposta do inversor . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 72 66 Resposta de três inversoresdiferentes . . . . . . . . . . . . . . . . . . . . . . . . p. 74 67 Destaque para as curvas de x2 e x3 . . . . . . . . . . . . . . . . . . . . . . . . . p. 74 68 Resposta dos inversores 3/6 e 3/7 . . . . . . . . . . . . . . . . . . . . . . . . . . p. 75 69 Destaque nos pontos de transição . . . . . . . . . . . . . . . . . . . . . . . . . . p. 75 70 Definições de margem de ruído . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 76 71 Margens de ruído do inversor CMOS . . . . . . . . . . . . . . . . . . . . . . . . p. 77 72 Aferição da margem de ruído no Spice Opus . . . . . . . . . . . . . . . . . . . . p. 77 73 Regeneração estática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 78 74 Regeneração estática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 79 75 Regeneração dinâmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 80 76 Circuito FO4 da situação 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 82 77 Teste FO4 da situação 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 83 78 Circuito FO4, com inversor “engordado” . . . . . . . . . . . . . . . . . . . . . . p. 84 79 Simulação da situação 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 85 80 Circuito da situação 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 86 81 Simulação da situação 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 86 82 Porta NAND2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 89 83 Circuito de simulação da análise estática . . . . . . . . . . . . . . . . . . . . . . p. 90 84 Curva inicial da entrada A da porta NAND . . . . . . . . . . . . . . . . . . . . . p. 90 85 Gráfico da versão calibrada da entrada A da NAND . . . . . . . . . . . . . . . . p. 91 86 Resposta da entrada B da NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 91 87 Comportamento quando excitada a segunda entrada . . . . . . . . . . . . . . . p. 92 88 Visões físicas da porta NAND2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 93 89 Análise dinâmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 94 90 Análise dinâmica, a 125MHz e 62,5MHz . . . . . . . . . . . . . . . . . . . . . . p. 95 91 Análise dinâmica, a 250MHz (v1) e 125MHz (v2) . . . . . . . . . . . . . . . . p. 96 92 Análise dinâmica, a 500MHz (v1) e 250MHz (v2) . . . . . . . . . . . . . . . . p. 96 93 Análise dinâmica, a 1GHz (v1) e 500MHz (v2) . . . . . . . . . . . . . . . . . . p. 97 94 Esquema lógico do circuito meio somador . . . . . . . . . . . . . . . . . . . . . p. 99 95 Circuito lógico da saída S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 100 96 Circuito lógico do carry out (Cout) . . . . . . . . . . . . . . . . . . . . . . . . . . p. 100 97 Equivalência de blocos lógicos OR e NAND . . . . . . . . . . . . . . . . . . . . . p. 101 98 Conversão de duas AND e uma OR em três NAND . . . . . . . . . . . . . . . . . p. 101 99 Circuito da saída S usando apenas NAND e NOT . . . . . . . . . . . . . . . . . p. 101 100 Circuito do carry out (Cout) usando apenas NAND e NOT . . . . . . . . . . . . . p. 102 101 Visão esquemática com o xsch . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 105 102 Visão física gerada pelo ocp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 107 103 Visão física com o recurso Flat . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 108 104 Disposição das células em uma linha . . . . . . . . . . . . . . . . . . . . . . . . p. 108 105 Visão física após conexões feitas pelo nero . . . . . . . . . . . . . . . . . . . . . p. 109 106 Destaque nas difusões metálicas em três camadas . . . . . . . . . . . . . . . . . p. 109 107 Destaque nas difusões metálicas em quatro camadas . . . . . . . . . . . . . . . p. 110 108 Visão a nível de transistor do circuito somador . . . . . . . . . . . . . . . . . . . p. 111 109 Comportamento do somador de 1 bit . . . . . . . . . . . . . . . . . . . . . . . . p. 112 110 Esquema do somador de 4 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 114 111 Vista esquemática do somador de 4 bits . . . . . . . . . . . . . . . . . . . . . . p. 116 112 Posicionamento das células do somador de 4 bits . . . . . . . . . . . . . . . . . p. 116 113 Roteamento das células do somador de 4 bits . . . . . . . . . . . . . . . . . . . p. 117 114 Simulação do somador de 4 bits no SPICE OPUS . . . . . . . . . . . . . . . . . . p. 118 115 Visualização do arquivo de padrões com o xpat . . . . . . . . . . . . . . . . . . p. 121 116 Visualização do arquivo de padrões com o xpat . . . . . . . . . . . . . . . . . . p. 124 117 Indicação de caminho crítico no xsch . . . . . . . . . . . . . . . . . . . . . . . . p. 130 118 Posicionamento das células com conectores . . . . . . . . . . . . . . . . . . . . p. 134 119 Roteamento do núcleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 135 120 Visão esquemática do core do somador de 4 bits . . . . . . . . . . . . . . . . . . p. 136 121 Visão esquemática do chip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 138 122 Visão final do somador de 4 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 140 LISTA DE TABELAS 1 Prefixos utilizados pelo SPICE OPUS . . . . . . . . . . . . . . . . . . . . . . . . p. 19 2 Tabela-verdade da função AND . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21 3 Tabela-verdade da função OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21 4 Tabela-verdade da função NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22 5 Tabela-verdade da função NAND . . . . . . . . . . . . . . . . . . . . . . . . . . p. 23 6 Tabela-verdade da função NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 23 7 Valores de vC e iC em função de τ . . . . . . . . . . . . . . . . . . . . . . . . . p. 29 8 Valores de vC e iC em função de τ . . . . . . . . . . . . . . . . . . . . . . . . . p. 32 9 Valores de VC do circuito 1 nos ciclos de carga e descarga em função de τ . . . p. 38 10 Valores de VC do circuito 2 nos ciclos de carga e descarga em função de τ . . . p. 39 11 Valores de VR do circuito 3 nos ciclos positivo e negativo em função de τ . . . . p. 41 12 Valores de VR do circuito 4 nos ciclos positivo e negativo em função de τ . . . . p. 42 13 Parâmetros temporais dos circuitos RC medidos com o SPICE OPUS . . . . . . . p. 42 14 Margens de ruído dos inversores apresentados . . . . . . . . . . . . . . . . . . . p. 76 15 Tensões nos nós do circuito de regeneração dinâmica . . . . . . . . . . . . . . . p. 80 16 Tempos de atraso e de subida e descida, em nanossegundos . . . . . . . . . . . p. 81 17 Tempos de atraso, em nanossegundos (10−9s) . . . . . . . . . . . . . . . . . . . p. 82 18 Tempos de atraso da situação 2, em nanossegundos (10−9s) . . . . . . . . . . . p. 85 19 Tempos de atraso da situação 3, em nanossegundos (10−9s) . . . . . . . . . . . p. 87 20 Tempos de atraso, subida e descida, em nanossegundos . . . . . . . . . . . . . . p. 87 21 Tempos de atraso, em nanossegundos (10−9s) . . . . . . . . . . . . . . . . . . . p. 94 22 Tempos de atraso, em nanossegundos . . . . . . . . . . . . . . . . . . . . . . . . p. 95 23 Tabela-verdade do circuito somador . . . . . . . . . . . . . . . . . . . . . . . . . p. 98 24 Tabela-verdade do somador completo . . . . . . . . . . . . . . . . . . . . . . . . p. 99 25 Tempos de atraso da saída S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 113 26 Tempos de atraso da saída Cout . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 113 14 1 FUNDAMENTAÇÃO TEÓRICA Antes de apresentar a análise do comportamento de um circuito RC, faz-se necessário apre- sentar alguns conceitos básicos. 1.1 ELETRICIDADE 1.1.1 MATÉRIA, ÁTOMOS E CARGAS ELÉTRICAS Matéria é qualquer coisa que ocupa espaço e tem massa. Sepudéssemos analisá-la dividindo- a em partículas menores, veríamos primeiro as moléculas, a menor partícula de uma substância que retém todas as propriedades desta substância. Cada uma destas partículas é constituída por átomos, a menor partícula de um elemento (uma substância fundamental que consiste em átomos de um único tipo). Figura 1: Átomo de oxigênio Cada átomo tem um núcleo de prótons e nêutrons que é rodeado por elétrons. Na Figura 1, pode-se ver um átomo de oxigênio, no qual oito elétrons orbitam ao redor do núcleo (percorrem caminhos, chamados de órbitas, que podem comportar quantidades variáveis de elétrons), formado por oito prótons e oito nêutrons (círculo central). Um sinal negativo marca cada elétron (de carga negativa), e um sinal positivo marca cada próton (carga positiva). Os nêutrons não possuem carga, e permanecem neutros. Um átomo é considerado neutro se o número de cargas positivas (prótons) é igual ao número de cargas negativas (elétrons).[LALOND, 1999] Todas as formas de energia estimulam o movimento de elétrons. A absorção de energia suficiente, como calor ou luz, pode fazer com que os elétrons da órbita mais externa (cha- mada de órbita ou camada de valência) escapem. Quando um átomo neutro perde ou ga- nha um ou mais elétrons, passa a se chamar íon (positivo, quando perde, e negativo, quando ganha).[LALOND, 1999] Assim, eletricidade é o fluxo de elétrons livres numa dada direção. Quanto menos elé- trons um átomo possui na sua camada de valência, mais fácil se torna remover os elétrons desta 15 camada e, assim, mais fácil se torna induzir uma corrente elétrica. Esta propriedade define a condutibilidade de um material, isto é, o quão fácil é induzir uma corrente através deste material. Um material no qual os elétrons se deslocam livremente, como cobre e prata, são denominados condutores. Já os materiais que oferecem grande resistência à circulação de cargas são deno- minados isolantes. [BOYLESTAD, 2004] 1.1.2 CORRENTE Determinados materiais, ao serem submetidos a uma força eletromotriz, permitem uma mo- vimentação de cargas elétricas. A este fenômeno dá-se o nome de corrente elétrica [GUSSOW, 1997]. A unidade SI (Sistema Internacional de Unidades) de corrente é o ampère, cujo símbolo é A. Numa equação, a corrente é representada por I. Se um fluxo constante de 1C (Coloumb, unidade de carga elétrica) passar por um dado ponto em um condutor durante 1s, a corrente resultante é de 1A. Assim, I = Q (Couloumbs) t (segundos) (1.1) . A corrente possui uma direção associada. Por convenção, a direção do fluxo de corrente é em direção ao movimento de cargas positivas e oposta ao movimento de cargas negati- vas [O’MALLEY, 1993]. A corrente que flui em apenas uma direção é uma corrente contínua (CC), enquanto uma corrente que alterna a direção do fluxo é uma corrente alternada (CA) [O’MALLEY, 1993]. Uma fonte de corrente é um elemento de circuito que fornece uma dada corrente. A Figura 2a mostra o símbolo esquemático deste componente, que fornece uma corrente de 1A no sentido da seta. 1.1.3 TENSÃO Em virtude de um campo eletrostático, uma carga é capaz de realizar trabalho ao deslocar uma outra carga por atração ou repulsão. Essa capacidade é chamada de potencial, e cargas diferentes produzem uma diferença de potencial (d.d.p.). A soma de todas as d.d.p.’s de todas as cargas de um campo eletrostático é chamada de força eletromotriz, também conhecida por tensão elétrica, cuja unidade SI é o Volt, representada pela letra V [GUSSOW, 1997]. Assim, V = W (joules) Q (coulombs) (1.2) Onde W é o trabalho executado no deslocamento das cargas. 16 Uma fonte de tensão fornece uma tensão que, para uma fonte ideal, não depende da corrente que circula através da fonte. A Figura 2b mostra o símbolo de uma fonte de tensão contínua (CC) de 12V , enquanto a Figura 2c mostra uma fonte de tensão alternada (AC) de 120Vrms, que oscila a uma frequência de 60Hz. 1A (a) fonte de corrente 12V + (b) fonte de tensão contínua 120V 60Hz (c) fonte de tensão alternada Figura 2: Símbolos de fontes de tensão e corrente 1.1.4 RESISTÊNCIA Os elétrons lives, durante o movimento em um condutor, colidem com os átomos deste condutor, perdendo parte de sua energia cinética sob a forma de calor. A resistência é, então, a propriedade do material de se opor ao fluxo de elétrons. A unidade SI da resistência é o ohm, cujo símbolo é Ω [O’MALLEY, 1993]. A Lei de Ohm (Equação 1.3) define a relação entre a corrente, a tensão e a resistência: I (ampères) = V (volts) R (ohms) (1.3) Figura 3: Resistor Na prática, um resistor é um componente de circuito utilizado em virtude de sua resistência. A Figura 3 mostra o símbolo de um resis- tor linear, isto é, aquele cuja relação tensão-corrente obedece à Lei de Ohm. Qualquer outro tipo de relação tensão-corrente é para um resistor não-linear. Estes são especificados individualmente, de acordo com o tipo [O’MALLEY, 1993]. 1.1.5 CAPACITÂNCIA Um capacitor é um dispositivo elétrico formado por duas placas condutoras de metal sepa- radas por um material isolante chamado dielétrico (Figura 4a). Os símbolos esquemáticos estão representados nas Figuras 4b e 4c. Eletricamente, a capacitância é a capacidade de armazenamento de carga elétrica, e sua unidade é o farad, representada pela letra F . Especificamente, se a diferença de potencial entre as duas placas do capacitor é V volts quando existe uma carga positiva de Q coulombs em um condutor e uma carga igual, porém negativa, no outro, o capacitor possui uma capacitância C 17 placa A placa B dielétrico (a) Estrutura (b) + (c) Figura 4: Capacitor de: C = Q V (1.4) 1.2 SPICE OPUS A palavra SPICE é um acrônimo, que representa Simulation Program with Integrated Circuit Emphasis (em tradução livre, Programa de Simulação com Ênfase em Circuitos Integrados). Usando o SPICE podemos prever, através do computador, a resposta de um circuito e daí avaliar seu fun- cionamento. 1.2.1 ORIGEM A primeira versão do programa, chamada SPICE2, foi desenvolvida por volta da década de 70 pela Universidade da Califórnia em Berkeley, como derivação do primeiro simulador de circuitos, o CANCER. Porém, esta versão do SPICE só podia ser executada em mainframes. Daí, várias companhias comerciais desenvolveram versões modificadas que pudessem ser executadas em PCs. E uma destas versões é o SPICE OPUS. 1.2.2 O SPICE OPUS O SPICE OPUS é uma recompilação da versão original do SPICE para Windows e Linux, que integra o simulador XSPICE, desenvolvido pelo Instituto de Pesquisa Georgia Tech. É possível simular tanto circuitos analógicos quanto digitais no SPICE OPUS. 1.2.3 TIPOS DE SIMULAÇÃO Os seguintes tipos de simulação podem ser conduzidos a partir de um dado circuito usando o SPICE OPUS: 18 • Análise DC — determinação da resposta a um estado constante onde são aplicadas fontes DC (comando op). • Análise DC de varredura — determinação da resposta do circuito ao ser excitado, ou ao mudar as características de um determinado componente (comando dc). • Análise AC — determinação da resposta do circuito ao aplicar um estímulo senoidal para avaliar a resposta de frequência (comando ac). • Análise Transitória — determinação da variação da resposta do circuito ao longo do tempo (comando tran). Dentre outros. Para circuitos que utilizem modelos digitais, apenas as análises DC (op) e Transitória (tran) podem ser conduzidas. 1.2.4 PROCEDIMENTOS PARA SIMULAÇÃO Dado um circuito, o seguinte procedimento deve ser seguido para conduzir a simulação: 1. Descrever as conexões do circuito em um arquivo de texto *.cir ou graficamente, utili- zando um programa esquemático externo. 2. Especificar o tipo de simulação a ser conduzida. Se for utilizado o arquivo de texto, os comandos de simulação podem ser especificados dentro do próprio arquivo. 3. Iniciar a simulação, carregando o arquivo de circuito no SPICE OPUS 4. Exibir ou plotar os resultados esperados. Os comandospara tal fim também podem ser especificados no arquivo de texto do circuito. 1.2.5 FORMATO DO ARQUIVO DE CIRCUITO O arquivo de circuito contém os detalhes das conexões e comandos opcionais para conduzir a simulação e exibir os resultados. É um arquivo de texto ASCII que pode ser criado com qualquer editor de textos. A estrutura do arquivo pode ser vista na Figura 5. Já a Tabela 1 contém os prefixos de escala utilizados pelo SPICE OPUS ao indicar o valor dos componentes. Também é possível inserir comentários dentro do arquivo de circuito, de acordo com o exemplo a seguir: * Esta é uma linha de comentário r1 (9 5) r=1k $ r1 (1k) está conectado entre os nós 9 e 5 19 circuito.cir primeira linha início do bloco de comandos fim do bloco de comandos última linha - fim do arquivo <titulo do circuito> <descrição do circuito (compon., conexões, etc)> .control <comandos da simulação> .endc .end Figura 5: Estrutura de um arquivo .cir Fator de Escala Prefixo Valor Tera T 1012 Giga G 109 Mega Meg 106 Kilo K 103 Mili m 10−3 Micro u 10−6 Nano n 10−9 Pico p 10−12 Femto f 10−15 Tabela 1: Prefixos utilizados pelo SPICE OPUS 1.2.6 SUB-CIRCUITOS O SPICE OPUS provê meios para descrever um circuito hierarquicamente, na forma de blo- cos de sub-circuito. Estes possibilitam definir um módulo que pode ser instanciado em qualquer lugar do circuito, múltiplas vezes. O sub-circuito pode ser definido tanto no arquivo .cir quanto em um arquivo separado, com a extensão .spi. Neste último caso, adiciona-se uma diretiva .include externo.spi no início do arquivo .cir, onde externo.spi é o nome do arquivo externo. A estrutura de um sub-circuito é a seguinte: .subckt defName node1 node2 ... <definição do sub-circuito> .ends Onde defName é o nome do sub-circuito, e nodeN representa as conexões externas desse bloco. Por exemplo, .subckt res1 1 2 r1 1 2 1k .ends 20 Define um sub-circuito de dois nós (1 e 2), aos quais está conectado um resistor de 1kΩ. Para utilizá-lo (instanciá-lo) no circuito principal, utiliza-se a seguinte sintaxe: x1 (10 21) res1 Onde x<n> é o índice do componente, 10 e 21 são os nós a serem conectados nos terminais do sub-circuito (na mesma ordem em que foram definidos), e res1 é o nome do sub-circuito. Assim, a linha de código mostrada instancia o sub-circuito res1, conectando o seu primeiro nó (1) ao nó 10 do circuito, e o seu segundo nó (2) ao nó 21. 1.3 PORTAS LÓGICAS No início da era Eletrônica, todos os problemas eram resolvidos por sistemas analógicos, também conhecidos como sistemas lineares. Com o avanço da tecnologia, esses mesmos pro- blemas começaram a ser solucionados através da eletrônica digital. Esse ramo da eletrônica emprega em suas máquinas, tais como computadores, processadores de dados, etc. apenas um pequeno grupo de circuitos lógicos básicos, conhecidos como portas lógicas OR, AND, NOT e flip-flops, que podem implementar todas as expressões da álgebra de Boole, um sistema mate- mático de análise lógica. 1.3.1 FUNÇÕES LÓGICAS Nas funções lógicas, há apenas dois estados: o estado 0 (zero), e o estado 1 (um). O estado zero representa, por exemplo, ausência de tensão, falso, ou chave aberta. Já o estado um representa o oposto, ou seja, presença de tensão, verdadeiro, chave fechada. Com esses dois estados, é possível representar qualquer valor numérico, através do sistema binário de numeração, base da eletrônica digital. 1.3.1.1 FUNÇÃO AND A função AND é aquela que executa a multiplicação de uma ou mais variáveis binárias. Por exemplo, S = A · B (lê-se A e B) representa a multiplicação entre as duas variáveis binárias A e B, cujo resultado só será verdadeiro (1) caso ambas as variáveis também sejam verdadeiras. Representa-se todas as combinações possíveis das entradas de uma função lógica (e suas respectivas saídas) em uma tabela chamada tabela-verdade. Para a função AND, tem-se a Tabela 2. A porta AND é um circuito que executa a função AND, e é representada pelos símbolos da 21 A B S 0 0 0 0 1 0 1 0 0 1 1 1 Tabela 2: Tabela-verdade da função AND Figura 6. O conceito da função AND pode ser estendido para qualquer número de entradas, como pode ser visto na Figura 6b. A B S (a) S = A ·B A B ... N S (b) S = A ·B · . . . ·N Figura 6: Circuitos lógicos da função AND 1.3.1.2 FUNÇÃO OR A função OR é aquela que assume o valor um (1) quando uma ou mais variáveis de entrada forem iguais a um (1). É representada como sendo a adição das variáveis, S = A + B (lê-se A ou B). As combinações possíveis podem ser vistas na sua tabela-verdade (Tabela 3). A B S 0 0 0 0 1 1 1 0 1 1 1 1 Tabela 3: Tabela-verdade da função OR A porta OR é aquela que representa esta operação. Sua representação esquemática pode ser vista na Figura 7. Do mesmo modo, o conceito da adição também pode ser estendido para qualquer número de variáveis. 1.3.1.3 FUNÇÃO NOT A função NOT é aquela que inverte o estado da variável, ou seja, se a variável estiver em zero, vai para um (1), e se estiver em um vai para zero (0). É representada como S = A ou S = A′ (lê-se A barra, ou não A). O inversor é o bloco lógico que representa esta função, e pode ser representado de duas maneiras: ou como um bloco de circuito (Figura 8a) ou como um terminal de outro bloco lógico 22 A B S (a) S = A+B A B ... N S (b) S = A+B + . . .+N Figura 7: Circuitos lógicos da função OR A S 0 1 1 0 Tabela 4: Tabela-verdade da função NOT (Figura 8b), seja na entrada ou na saída. A S (a) S = A entrada saída (b) Terminais Figura 8: Representações da função NOT 1.3.1.4 FUNÇÃO NAND A função NAND é a junção das funções NOT e AND, sendo, assim, a oposição da função AND. Ou seja, tem-se a função AND invertida, e é representada como S = A ·B, onde o traço indica a inversão do produto A ·B. A Tabela 5 é a tabela-verdade desta função. Seu bloco lógico pode ser visto na Figura 9. A B S A B S Figura 9: Representação esquemática da porta NAND 1.3.1.5 FUNÇÃO NOR Analogamente à função NAND, a função NOR é a composição das funções OR e NOT, sendo representada por S = A+B. A B S A B S Figura 10: Representação esquemática da porta NOR 23 A B S 0 0 1 0 1 1 1 0 1 1 1 0 Tabela 5: Tabela-verdade da função NAND A B S 0 0 1 0 1 0 1 0 0 1 1 0 Tabela 6: Tabela-verdade da função NOR 1.3.2 COMPOSIÇÃO DE FUNÇÕES LÓGICAS Todo circuito lógico executa uma expressão booleana e, por mais complexo que seja, é formado pela interligação das portas lógicas básicas (AND, OR e NOT). Um exemplo pode ser visto na Figura 11, que mostra um arranjo das portas lógicas AND, OR, NOT e NAND. Para descobrir a expressão que o circuito executa, faz-se a análise de cada bloco que compõem o todo. No exemplo apresentado, chega-se à resposta S = (A ·B) + C + (C ·D). A B C D A ·B C C ·D S = (A ·B) + C + (C ·D) Figura 11: Composição de funções lógicas 1.3.3 ÁLGEBRA DE BOOLE Os circuitos lógicos, como dito anteriormente, executam expressões booleanas, que podem representar situações do mundo real, através dos dois estados (0 e 1). Pode-se representar estas situações em tabelas-verdade, e a partir delas extrair sua expressão característica. Porém, os circuitos gerados por esse processo podem admitir simplificações, que refletem no custo de fabricação do produto final. É através dos postulados, propriedades e teoremas da Álgebra de Boole que se efetuam estas simplificações. 24 Postulados Complementação Adição Multiplicação 0 + 0 = 0 0 · 0 = 0 A = 0→ A = 1 0 + 1 = 1 0 · 1 = 0 A = 1→ A = 0 1 + 0 = 1 1 · 0 = 0 1 + 1 = 1 1 · 1 = 1 Identidades Complementação Adição Multiplicação A+ 0 = A A · 0 = 0 A = A A+ 1 = 1 A · 1 = A A+A = A A ·A = A A+A = 1 A ·A = 0 Propriedades Comutativa A+B = B +A A ·B = B ·A Associativa A+ (B + C) = (A+B) + C = A+B + C A · (B · C) = (A ·B) · C = A ·B · C Distributiva A · (B + C) = AB +AC Teoremas de De Morgan A ·B = A+B A+B = A ·B 1.4 STANDARD CELLS Standard cells é uma metodologia utilizada para projetar circuitos integrados de aplicaçõesespecíficas, que, em sua maioria, executam funções digitais e lógicas. Esta metodologia é um exemplo de abstração de design, onde um layout VLSI de baixo nível é encapsulado em uma re- presentação lógica abstrata. A metodologia baseada em células torna possível a separação entre o aspecto de alto nível do design digital (funcionalidade lógica) e o aspecto da implementação (físico). 1.4.1 CONSTRUÇÃO Uma standard cell é um conjunto de transistores e estruturas interconectadas que desempe- nha uma função booleana (AND, OR e NOT, por exemplo) ou uma função de armazenamento (flip-flop ou latch). As células mais simples são representações diretas das funções booleanas 25 elementares NAND, NOR e XOR, apesar de também serem usadas células de complexidade muito maior (como um somador de 2 bits, ou um flip-flop tipo D multiplexado). Geralmente, o design inicial de uma standard cell é feito a nível de transistores, através de uma netlist ou esquema elétrico. Uma netlist é uma descrição nodal dos transistores, das suas interconexões, e dos seus terminais de interface com o exterior. Programas como o SPICE são utilizados para simular o comportamento elétrico dessas netlists, declarando estímulos de entrada e calculando a resposta do circuito. As simulações verificam a implementação da função desejada e prevêem parâmetros pertinentes, como consumo de energia e tempo de propagação. Uma vez que as netlists são úteis apenas para simulações abstratas, e não para a fabricação do dispositivo, a representação física da standard cell deve ser feita. Este é o nível mais baixo da abstração do projeto, e a visão mais importante, pois é muito próxima ao diagrama de fabricação da standard cell. O layout é organizado em camadas base, as quais correspondem às diferentes estruturas dos transistores, e conectam camadas de fiação e de vias, que jumtam os terminais dos transistores. Depois que o layout é criado, outras ferramentas CAD são utilizadas para validá-lo. O DRC (Design Rule Checker) é usado para verificar distâncias e outros requisitos de layout. O PEX (Parasitic EXtraction) é usado para gerar uma PEX-netlist, que contém as propriedades parasitas do layout. Em seguida, as conexões nodais dessa netlist são comparadas com as da netlist esquemática através do LVS (Layout Vs Schematic). A PEX-netlist pode então ser simulada novamente para aperfeiçoar as medidas de atraso de propagação e de consumo de energia, uma vez que contém as propriedades parasitas do circuito. Por fim, as ferramentas PNR (Place and Route) são utilizadas para juntar tudo e gerar layouts VLSI. 1.4.2 BIBLIOTECAS Uma biblioteca de standard cells é uma coleção das funções lógicas básicas, como AND, OR, NOT, flip-flops, latches e buffers. Sua principal característica é que possuem uma altura fixa, o que possibilita que elas sejam dispostas em linhas, facilitando o processo do projeto digital. 1.5 ALLIANCE O Alliance é um conjunto completo de ferramentas CAD para a especificação, design e va- lidação de circuitos digitais VLSI. Além das ferramentas, o Alliance inclui também um conjunto de bibliotecas de células, desde standard cells para as ferramentas de roteamento e posiciona- mento automáticos, até geradores de blocos personalizados a serem usados em circuitos de alta 26 performance. Este pacote é utilizado em mais de 250 universidades no mundo todo. 1.5.1 FERRAMENTAS Todas as ferramentas do Alliance foram projetadas para se comunicarem entre si, para ofe- recer suporte ao fluxo de design. Ainda assim, cada ferramenta pode ser usada independente- mente, graças aos vários formatos de entrada e saída suportados. Uma das características mais importantes do sistema Alliance é que ele provê uma estrutura de dados interna padrão para representar as três visões básicas de um chip: a comportamental, a estrutural e a física. A Figura 12 mostra as conexões entre as ferramentas do Alliance e as três visões. Figura 12: Ferramentas do Alliance O Alliance é composto por várias ferramentas. Entre elas, estão: asimut - simulador de lógica VHDL genpat - gerador de arquivos de padrões de procedimentos 27 genlib - linguagem de procedimentos baseada em C ocp - ferramenta para posicionamento das standard cells nero - ferramenta para roteamento das standard cells, posicionadas pelo ocp druc - verificador de regras de design cougar - extrator de netlists hierárquicas a partir de um layout simbólico graal - editor de layouts hierárquicos simbólicos 1.5.2 BIBLIOTECAS O pacote Alliance possui uma grande variedade de bibliotecas, tanto estáticas quanto dinâ- micas. Estas bibliotecas são compatíveis com qualquer tecnologia de duas camadas de metal e uma de poli-silício. Cada item da biblioteca possui, pelo menos, três versões (visões): • simbólica, que representa a topologia da célula (arquivo .ap) • netlist, que possui a interconexão entre os transistores (arquivo .al) • comportamento, descrito na forma de VHDL (arquivo .vhd) O Alliance possui várias bibliotecas. Entre elas, há a sxlib, que contém standard cells de funções booleanas, buffers, mux, latches e flip-flops; e a padlib, que contém pads para fazer a interface com o exterior do chip. 28 2 CIRCUITOS RC Quando ocorrem chaveamentos de uma tensão CC em um circuito formado por um resistor em série com um capacitor (chamado de circuito RC), todas as tensões e correntes variam exponencialmente a partir de um valor inicial para o final [O’MALLEY, 1993]. Essa conclusão é obtida a partir da análise dos processos de carga e descarga. Para isso, consideremos o circuito da Figura 13. E 1 2 R vR C vC iC Figura 13: Circuito RC simples 2.1 TEORIA 2.1.1 PROCESSO DE CARGA No instante em que coloca-se a chave na posição 1, a fonte de tensão começa a remover elétrons da placa superior do capacitor e depositá-los na placa inferior, dando origem a uma carga positiva na placa superior e uma carga negativa na inferior. A transferência de elétrons é muito rápida inicialmente, ficando mais lenta à medida que a ddp entre os terminais do capacitor se aproxima da tensão da bateria. Quando a tensão entre os terminais do capacitor se iguala à tensão da bateria, os elétrons deixam de circular. [BOYLESTAD, 2012] O que caracteriza uma função exponencial. De fato, pode-se representar este comporta- mento da corrente e, consequentemente, da tensão, através das seguintes equações em função do tempo: 29 iC(t) = E R ∗ e −tRC (2.1) vC(t) = E ∗ (1− e −t RC ) (2.2) Onde R é o valor do resistor, C é o valor do capacitor, e = 2, 71828 . . . e E é a tensão fornecida pela fonte. Nestas equações, considera-se que o momento t = 0 corresponde ao instante em que a chave é ligada na posição 1 (Figura 13). O fator RC nas Equações 2.1 e 2.2 é chamado de constante de tempo. Seu símbolo é a letra grega tau (τ), e sua unidade de medida é o segundo. Assim, τ = RC (segundos) (2.3) Analisando as equações de carga do capacitor em determinados instantes de tempo, obte- mos os seguintes resultados: t = 0 t = τ t = 2τ t = 3τ t = 4τ t = 5τ vC(t) 0 0, 63E 0, 86E 0, 95E 0, 98E ≈ E iC(t) imax 0, 37imax 0, 13imax 0, 05imax 0, 02imax ≈ 0 Tabela 7: Valores de vC e iC em função de τ e −t τ t 1 0, 63 0, 37 τ 2τ 3τ 4τ 5τ vC(t) iC(t) Figura 14: Gráfico da curva de carga de um capacitor A partir dos resultados mostrados, representados graficamente na Figura 14, podemos obter as seguintes conclusões: ⇒ Para t = 0, o capacitor pode ser considerado um curto, visto que a corrente é máxima e igual a E/R; 30 ⇒ Para t = 5τ , a corrente no circuito é praticamente zero, e o capacitor pode ser considerado carregado [BOYLESTAD, 2012]. Além disso, podemos concluir também que o tempo necessário para carregar o capacitor é diretamente proporcional à relação RC: para valores fixos de C, quanto maior a resistência, maior o tempo de carga, e quanto menor o valor de R, menor o tempo de carga. O mesmo raciocínio pode ser aplicado para valores fixos de R e variando o valorde C. 2.1.2 PROCESSO DE DESCARGA O circuito da Figura 13 foi projetado para carregar o capacitor quando a chave estiver na posição 1, e descarregá-lo na posição 2. Em qualquer instante do processo de carga, se movermos a chave para a posição 2 (Figura 15), o capacitor começará a se descarregar com a mesma constante de tempo τ = RC. A tensão estabelecida pela carga entre os terminais do capacitor dá origem a uma corrente elétrica que descarrega gradualmente o capacitor. Em outras palavras, o capacitor se comporta como uma bateria cuja tensão diminui com o tempo. Note em particular que a corrente iC circula agora no sentido inverso [. . . ]. [BOYLESTAD, 2012] R vR C vC iC Figura 15: Descarga do capacitor Se o capacitor for carregado completamente, isto é, estiver armazenando a mesma tensão da fonte, as equações de descarga serão as seguintes: iC(t) = −ER ∗ e −t RC (2.4) vC(t) = E ∗ e −t RC (2.5) Partindo das mesmas análises do processo de carga baseando-se em instantes de tempo múltiplos de τ , monta-se a Tabela 8: 31 Representando estes valores graficamente na Figura 16 e analisando-os, obtém-se as seguin- tes conclusões: ⇒ Para t = 0 (instante em que a chave é ligada na posição 2), a corrente é máxima e igual a E/R, circulando, porém, no sentido anti-horário (valor negativo); ⇒ Para t = 5τ , tanto a corrente quanto a tensão são praticamente nulas, estando o capacitor descarregado. 2.1.3 PARÂMETROS TEMPORAIS Além do parâmetro τ , há outros parâmetros que podem ser verificados nas curvas de carga e descarga de um circuito RC. São eles: Tempo de subida (tr): é o tempo necessário para que o sinal de saída passe do nível inferior (10% da tensão) para o nível superior (90% da tensão) (Figura 17a). Tempo de descida (tf ): é o tempo necessário para que o sinal de saída passe do nível superior (90% da tensão) para o nível inferior (10% da tensão) (Figura 17a). Tempo de propagação é o tempo em que a tensão de saída demora para atingir o valor médio da tensão máxima, desde que a entrada é acionada. No caso, o tempo de propagação low-high (tPLH) é medido quando a tensão de entrada passa do nível lógico baixo para o alto; já o tempo high-low (tPHL) é o contrário, ou seja, quando a entrada passa do nível lógico alto para o baixo (Figura 17b) [GARRIDO, 2002]. 2.2 SIMULAÇÃO COM O SPICE OPUS Para validar toda a teoria apresentada nas seções anteriores, utiliza-se o SPICE OPUS para simular este circuito. Além de demonstrar as curvas de carga e descarga, será provada a relação direta entre τ = RC e o tempo necessário para carregar e descarregar o capacitor. Para tanto, será feita a simulação do circuito da Figura 18. 2.2.1 ARQUIVO DE CIRCUITO Como visto na Subseção 1.2.5, para executar a simulação, o circuito tem que ser definido em um arquivo .cir, seguindo a estrutura mostrada na Figura 5. Assim, a transcrição do circuito da Figura 18 pode ser vista a seguir. 32 t = 0 t = τ t = 2τ t = 3τ t = 4τ t = 5τ vC(t) ≈ E 0, 37E 0, 13E 0, 05E 0, 02E ≈ 0 iC(t) −imax −0, 37imax −0, 13imax −0, 05imax −0, 02imax ≈ 0 Tabela 8: Valores de vC e iC em função de τ e −t τ t 1 0, 37 −1 −0, 37 τ 2τ 3τ 4τ 5τ vC(t) iC(t) Figura 16: Gráfico da curva de descarga de um capacitor VC(t) t 100% 10% 90% tr tf (a) Tempos de subida (tr) e descida (tf ) Vin(t), VC(t) t 100% 50% tPLH tPHL (b) Tempos de propagação low-high (tPLH) e high-low (tPHL) Figura 17: Parâmetros temporais 33 V1 10 R1 1 kΩ 21 C1 1 µF R2 1 kΩ 22 C2 2 µF C3 1 µF 23 R3 1 kΩ C4 1 µF 24 R4 500 Ω V2 30 Figura 18: Circuito RC para medições CIRCUITO RC .include res1.spi $ resistor de 1k .include res2.spi $ resistor de 500R .include cap1.spi $ capacitor de 1u .include cap2.spi $ capacitor de 2u x1 10 21 res1 $ r1 x2 21 30 cap1 $ c1 x3 10 22 res1 $ r2 x4 22 30 cap2 $ c2 x5 10 23 cap1 $ c3 x6 23 30 res1 $ r3 x7 10 24 cap1 $ c4 x8 24 30 res2 $ r4 * pulse(a b c d e f g) * define uma fonte de sinal pulsado * a: tensão da parte baixa * b: tensão da parte alta * c: tempo de atraso (início dos pulsos) * d: tempo de subida * e: tempo de descida * f: largura do pulso * g: período do sinal v1 10 30 pulse(-5 5 0 1ns 1ns 10ms 20ms) * fonte de tensão DC v2 30 0 0V * define uma análise transitória, a * iniciar em 0.1ms e com duração de 20ms .tran 0.1ms 20ms .end Os arquivos de sub-circuito .spi incluídos no início contém apenas um componente, des- crito no comentário. O conteúdo destes arquivos pode ser visto a seguir. — res1.spi * define um sub-circuito de 2 terminais (1 e 2) * chamado ‘res1’ 34 .subckt res1 1 2 * define um resistor de 1k conectado entre os * terminais 1 e 2 r1 1 2 1k * encerra o subcircuito ‘res1’ .ends res1 — res2.spi .subckt res2 1 2 r1 1 2 500 .ends res2 — cap1.spi .subckt cap1 1 2 c1 1 2 1u .ends cap1 — cap2.spi .subckt cap2 1 2 c1 1 2 2u .ends cap2 2.2.2 EXECUÇÃO DA SIMULAÇÃO Após descrever o arquivo de circuito, dá-se início à simulação e análise dos dados. 1. Inicia-se o SPICE OPUS na pasta onde está localizado o arquivo .cir (Figura 19). 2. Na janela do SPICE OPUS, digita-se o nome do arquivo .cir e pres-siona-se Enter. Isto faz com que o circuito seja carregado. 3. Em seguida, executa-se o comando run para iniciar a simulação. 4. Para ver as variáveis da simulação, executa-se o comando display. Para o circuito des- crito, a saída é a exibida na Figura 21. 5. Como foi definida uma análise transitória, para cada uma das variáveis da simulação há vários valores, referentes aos diversos instantes de tempo que compõem a simulação. Para visualizar esses dados, utiliza-se o comando plot, seguido da variável desejada. Por exem- plo, plot v(10)exibirá os valores que a tensão no nó 10 assumiu durante a simulação (Figura 21). 35 Figura 19: Execução do SPICE OPUS através do Prompt de Comando (ambiente Windows) SpiceOpus (c) 1 -> simulacao_rc.cir SpiceOpus (c) 2 -> run SpiceOpus (c) 3 -> display Here are the vectors currently active: Title: CIRCUITO RC Name: tran1 (Transient Analysis) Date: Thu Jan 10 17:18:49 2013 V(10) : voltage, real, 107 long V(21) : voltage, real, 107 long V(22) : voltage, real, 107 long V(23) : voltage, real, 107 long V(24) : voltage, real, 107 long V(30) : voltage, real, 107 long time : time, real, 107 long [default scale] v1#branch : current, real, 107 long v2#branch : current, real, 107 long SpiceOpus (c) 4 -> plot v(10) Figura 20: Comandos executados 36 Figura 21: Saída do comando plot v(10) 2.3 RESULTADOS Ao plotar os gráficos das tensões do circuito da Figura 13, podemos validar a teoria exposta na seção anterior. O circuito mostrado é composto de quatro composições de circuitos RC, todas excitadas pelo mesmo sinal digital mostrado na Figura 21. Sejam elas enumeradas de acordo com o índice de seus componentes, analisemos sua resposta à excitação do sinal pulsado. 2.3.1 CIRCUITO 1 Tanto o circuito 1 quanto o 2 consistem da combinação R + C, onde a análise feita através do SPICE OPUS consiste na medição da tensão presente no capacitor da combinação. O circuito 1 é composto pela combinação R1 + C1, na qual R1 = 1 kΩ e C1 = 1 µF, o que resulta em τ = 1 ∗ 103 ∗ 1 ∗ 10−6 = 10−3 = 1 ms. Executando o comando plot v(10) v(21), podemos fazer a comparação entre o sinal de excitação (traço vermelho, nó 10) e a tensão no capacitor (traço verde, nó 21), que pode ser vista na Figura 22. Observando os destaques feitos para as curvas de carga e descarga (Figuras 23a e 23b), podemos constatar que, após decorridos 5τ da mudança de sinal da fonte de excitação, a tensão no capacitor está bem próxima da tensão de excitação. Na curva de carga, podemos observar que a tensão no capacitor é de 4.93 V aos 5 ms; já na curva de descarga, a tensão é de−4.93 V aos 15 ms, 5 ms após a mudança de sinal. Podemos confirmar estes valores utilizando as equações apresentadas anteriormente: VC(5τ) = 10 ∗ (1− e −5τ τ ) = 10 ∗ (1− 0, 007) = 9.93 V (2.6) 37 Figura 22: Evolução da tensão no capacitor C1 ao longo do tempo (a) carga(b) descarga Figura 23: Destaques nas curvas de carga e descarga 38 O resultado foi 9.93 V porque, considerando o nó 30 como referencial (0 V), a tensão de excitação do circuito é de 10 V. Ao fazer esta consideração, podemos concluir que a tensão absoluta de carga é de 9, 93− 5 = 4.93 V, valor observado na simulação. O mesmo pode ser dito da curva de descarga, onde o valor da tensão após decorridos 5τs da mudança de sinal é de: VC(5τ) = 10 ∗ e −5τ τ = 10 ∗ 0, 007 = 0.07 V (2.7) Fazendo as mesmas considerações anteriores, a tensão absoluta no instante de tempo apre- sentado é de 0, 07− 5 = −4.93 V. Na Tabela 9 estão representados todos os valores de VC(t) em função de τ . Note que, para os valores do ciclo de descarga, considera-se como t = 0 o instante em que o pulso muda de sinal, isto é, passa de 5 V para −5 V. 0 τ(1 ms) 2τ(2 ms) 3τ(3 ms) 4τ(4 ms) 5τ(5 ms) Vcarga(t) −5V 1, 3V 3, 6V 4, 5V 4, 81V 4, 93V Vdescarga(t) 5V −1, 3V −3, 6V −4, 5V −4, 8V −4, 93V Tabela 9: Valores de VC do circuito 1 nos ciclos de carga e descarga em função de τ 2.3.2 CIRCUITO 2 Já o circuito 2 é formado pela combinação de R2 + C2, onde R2 = 1 kΩ e C2 = 2 µF, o que resulta em τ = 1 ∗ 103 ∗ 2 ∗ 10−6 = 2 ∗ 10−3 = 2 ms. Assim, a resposta deste circuito à excitação pode ser vista através do comando plot v(10) v(22), onde o nó 22 representa a tensão no capacitor (gráfico verde), cuja saída é exibida nas Figuras 24, 25a e 25b. Como dito anteriormente, após decorridos 5τs do momento em que o circuito é excitado, o capacitor C2 pode ser considerado carregado. Sendo τ = 2ms, o tempo necessário para que este seja carregado é de 5τ = 10ms, o dobro do circuito 1. Porém, o sinal de excitação, que corresponde à parte positiva do pulso da fonte V1, tem duração de 10ms, exatamente o mesmo tempo de carga. Assim, antes que o capacitor atinja 100% da tensão de excitação, dá-se início ao ciclo negativo do sinal, o que pode ver visto no destaque da Figura 25a, dando início à descarga do capacitor. Para o ciclo de descarga do capacitor, valem as mesmas considerações feitas no parágrafo anterior. O tempo necessário para descarregar o capacitor também é de 5τ = 10ms, mas, como esta é a duração do ciclo negativo do sinal de excitação da fonte V1, o capacitor não é descarregado completamente, o que pode ser constatado na Figura 25b. Na Tabela 10 estão representados todos os valores de VC(t) em função de τ . Note que, para os valores do ciclo de descarga, considera-se como t = 0 o instante em que o pulso muda de sinal, isto é, passa de 5 V 39 para −5 V. 0 τ(2 ms) 2τ(4 ms) 3τ(6 ms) 4τ(8 ms) 5τ(10 ms) Vcarga(t) −5V 1, 3V 3, 6V 4, 5V 4, 81V 4, 93V Vdescarga(t) 5V −1, 3V −3, 6V −4, 5V −4, 8V −4, 93V Tabela 10: Valores de VC do circuito 2 nos ciclos de carga e descarga em função de τ Figura 24: Evolução da tensão no capacitor C2 ao longo do tempo (a) carga (b) descarga Figura 25: Destaques nas curvas de carga e descarga Se contrastarmos os gráficos dos circuitos 1 e 2, podemos perceber melhor como o valor de τ influencia nas curvas. Pode-se fazer isto executando o comando plot v(10) v(21) v(22) (Figura 26), na qual o traço vermelho representa a fonte de tensão pulsada, o verde representa o circuito 1 (5τ = 5 ms) e o azul representa o circuito 2 (5τ = 10 ms). 2.3.3 CIRCUITO 3 Os circuitos 3 e 4 são uma variação dos exemplares apresentados anteriormente. Enquanto a análise dos dois primeiros consiste na evolução da tensão do capacitor da combinação, estes 40 Figura 26: Comparação entre as tensões de C1 e C2 consistem na análise da evolução da tensão no resistor da combinação, uma vez que são arranjos C +R, ou seja, o capacitor está ligado antes do resistor. Assim, para ambos os circuitos, de acordo com a Lei de Kirchoff das Tensões, a tensão no resistor pode ser calculada de acordo com a Equação 2.8, na qual Vin(t) representa a fonte de tensão pulsada. VR(t) = Vin(t)− VC(t) = 10− 10(1− e−tτ ) = ±10 ∗ (e−tτ ) (2.8) Como pode ser visto na Figura 18, o circuito 3 é formado pela combinação C3 + R3, onde C3 = 1 µF e R3 = 1 kΩ, portanto, τ = 1 ∗ 10−6 ∗ 1 ∗ 103 = 1 ms, mesmo valor do circuito 1 e, portanto, são válidos os mesmo valores de tensão. Porém, como a análise do nó 23 consiste na medição da tensão sobre o resistor, e considerando a Equação 2.8, obtém-se o gráfico da Figura 27 ao executar o comando plot v(10) v(23). Figura 27: Evolução da tensão no resistor R3 ao longo do tempo Explicando melhor, durante o ciclo positivo da fonte de tensão pulsada, a tensão no resistor 41 é máxima (10 V) quando o ciclo é iniciado, uma vez que o capacitor está descarregado, e vai diminuindo à medida que o capacitor é carregado, até que este se carregue completamente com a tensão da fonte e, portanto, a tensão de queda no resistor seja nula. Quando o ciclo negativo da fonte pulsada se inicia, toda a tensão acumulada no capacitor é descarregada (exponencialmente), gerando uma corrente no sentido contrário ao do ciclo de carga. Uma vez que isto acontece, a tensão de queda no resistor também tem sua polaridade invertida. Como o valor da corrente de descarga do capacitor também varia exponencialmente, a tensão no resistor é máxima (porém no sentido contrário, portanto −10 V) quando o ciclo de descarga se inicia, e vai diminuindo, também, exponencialmente à medida que o capacitor é descarregado. Estes valores estão representados numericamente na 11. Do mesmo modo que as anteriores, para o ciclo negativo (descarga), t = 0 representa o instante em que se inicia o ciclo negativo da fonte de tensão pulsada. 0 τ(1 ms) 2τ(2 ms) 3τ(3 ms) 4τ(4 ms) 5τ(5 ms) Vcarga(t) 10V 3, 7V 1, 3V 0, 5V 0, 2V 0, 06V Vdescarga(t) −10V −3, 7V −1, 3V −0, 5V −0, 2V −0, 06V Tabela 11: Valores de VR do circuito 3 nos ciclos positivo e negativo em função de τ 2.3.4 CIRCUITO 4 Já o circuito 4 é a combinação de C4 + R4 na qual C4 = 1 µF e R4 = 500 Ω, o que resulta em τ = 1 ∗ 10−6 ∗ 5 ∗ 102 = 0.5 ms e, portanto, o capacitor C4 leva 5τ = 2.5 ms para carregar ou descarregar-se completamente, metade do tempo do circuito 3. A evolução da tensão no resistor ao longo do tempo pode ser vista na Figura 28. Figura 28: Evolução da tensão no resistor R4 ao longo do tempo Se contrastarmos os gráficos dos circuitos 3 e 4, podemos perceber melhor como o valor de τ também influencia nas curvas. Executando o comando plot v(10) v(23) v(24), obtém-se o gráfico da Figura 29, na qual o traço vermelho representa a fonte de tensão pulsada, o verde 42 representa o circuito 3 (5τ = 5 ms) e o azul representa o circuito 4 (5τ = 10 ms). Como o valor de τ do circuito 3 é o dobro do circuito 4, pode-se constatar que a tensão naquele demora mais tempo para ser "zerada", tanto no ciclo positivo quanto no ciclo negativo. Quanto aos picos de 10 V e −10 V, vale a mesma explicação do circuito 3. Na Tabela 12 podem ser vistos os valores da tensão em R4 em função de τ . 0 τ(0.5 ms) 2τ(1 ms) 3τ(1.5 ms) 4τ(2 ms) 5τ(2.5 ms) Vcarga(t) 10V 3, 7V 1, 3V 0, 5V 0, 2V 0, 06V Vdescarga(t) −10V −3, 7V −1, 3V −0, 5V −0, 2V −0, 06V Tabela 12: Valores de VR do circuito 4 nos ciclos positivo e negativo em função de τ Figura 29: Comparação entre as tensões dos resistores R3 e R4 2.3.5 PARÂMETROS TEMPORAIS Além das medidas de tensão baseadas em τ , tem-se também os parâmetros descritos na Subseção 2.1.3. Estes podem ser medidos através da interface de plotagem do SPICE OPUS, utilizada para mostrar os gráficos das tensões anteriormente. Os métodos de medição utilizados podem ser vistos nas Figuras 30 e 31, e seus valores podem ser vistos na Tabela 13. Circuito 1 Circuito 2 Circuito 3 Circuito 4 τ 1 ms 2 ms 1 ms 0.5 ms tr 2.33 ms 4.33 ms 2.2 ms 1.1 ms tf 2.2 ms 4.3 ms 2.2 ms 1.1 ms tPLH 0.7 ms 1.4 ms 0.7 ms 0.35 ms tPHL 0.7 ms 1.4 ms 0.7 ms 0.35 ms Tabela 13: Parâmetros temporais dos circuitos RC medidos com o SPICE OPUS Analisando as medições, pode-se perceber que todos os parâmetros são diretamente propor- cionais ao valor de τ : quanto maior seu valor,maiores são os atrasos. É por isso que, ao projetar 43 circuitos lógicos, deve-se sempre levar em consideração estes parâmetros, de forma a melhorar a performance do circuito e diminuir os tempos de resposta e processamento. 44 (a) Tempo de subida (b) Tempo de descida (c) Tempo de propagação low-high (d) Tempo de propagação high-low Figura 30: Medições dos parâmetros dos circuitos 1 e 2 45 (a) Tempo de subida (b) Tempo de descida (c) Tempo de propagação low-high (d) Tempo de propagação high-low Figura 31: Medições dos parâmetros dos circuitos 3 e 4 46 3 SEMICONDUTORES Um semicondutor é um material que possui um nível de condutividade entre os extremos de um condutor e um isolante. Enquanto um condutor apresenta baixa resistência ao fluxo de elétrons em qualquer sentido, um semicondutor exibe alta resistência ao fluxo de elétrons. A condutivi- dade de um material semicondutor puro pode ser modificada através de mudanças na temperatura e na luz através da introdução de impurezas. [LALOND, 1999] Entre os vários tipos de materiais semicondutores. Dentre eles, há os elementais, como silício e germânio, que são compostos por apenas um tipo de átomo, e utilizados na fabricação de transistores, diodos e circuitos eletrônicos. Há também os intermetálicos ou compostos, como o arsenieto de gálio, utilizados para fabricar diodos emissores de duz e detectores infravermelho. Acrescentando-se impurezas ao material semicondutor puro afeta-se substancialmente as propriedades do semicondutor, como a condutividade. Além disso, a impureza acrescentada pode modificar o processo de condução, de forma que o material conduza tanto portadores de carga positiva quanto negativa. [LALOND, 1999] 3.1 CRISTAIS SEMICONDUTORES Um cristal é uma combinação química que pode crescer a proporções indefinidas. Os se- micondutores possuem átomos que são organizados em monocristais, e, em qualquer parte do material, os cristais parecem ter a mesma forma. O arranjo organizado dos átomos é referido como um reticulado. [LALOND, 1999] Os átomos no reticulado ligam-se uns aos outros compartilhando os elétrons da camada de valência, e cada par de elétrons de valência compartilhados cria uma ligação covalente. Este compartilhamento faz com que os elétrons pertençam tanto a um quanto à outro átomo, completando, assim, a camada de valência de ambos. Se um átomo possui oito elétrons nesta camada, é considerado quimicamente estável, e não realiza nenhuma combinação com outros átomos. 47 Átomos de materiais semicondutores, como o silício e o germânio, possuem quatro elétrons na sua camada de valência. Cada um destes elétrons pode formar uma ligação covalente com outro elétron de outro átomo. Caso isso aconteça, o átomo original possuirá oito elétrons na sua camada mais externa (quatro “seus”, e quatro compartilhados), tornando-se, assim, estável. E cada um desses quatro átomos “secundários” que compartilhou um elétron pode também formar ligações com outros três átomos, estabilizando-se também. Este processo repete-se indefinida- mente, formando, assim, cristais macromoleculares. 3.2 DOPAGEM Os materiais intrínsecos são semicondutores cuidadosamente refinados para se obter a re- dução de impurezas a um nível muito baixo, o que faz com que não hajam defeitos no arranjo reticulado. À medida que a temperatura aumenta, pares elétron-lacuna são formados. Porém, o número de lacunas sendo igual ao de elétrons não favorece a circulação de cor- rente, uma vez que não há cargas livres suficientes. Para aumentar a condutividade, os fabrican- tes adicionam impurezas à esses semicondutores, processo este chamado de dopagem. Se uma impureza for adicionada, então o cristal é dito semicondutor extrínseco. O tipo de impureza adicionada determinará qual o tipo de dopagem deste semicondutor, que pode ser: Tipo n — Acrescentando-se impurezas com mais elétrons livres do que o material intrínseco, modifica-se o balanço elétron-lacuna deste. Para este processo, são utilizados materiais como arsênio, antimônio e fósforo, chamados de doadores, que podem doar elétrons livres. Estes elementos possuem cinco elétrons na sua camada de valência, um a mais do que o necessário para estabilizar os cristais semicondutores. Uma vez que esta carga não é necessária, ela é considerada livre. Devido a esta carga negativa, o material dopado com átomos peta-valentes é chamado semicondutor tipo n (Figura 32a); Tipo p — Algumas impurezas, porém, possuem menos do que quatro elétrons em sua camada de valência. Ao introduzir este tipo de impureza, coloca-se um nível de energia vazio pró- ximo da órbita de valência dos semicondutores, fazendo com que elétrons sejam retirados destes átomos. Uma vez que impurezas como alumínio, índio e gálio aceitam elétrons, são chamadas aceitadoras. Perdendo elétrons, os semicondutores possuem mais lacunas do que elétrons, comportando-se, assim, como cargas positivas. Ao semicondutor submetido à esse tipo de dopagem, dá-se o nome semicondutor tipo p (Figura 32b). 48 (a) impureza doadora, contribui com elétrons livres (b) impureza aceitadora, cria um “buraco” (lacuna) Figura 32: Tipos de impurezas aplicadas no processo de dopagem de um semicondutor (silício) (a) tipo n (b) tipo p Figura 33: Pastilhas semicondutoras 49 3.3 DIODO SEMICONDUTOR Um diodo semicondutor é formado pela simples união entre um semicondutor do tipo p e um do tipo n. Quando isso acontece, os elétrons do tipo N se combinam com as lacunas do tipo P na região da junção, resultando em uma ausência de portadores livres na região próxima à junção. Esta região chama-se região de depleção. [BOYLESTAD, 2004] Sendo o diodo um dispositivo bipolar, a aplicação de uma tensão VD entre seus terminais permite três possibilidades: nenhuma polarização (VD = 0), polarização direta (VD > 0) e polarização reversa (VD < 0). 3.3.1 SEM POLARIZAÇÃO Quando não há nenhuma tensão aplicada no diodo, todos os portadores minoritários do semicondutor n que estiverem na região de depleção passarão para o material tipo p. Já os portadores majoritários do tipo n que estiverem nesta região também combinar-se-ão com os portadores do tipo p. Porém, como a quantidade de portadores majoritários é muito grande, poucos deles farão as combinações. Esta situação pode ser vista na Figura 34a. (a) Junção p-n sem polarização anodo catodo (b) Representação esquemática Figura 34: Sem polarização 3.3.2 POLARIZAÇÃO REVERSA Se uma tensão V for aplicada no diodo, de tal forma que o terminal positivo esteja conec- tado ao material do tipo n e o terminal negativo conectado ao material tipo p, como é mostrado na Figura 35a, o número de íons positivos do material tipo n fora da região de depleção au- mentará, devido ao grande número de elétrons livres arrastados para o potencial positivo, e o mesmo se aplica de forma semelhante ao material do tipo p. Portanto, há um aumento da região de depleção, o que aumenta a barreira a ser superada pelos portadores majoritários, e, assim, tornando praticamente nulo o fluxo de portadores majoritários, mas ainda provoca um fluxo mí- nimo de portadores minoritários, chamada de corrente de saturação reversa, que geralmente é da ordem de 10−6 ampères. 50 (a) Junção p-n reversamente polarizada V (b) Representação esquemática Figura 35: Polarização reversa Entretanto, se a tensão reversa for suficientemente negativa (a tensão de ruptura reversa), a energia cinética dos portadores minoritários aumentará ate chegar a um ponto onde as suas colisões com as estruturas atômicas estáveis liberarão outros portadores, ou seja, um processo de ionização no qual os elétrons da camada de valência recebem energia suficiente para deixar o átomo de origem, e assim sucessivamente, até que estabeleça uma alta corrente de avalanche (região de avalanche da Figura 37). 3.3.3 POLARIZAÇÃO DIRETA Uma condição de condução é estabelecida se for aplicada uma tensão no diodo de forma que o potencial positivo estejaconectado ao material do tipo p e o potencial negativo conectado ao tipo n. Isto ‘forçará’ os elétrons do material do tipo n e as lacunas do tipo p a se recombinarem com os íons próximos da fronteira e a reduzirem a largura da região de depleção, como pode ser visto na Figura 36a. "Conforme a polarização aplicada cresce em amplitude, a região de depleção diminui em largura até que o fluxo de elétrons possa passar pela junção, resultando em um aumento exponencial da corrente"[BOYLESTAD, 2004], como pode ser visto na região de polarização direta da Figura 37. A tensão de polarização direta para se alcançar um nível mais alto de condução (a tensão de “joelho”) é de 0.7 V, para um diodo de silício, e 0.3 V para um diodo de germânio. 3.3.4 SIMULAÇÃO COM O SPICE OPUS Podemos verificar a curva de operação do diodo semicondutor através do SPICE OPUS. Para tanto, consideremos o arquivo de circuito curva_diodo.cir, descrito a seguir. 3.3.4.1 ARQUIVO DE CIRCUITO CURVAS DIODO 51 (a) Junção p-n diretamente polarizada ID V ID (b) Representação esquemática Figura 36: Polarização direta Figura 37: Curva de operação do diodo semicondutor 52 v1 10 0 0V vaux 10 20 DC 0 d1 20 0 D1N4007 .model D1N4007 D(IS=2.55e-9 + N=1.7 VJ=0.75 BV=100 IBV=9.86e-5) .control dc v1 0 0.9 0.01 plot i(vaux) dc v1 -100.3 0 0.01 plot i(vaux) .endc .end Vamos analisar as partes deste arquivo. Na primeira linha, temos o título do circuito, já descrito anteriormente. Em seguida, temos o trecho que define o circuito: v1 10 0 0V vaux 10 20 DC 0 d1 20 0 D1N4007 + −V1 10 +− Vaux 20 D1N4007 0 Figura 38: Circuito para simulação A primeira linha define uma fonte de tensão v1, co- nectada aos nós 10 e 0, que fornece uma tensão de 0 V. A segunda linha também define uma fonte de tensão, chamada vaux, que está conectada entre os nós 10 e 20, de tipo DC, que fornece 0 V. Por fim, a terceira li- nha define um diodo d1, conectado entre os nós 20 e 0, que é uma instância do modelo D1N4007. A represen- tação esquemática pode ser vista ao lado, na Figura 38. No trecho seguinte, temos o seguinte código: .model D1N4007 D(IS=2.55e-9 + N=1.7 VJ=0.75 BV=100 IBV=9.86e-5) Este trecho define as características do diodo cujo modelo é o D1N4007. São elas: • IS: corrente de saturação reversa (2.55 nA) • N: coeficiente de emissão (1.7) • VJ: potencial da junção, ou tensão de “joelho” (0.75 V) • BV: tensão de ruptura reversa (100 V) • IBV: corrente da tensão de ruptura (98.6 µA) Em seguida, temos: 53 .control dc v1 0 0.9 0.01 plot i(vaux) dc v1 -100.3 0 0.01 plot i(vaux) .endc .end Que é o bloco de comandos da simulação, encapsulado pelas diretivas .control e .endc. A linha dc v1 0 1 0.01 define uma variação na fonte v1 entre 0 V e 0.9 V a passos de 0.01 V. A linha seguinte (plot i(vaux)) plota o gráfico da corrente que passa através da fonte Vaux durante esta variação. O mesmo acontece com o segundo bloco de comandos. A linha dc v1 -100.4 0 0.01 define uma variação na fonte v1 entre −100.4 V e 0 V a passos de 0.01 V, e a linha plota o gráfico da corrente em Vaux durante a variação. 3.3.4.2 RESULTADOS Ao carregar o arquivo da simulação no SPICE OPUS, os gráficos já são plotados automa- ticamente, através das diretivas de controle, especificadas anteriormente. O primeiro gráfico mostra a análise do comportamento do diodo quando a tensão sobre ele varia entre 0 V e 0.9 V, mostrando, assim, a região de polarização direta. O resultado pode ser visto na Figura 39. Figura 39: Região de polarização direta do diodo Pode-se perceber que a corrente é praticamente nula entre 0 V e 0.7 V, mas quando a tensão atinge 0.75 V, a tensão de polarização direta definida nas configurações do diodo, o valor da corrente aumenta rapidamente. Pode-se ter uma visão melhor desta característica na Figura 40. No segundo gráfico é possível observar o comportamento do semicondutor quando a tensão sobre ele varia entre −100.3 V e 0 V, mostrando-nos, assim, a região de polarização reversa. O 54 Figura 40: Destaque na tensão de polarização gráfico pode ser visto na Figura 41. Figura 41: Região de polarização reversa Pode-se observar que a mudança no valor da corrente é muito mais abrupta quando a tensão é menor do que −100 V, a tensão de ruptura definida no arquivo de simulação. Uma visão ampliada da região de ruptura pode ser vista na Figura 42. Nesta, vê-se que, para uma pequena variação da tensão, há uma grande variação, bastante acentuada, da corrente, característico do efeito avalanche. Vê-se, também, que a corrente para tensões maiores do que a da tensão de ruptura é praticamente nula. Com estes gráficos, valida-se a teoria apresentada anteriormente. 3.4 TRANSISTORES MOS Em resumo, um diodo é uma junção entre um semicondutor do tipo p e um do tipo n, que conduz corrente apenas quando polarizado diretamente. 55 Figura 42: Destaque na tensão de ruptura Uma estrutura MOS (Metal-Oxide-Semiconductor, em tradução livre, Semicondutor de Metal- Óxido) é criada através da superposição de diversas camadas de materiais isolantes e condutores, numa estrutura que se assemelha a um sanduíche. Estas estruturas são fabricadas através de vários processos químicos que envolvem a oxidação do silício (puro), introdução de material dopante (impurezas), e deposição e corrosão de fios e contatos de metal. Os transistores são construídos em cristais de silício, dispostos em finos wafers circulares com diâmetro entre 15 e 30cm. A tecnologia CMOS dispõe de dois tipos de transistores (também chamados de dispositi- vos): um transistor tipo-n (nMOS) e um transistor tipo-p (pMOS). A operação destes dispositivos é feita através de campos de efeito, daí o nome destes dispositivos também ser MOSFET (Me- tal Oxide Semiconductor Field Effect Transistors, em tradução livre, Transistores MOS de Efeito de Campo) [WESTE, 2011]. Uma vista lateral destes dispositivos pode ser vista na Figura 43. À esquerda, o tipo-n, e à direita, o tipo-p. Figura 43: Corte transversal de transistores MOS Cada transistor consiste de uma camada condutora do gate, uma camada isolante de dióxido de silício (SiO2), e o wafer de silício, também conhecido como substrato. Um transistor do tipo nMOS é construído com um substrato tipo-p e regiões do tipo-n adjacentes ao gate, chamadas de source e drain, que são fisicamente equivalentes e, portanto, intercambiáveis. O substrato normalmente é aterrado. O transistor do tipo pMOS é exatamente o oposto, com as regiões 56 drain e source do tipo-p e o substrato do tipo-n. Na tecnologia CMOS, o substrato é apenas de um dos tipos, ou p ou n. Para fabricar o transistor de substrato diferente, cria-se um poço do tipo oposto ao do substrato utilizado [WESTE, 2011]. 3.4.1 FUNCIONAMENTO O gate é uma entrada de controle, que afeta a circulação da corrente entre o source e o drain. Tome-se, como exemplo, o transistor nMOS, e aplique-se uma tensão no drain (Vd = 1 V). O substrato é geralmente aterrado, então a junção p-n entre ele e o source está reversamente po- larizada. Portanto, o transistor está desligado (Figura 44a). Se a tensão no gate for aumentada (Vg > 0 V), um campo elétrico é criado e elétrons começam a ser atraídos para a parte de “baixo” do dióxido de silício. Se a tensão for grande o suficiente (Vg = 1 V), os elétrons superarão o número de lacunas e uma pequena região sob o gate, chamada de canal, é criada, e passa a agir como um semicondutor do tipo-n. Forma-se, então, um caminho condutor entre o source e o drain, e a corrente circula (I ≈ µA). Considera-se que o transistor está ligado (Figura 44b) [WESTE, 2011]. (a) Transistor desligado (b) Transistor ligado Figura 44: Operação do transistor nMOS O transistor do tipo pMOS funciona exatamente ao contrário. O substrato (ou o poço de material semicondutor, quando o substrato é da dopagem oposta) é ligado a uma tensão positiva. Quando o gate também está com uma tensão positiva, o source e o drain estão reversamente polarizados, e
Compartilhar