Unixtopia

main/ artigos/

Porta lógica

É um elemento básico dos circuitos lógicos, um dispositivo simples que implementa uma função booleana, pega um número de valores de entrada binários, 1 ou 0, e os transforma em um valor binário de saída. As portas lógicas são uma espécie de caixas pequenas que comem 1s e 0s e cospem outros 1s e 0s. Estritamente falando, uma porta lógica deve implementar uma função matemática, então flip-flops não se enquadram em portas lógicas porque têm um estado ou memória interna.

Portas lógicas são para os circuitos lógicos o que resistores, transistores são para circuitos eletrônicos. Elas implementam funções básicas que no reino da lógica booleana são equivalentes de adição, multiplicação. O comportamento das portas lógicas é, assim como nos circuitos lógicos, comumente expresso com as chamadas tabelas verdade, tabelas que mostram a saída da porta para qualquer combinação possível de entradas. Mas também pode ser escrito como algum tipo de equação. Existem 2 portas lógicas possíveis com uma entrada e uma saída:

Existem 16 portas lógicas possíveis com duas entradas e uma saída, a tabela lógica de 4 linhas pode ter 2^4 valores de saída possíveis, mas apenas algumas delas são comumente usadas e têm seus próprios nomes:

Símbolos usados para portas lógicas:

    ___             ___              _____            _____
 ---\  ''-.      ---\  ''-.      ---|     '.      ---|     '.
     )     )---      )     )O--     |       )---     |       )O--
 ---/__..-'      ---/__..-'      ---|_____.'      ---|_____.'
     OR              NOR             AND              NAND
    ___             ___             .                .
 --\\  ''-.      --\\  ''-.         |'.              |'.
    ))     )---     ))     )O--  ---|  >---       ---|  >O--
 --//__..-'      --//__..-'         |.'              |.'
     XOR             XNOR           ' BUFFER         ' NOT
     ____          ____          ____          ____
 ---|=> 1|     ---| &  |     ---|= 1 |        | 1  |
    |    |---     |    |---     |    |---  ---|    |o--
 ---|____|     ---|____|     ---|____|        |____|
     OR            AND           XOR           NOT
    ___        ___        ___        ___
 --|OR |--  --|AND|--  --|XOR|--  --|NOT|--
 --|___|    --|___|    --|___|      |___|

Funções NAND e NOR são chamadas funcionalmente completas, o que significa que podemos implementar qualquer outra porta com apenas uma dessas portas: NOT(x) = NAND(x,x), AND(x,y) = NAND(NAND(x,y),NAND(x,y)), OR(x,y) = NAND(NAND(x,x),NAND(y,y)). Da mesma forma, NOT(x) = NOR(x,x), OR(x,y) = NOR(NOR(x,y),NOR(x,y)).


Impulsionado por nada. Todo conteúdo é disponível sob CC0 1.0 domínio público. Envie comentários e correções para Mr. Unix em victor_hermian@disroot.org.