A eletrônica digital é a área que utiliza dois pulsos representados por 1 e 0. Comandos como if-else, for loop e while loop são provenientes da eletrônica digital.
Representamos os bits 1 e 0 nos sistemas eletrônicos atráves dos níveis de tensão elétrica. Nos Circuitos Integrados (CI) utilizamos os seguintes níveis de tensão:
- 0V (nível BAIXO ou LOW) que representa o bit 0.
- 5V (nível ALTO ou HIGH) que representa o bit 1.
Veja a diferença entre um sinal analógico e um sinal digital na figura abaixo.
O sinal digital geralmente é representado por uma onda quadrada onde a amplitude máxima representa o bit 1, e a amplitude mínima representa o bit 0.
Assim, o presente repositório tem por objetivo apresentar a aplicação das equações booleanas na área de TI, e como ela pode facilitar o entendimento das portas lógicas AND, NOT, OR, XOR e NOT na construção de placas eletrônicas que compõem o hardware dos computadores modernos.
As portas lógicas são dispositivos que operam com um ou mais sinais de entrada, transformando-os um único sinal de saída LOW ou HIGH. As portas lógicas mais conhecidas são a AND, NOT, NAND, OR, NOR, XOR e XNOR.
Para o estudo da algebra booleana por trás das portas lógicas, iremos recorrer a um instrumento conhecido como Tabela Verdade. A tabela verdade facilita a visualização do valor lógico de um circuito digital.
A porta AND gera um sinal de saída em nível alto quando ambos os sinais de entrada estiverem em nível alto. Caso contrário, será gerado um sinal em nível baixo.
A expressão booleana da porta AND é x = A * B. Não confuda isso com a multiplicação convencional que vemos diariamente na matemática clássica, entretanto a OPERAÇÃO AND sobre variáveis booleanas equivale à multiplicação convencional.
A simbologia da porta AND é representada logo abaixo.
O circuito integrado mais utilizado é o IC7408, que possui 4 portas AND em suas conexões.
Onde:
- Vcc (alimentação) - Deve ser ligada a 5V
- GND (aterramento)
Entradas das portas AND:
- Porta A - 1 e 2
- Porta B - 4 e 5
- Porta C - 9 e 10
- Porta D - 12 e 13
Saídas das portas AND:
- Porta A - 3
- Porta B - 6
- Porta C - 8
- Porta D - 11
Este dispositivo gera um sinal de saída em nível alto quando uma das entradas ou ambas forem de nível alto. Caso contrário, a saída terá nível lógico baixo. A expressão booleana é dada por x = A + B. O sinal "+" não representa a adição convencional. Caso uma das entradas for 0 e o restante for 1, a saída será 1. Caso ambas forem 0, a saída será 0.
A simbologia da porta OR é representada logo abaixo.
O circuito integrado mais utilizado é o IC732, que possui 4 portas OR em suas conexões.
Onde:
- Vcc (alimentação) - Deve ser ligada a 5V
- GND (aterramento)
Entradas das portas OR:
- Porta A - 1 e 2
- Porta B - 4 e 5
- Porta C - 9 e 10
- Porta D - 12 e 13
Saídas das portas OR:
- Porta A - 3
- Porta B - 6
- Porta C - 8
- Porta D - 11
A porta NOT inverte o sinal de entrada. Está porta possui somente uma entrada.
A simbologia da porta NOT é representada logo abaixo.
O circuito integrado mais utilizado é o IC7404, que possui 6 portas NOT em suas conexões.
Onde:
- Vcc (alimentação) - Deve ser ligada a 5V
- GND (aterramento)
Entradas das portas NOT:
- Porta A - 1
- Porta B - 3
- Porta C - 5
- Porta D - 9
- Porta E - 11
- Porta F - 13
Saídas das portas NOT:
- Porta A - 2
- Porta B - 4
- Porta C - 6
- Porta D - 8
- Porta E - 10
- Porta F - 12
A porta NAND é análoga a AND seguida de uma porta NOT. Apresenta a operação inversa da porta AND.
A simbologia da porta NAND é representada logo abaixo.
O circuito integrado mais utilizado é o IC7400, que possui 4 portas NAND em suas conexões.
Onde:
- Vcc (alimentação) - Deve ser ligada a 5V
- GND (aterramento)
Entradas das portas NAND:
- Porta A - 1 e 2
- Porta B - 4 e 5
- Porta C - 9 e 10
- Porta D - 12 e 13
Saídas das portas NAND:
- Porta A - 3
- Porta B - 6
- Porta C - 8
- Porta D - 11
É análago a porta OR seguida de uma porta NOT. Apresenta a operação inversa da porta OR.
A simbologia da porta NOR é apresentada logo abaixo.
O circuito integrado mais utilizado é o IC7402, que possui 4 portas NOR em suas conexões.
Onde:
- Vcc (alimentação) - Deve ser ligada a 5V
- GND (aterramento)
Entradas das portas NOR:
- Porta A - 2 e 3
- Porta B - 5 e 6
- Porta C - 8 e 9
- Porta D - 11 e 12
Saídas das portas NOR:
- Porta A - 1
- Porta B - 4
- Porta C - 10
- Porta D - 13
Conhecido como "OR exclusivo", a porta lógica produz uma saída em nível ALTO sempre que as duas entradas estiverem em níveis opostos.
A simbologia da porta XOR é representada logo abaixo.
O circuito integrado mais utilizado é o IC7486, que possui 4 portas XOR em suas conexões.
Onde:
- Vcc (alimentação) - Deve ser ligada a 5V
- GND (aterramento)
Entradas das portas XOR:
- Porta A - 1 e 2
- Porta B - 4 e 5
- Porta C - 9 e 10
- Porta D - 12 e 13
Saídas das portas XOR:
- Porta A - 3
- Porta B - 6
- Porta C - 8
- Porta D - 11
Opera de maneira completamente oposta ao circuito XOR onde gerará uma saída em nível ALTO caso as duas entradas estiverem no mesmo nível lógico.
A simbologia da porta XNOR é representada logo abaixo.
O circuito integrado mais utilizado é o IC74266, que possui 4 portas XNOR em suas conexões.
Onde:
- Vcc (alimentação) - Deve ser ligada a 5V
- GND (aterramento)
Entradas das portas XNOR:
- Porta A - 1 e 2
- Porta B - 5 e 6
- Porta C - 8 e 9
- Porta D - 12 e 13
Saídas das portas XNOR:
- Porta A - 3
- Porta B - 4
- Porta C - 10
- Porta D - 11
A álgebra booleana é um método que serve para simplificar circuitos lógicos em eletrônica digital que foi criada pelo matemático inglês George Boole em 1854. A lógica booleana permite apenas dois estados de circuito (verdadeiro ou falso), sendo representados por 1 e 0.
As variáveis booleanas 1 e 0 não representam necessariamente números, e sim o estado do nível de tensão de uma variável de entrada ou saída. Para entender melhor isso, será apresentada algumas identidades básicas.
- Leis Fundamentais
- Lei Comutativa
- Lei Distributiva
- Outras identidades
O teorema de DeMorgan é muito útil quando queremos simplificar uma expressão booleana a fim de reduzir o número de portas lógicas durante a montagem do circuito. As identidades da Lei de DeMorgan estão logo abaixo.
Eis os circuitos equivalentes das identidades propostas.
É possível simplificar funções booleanas através de dois métodos:
- Método algébrico - Utilizando identidades e leis booleanas.
- Método gráfico - Utilizando o método do Mapa de Karnaugh.
Neste artigo, abordaremos o método do Mapa de Karnaugh já que o algoritmo por trás da simplificação é baseado na lógica do mesmo.
O Mapa de Karnaugh (Mapa K) é um método gráfico utilizado para simplificar uma equação lógica ou converter uma tabela-verdade no circuito lógico correspondente, de maneira simples e metódica. Para fins ditáticos e práticos, o algoritmo é restrito a problemas com até quatro variáveis, pois resolver problemas de cinco ou seis variáveis é complicado demais, sem contar a lógica de programação por trás de problemas com mais de quatro variáveis ser bem mais complexa.
Estarei disponibilizando alguns links caso tenha interesse em aprofundar sobre o método de resolução de funções booleanas com o Mapa K, pois não estarei entrando em muito detalhes do passo a passo para não deixar o artigo muito grande.
🔗 Mapa de Karnaugh – Aula 6.1 – ED
🔗 Mapa de Karnaugh de 3 e de 4 variáveis
🔗 Sistemas Digitais: Princípios e Aplicações
Para a construção do Mapa K, foi-se necessário utilizar algumas estrutura de dados como OrderedDict, List e Set. O mapa K foi feito por uma List de no máximo 4 linhas e 4 colunas. A tabela abaixo mostra uma pequnea noção da lógica por trás do mapa.
Veja que as entradas A e B representam as linhas da matriz, enquanto as entradas C e D representam as colunas da matriz.
Antes de fazer a matriz, o algoritmo construiu uma tabela verdade para a montagem do mapa K.
Uma observação importante é sempre deixar a tabela verdade na ordem decrescente para não haver confusões durante sua aplicação.
O projeto foi desenvolvido na linguagem dart utilizando o framework Flutter. O simplificador é um trabalho acadêmico desenvolvido por Arthur Nazário da Costa, juntamente com o professor Júlio Cesar Coelho, estudante do curso de graduação de Engenharia Eletrônica e de Telecomunicações da Universidade Federal de Uberlândia campus Patos de Minas.
O objetivo do trabalho é ajudar os estudantes ou profissionais da área de TI a resolverem problemas envolvendo a área da eletrônica digital. Além disso, o leitor terá uma certa noção de como a Algebra Booleana consegue descrever o comportamento das portas lógicas, que são essenciais para a realização de inúmeros comandos ao usufruir um smartphone, smart tv, notebook, etc.
O código foi por trás de todo o aplicativo foi separado em diversos arquivos .dart a fim de organizar o código para melhor experiência do leitor. Abaixo está uma imagem da tela principal do simplificador.
Para que o aplicativo funcione de forma correta, é preciso utilizar os comandos descritos na legenda no campo de texto. Após escrever a função, basta clicar em "Efetuar Operação" para obter a função simplifica da equação inserida.
Para a resolução das operações, utilizei uma biblioteca que realiza as operações booleanas no formato de String. Ao realizar as operações, escrevi um algoritmo que montasse a tabela-verdade para a construção do Mapa de Karnaugh.
Os códigos do app estão disponíveis na pasta lib.
Foi utilizada as seguintes ferramentas na construção do simplificador.
- Dart
- Flutter
- Android Studio
- VsCode
- Prettier
- Markdown All in One
- Extensão Dart
- Extensão Flutter
- CIs
- 7404
- 7432
- 7486
- Git
- Github
[1] TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais princípios e aplicações. [s.l.] São Paulo Pearson Prentice Hall, 2007.
[2] ELETROGATE. Introdução às Portas Lógicas. Disponível em: https://blog.eletrogate.com/introducao-as-portas-logicas/#:~:text=para%20uso%20geral.-. Acesso em: 5 mar. 2023.
[3] BARRETO, C. G. Tudo sobre a eletrônica analógica e eletrônica digital! Disponível em: https://automacaoecartoons.com/2020/04/10/eletronica-analogica-eletronica-digital/. Acesso em: 5 mar. 2023.
[4] Descubra o que estuda a eletrônica! - Blog da Eletrônica. Disponível em: https://www.blogdaeletronica.com.br/descubra-o-que-estuda-a-eletronica/. Acesso em: 5 mar. 2023.