Sistemas digitais e transístores
Dos níveis elétricos às portas CMOS e ao computador programável.
Bits e níveis elétricos
Um bit tem dois valores lógicos, 0 e 1. Num circuito elétrico, cada valor corresponde a um intervalo de tensão: uma tensão dentro do intervalo baixo significa 0, e dentro do intervalo alto significa 1. A zona intermédia não é um terceiro valor lógico válido.
Uma perturbação pequena pode alterar a tensão sem alterar o bit reconhecido, porque existe margem entre os intervalos. Esta margem permite regenerar sinais digitais. Não implica que o circuito aceite qualquer ruído, nem que o sinal físico mude instantaneamente.
Um sistema analógico representa uma grandeza por uma variável contínua, como a tensão proporcional à temperatura; um conversor analógico-digital amostra e quantifica essa grandeza. Com 8 bits há 256 códigos, pelo que valores próximos podem receber o mesmo código, e o erro de quantificação resulta desta discretização.
NMOS e PMOS
Um transístor FET tem gate, source e drain. A tensão entre gate e source controla a formação de um canal condutor entre source e drain. Escrevemos e . Num NMOS, a condução começa quando excede a tensão de limiar . Num PMOS, a polaridade é inversa e a condição usa .
Por exemplo, com limiar NMOS de 0,5 V, V não abre o canal, enquanto 1,2 V o abre. A corrente depende também da tensão entre drain e source, por isso o transístor real não é um interruptor de resistência constante; ao trabalhar com portas, abstraímos esses pormenores nos níveis lógicos e nos atrasos.
No modelo de interruptor ideal, um NMOS conduz quando a entrada de controlo é 1, e um PMOS quando essa entrada é 0. Chamamos pull-up à rede que liga a saída à alimentação e pull-down à rede que a liga à massa.
Num inversor CMOS, um PMOS fica entre alimentação e saída, e um NMOS entre saída e massa, ambos com a mesma entrada :
| PMOS | NMOS | Saída | |
|---|---|---|---|
| 0 | Conduz | Não conduz | 1 |
| 1 | Não conduz | Conduz | 0 |
Logo . Em estado estável ideal não há caminho condutor direto entre alimentação e massa; durante uma transição há consumo e atraso, por isso o modelo de interruptor serve para obter a função lógica, não para calcular esse consumo.
Construir NAND e NOR
Para uma NAND de duas entradas, colocamos dois NMOS em série. A saída só chega à massa quando . Os PMOS ficam em paralelo: qualquer entrada 0 liga a saída à alimentação. O resultado é .
Para uma NOR, os NMOS ficam em paralelo: qualquer entrada 1 puxa a saída para 0. Os PMOS ficam em série, por isso só permite uma ligação à alimentação, e assim .
Por exemplo, na NAND com , o NMOS de interrompe o caminho série para a massa e o PMOS de conduz, por isso a saída é 1; o NMOS de A conduz, mas não basta fechar apenas uma parte da série. A tabela segue os dois caminhos:
| NMOS em série | PMOS em paralelo | ||
|---|---|---|---|
| 00 | A e B interrompem | A e B conduzem | 1 |
| 01 | A interrompe | A conduz | 1 |
| 10 | B interrompe | B conduz | 1 |
| 11 | A e B conduzem | nenhum conduz | 0 |
Só com há caminho até à massa e nenhum até à alimentação. Verifica cada linha pelos transístores que conduzem antes de decorares a tabela.
Composição e abstração
Podemos esconder os transístores atrás de uma porta lógica, as portas atrás de um somador e os somadores atrás de uma ALU, a unidade que faz operações aritméticas e lógicas. Cada nível expõe entradas, saídas e regras suficientes para o nível seguinte.
Um computador tem CPU, memória e dispositivos de entrada e saída; a memória guarda dados e instruções. O CPU lê uma instrução, identifica a operação e altera registos ou memória, e o programa muda a sequência destas operações sem exigir alteração das ligações físicas.
Considera um sistema que recebe e , calcula e depois mostra o resultado. O somador é combinatório, o registo de resultado é sequencial e um controlador determina quando capturar e quando enviar para a saída; se trocarmos o programa para calcular , o mesmo circuito aritmético pode ser reutilizado.
Num circuito combinatório, a saída depende das entradas atuais, enquanto num circuito com memória pode continuar igual depois de as entradas mudarem, porque o estado e o instante de atualização também contam.
Exercícios
Reconstruir uma NAND
Desenha as redes NMOS e PMOS de uma NAND de duas entradas. Para , indica que caminho conduz e a saída.
Pista
Começa pela condição que liga a saída à massa, ou seja, pelos NMOS em série.
Solução
Os NMOS ficam em série e os PMOS em paralelo. Com A=0, o NMOS de A está desligado, interrompendo o caminho para a massa. O PMOS de A conduz e liga a saída à alimentação. Portanto Y=1. O PMOS de B está desligado, mas o ramo paralelo de A é suficiente.
Confere a tua resposta:
- NMOS em série e PMOS em paralelo.
- Com A=0,B=1, saída 1 pelo PMOS de A.
Erros frequentes
Não copies a ligação em série da rede NMOS para a PMOS. As redes devem produzir condições complementares.
Quantificar uma medição
Um conversor divide V em intervalos iguais, um por código de 6 bits. O intervalo k inclui o seu limite inferior e exclui o superior. A reconstrução usa o ponto médio do intervalo. Determina o passo, os códigos de 1,01 V, 1,04 V e 1,0625 V e os valores reconstruídos. Explica o que se perde.
Pista
Divide a amplitude pelo número de códigos e procura o intervalo de cada tensão.
Mais uma pista
O índice do intervalo é a parte inteira de tensão/passo. A reconstrução acrescenta meio passo ao limite inferior.
Solução
Há códigos, por isso o passo é V. O intervalo 16 vai de V até 1,0625 V, excluindo esse extremo. As duas primeiras tensões recebem o código 16, 010000, e são reconstruídas como V. Os erros reconstruído menos original são +0,02125 V e -0,00875 V. O código já não permite distinguir estas duas medições.
1,0625 V está exatamente no limite inferior do intervalo 17: recebe 010001 e é reconstruído como V. A escolha de incluir o limite inferior decide este caso de fronteira.
Confere a tua resposta:
- 64 intervalos de 0,0625 V.
- 1,01 V e 1,04 V recebem o código 16; 1,0625 V recebe 17.
- Valores reconstruídos 1,03125 V e 1,09375 V.
Erros frequentes
O número de códigos só permite calcular o passo quando também conheces o intervalo e a regra. Aqui 4 V é excluído, por isso o maior intervalo continua a ter código 63.
Qual bloco guarda o passado?
Um somador recebe entradas que mudam entre dois flancos, mas o valor apresentado só muda no flanco seguinte. Identifica o papel do somador e do registo de saída.
Pista
Distingue calcular um resultado de o capturar.
Solução
O somador é combinatório e recalcula a partir das entradas atuais, após o seu atraso. O registo é sequencial: conserva o resultado anterior entre flancos e captura a entrada no flanco ativo, desde que setup e hold se cumpram. A saída apresentada tem memória por causa do registo.
Confere a tua resposta:
- Somador calcula a partir das entradas atuais.
- Registo conserva entre flancos e captura no flanco ativo.