Explorador de Portas Lógicas
clica nas entradas e vê os sinais fluir pelas portas
Só com NAND é possível construir qualquer circuito 🖖
NAND é funcionalmente completo. Podes construir NOT, AND e OR inteiramente com combinações de NAND, razão pela qual muitos chips reais preferem um pequeno conjunto de portas primitivas.
Cada porta é uma minúscula decisão sim/não 🖖
Uma porta lógica lê suas entradas como HIGH (1) ou LOW (0) e produz um único 1 ou 0 segundo uma regra fixa: AND quer ambas altas, OR pelo menos uma, XOR quer que elas difiram. A tabela verdade abaixo é a definição completa da porta: cada combinação de entradas com sua saída, e não há mais nada a saber. Empilhe decisões pequenas o bastante e você obtém somadores, memória e, por fim, um processador inteiro.
Um circuito correto ainda pode piscar 🖖
Os sinais não chegam instantaneamente: cada porta acrescenta um pequeno atraso de propagação, e dois caminhos até a mesma saída podem ter comprimentos diferentes. Quando uma entrada muda, a saída pode mostrar por um instante o valor errado antes de se estabilizar, o que se chama glitch ou hazard, mesmo que a tabela verdade esteja perfeitamente correta. Observe a tira de temporização: a borda de saída segue a de entrada exatamente por esse atraso de porta, e em circuitos de várias portas esses atrasos se acumulam em corridas visíveis.
Problemas de exemplo
- XOR difere - XOR A=1 B=0 -> 1: verdadeiro quando as entradas diferem
- NAND universal - NAND(1,1) = 0 — o NAND inverte o AND; com ele é possível construir todas as outras portas
- meio-som. 1+1 - Meio somador 1+1: Soma=0 Carry=1 — o mesmo carry se propaga por toda CPU
- selecção MUX - Multiplexador com S=1 encaminha a entrada B para a saída, independentemente de A