Introdução à Lógica Digital
Introdução à Lógica Digital
Lógica digital
Prof. Mauro Cesar Cantarino Gil
Descrição
Propósito
Compreender a lógica booleana e a importância das aplicações de portas e circuitos lógicos no desenvolvimento de programas e equipamentos
eletrônicos.
Objetivos
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 1/38
08/03/2023, 22:29 Lógica digital
meeting_room
Introdução
As máquinas se comunicam de forma binária (bits 0 ou 1). Fisicamente, os circuitos eletrônicos são construídos para que gerem tensões que
representem esses bits 0 e 1 de acordo com as ações que a máquina deve executar.
Dessa forma, o computador possui vários circuitos lógicos que precisam ser orientados em como atuar, a partir de orientações lógicas baseadas
em 0 e 1. Para fazer isso, é preciso utilizar a regra booleana, que corresponde a uma linguagem baseada em símbolos, letras e conectores para que
as máquinas gerem os resultados pretendidos a partir de entradas de 0 e 1. Interessante, não?
No decorrer do conteúdo, você aprenderá os conceitos básicos das regras booleanas, como elas influenciam no desenvolvimento dos softwares e
dos equipamentos eletrônicos.
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 2/38
08/03/2023, 22:29 Lógica digital
Somar bits
Complementar bits
Mover bits
Comparar bits
Estas operações lógicas são implementadas através de circuitos eletrônicos denominados circuitos lógicos, os quais também são conhecidos
como gates ou portas lógicas.
Na lógica digital, há somente duas condições, 1 e 0, e os circuitos lógicos utilizam faixas de tensões predefinidas para representar esses valores
binários. Assim, é possível construir circuitos lógicos que possuem a capacidade de produzir ações que irão permitir tomadas de decisões
inteligentes, coerentes e lógicas.
É importante que tenhamos a capacidade de descrever a operação dos circuitos, pois eles são citados repetidas vezes em
textos técnicos.
Boole desenvolveu a sua lógica a partir de símbolos e representou as expressões por letras, efetuando a sua ligação através dos conectivos
(símbolos algébricos).
video_library
Lógica booleana
Veja, a seguir, como a lógica booleana está presente em nossa vida.
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 3/38
08/03/2023, 22:29 Lógica digital
Para este tipo de aplicação, podemos analisar a conversão de um valor de uma tensão em um determinado circuito, conforme apresentado na
gráfico a seguir, em que os valores considerados como baixos serão convertidos em 0 (zeros) e os valores considerados altos serão convertidos em
1 (um).
Perceba que, com a tensão baixa (bit 0), o equipamento estará desligado, já, com a tensão alta (bit 1), ele estará ligado.
O pesquisador Claude Shannon, do Instituto de Tecnologia de Massachusetts (MIT), em 1938, propôs que a álgebra booleana poderia ser utilizada
para resolver problemas com projetos de circuitos com comutadores. A partir das técnicas de Shannon, foi possível a sua aplicação na análise e no
desenvolvimento de circuitos digitais eletrônicos. Assim, a álgebra booleana, através das suas propriedades básicas, se mostra eficiente como uma
ferramenta para:
Análise
A função de um circuito digital é descrita de acordo com a análise de um modo simplificado.
Projeto
A lógica booleana é utilizada para que seja desenvolvida uma implementação simplificada desta função, ao especificar uma determinada função de
um circuito.
Iniciando o nosso estudo, representaremos os operadores lógicos e, a partir desses, perceberemos a representação das suas respectivas portas
lógicas. Neste caso, para que possamos compreender os valores resultantes de cada operador lógico, é necessário conhecer as Tabelas Verdade,
que são tabelas que representam todas as possíveis combinações dos valores das variáveis de entrada com os seus respectivos valores de saída.
Tabela-verdade
É uma técnica utilizada para descrever como a saída de um circuito lógico é dependente dos níveis lógicos de entrada, isto é, são tabelas que
conterão todas as possíveis combinações das variáveis de entrada de uma determinada função e, como resultado, os valores de saída.
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 4/38
08/03/2023, 22:29 Lógica digital
Neste caso, a tabela-verdade conterá o número necessário de linhas para representar todas as combinações possíveis das suas variáveis de
entrada.
Os valores 0 e 1 são considerados como 0 = FALSO e 1 = VERDADEIRO. Como exemplo, observe a imagem a seguir:
Agora, veja como fica a tabela-verdade do circuito com duas entradas e uma saída:
Portas lógicas
Uma porta lógica é um componente de hardware que terá um ou muitos sinais de entrada e, como consequência, produzirá um sinal de saída de
acordo com a lógica estabelecida na construção do circuito em questão.
Os operadores booleanos básicos também denominados como funções lógicas básicas são:
settings
OR
settings
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 5/38
08/03/2023, 22:29 Lógica digital
AND
settings
NOT
O operador OR (OU) é a primeira das três operações básicas que vamos estudar e, para ilustrar a sua aplicação, vamos utilizar o seguinte cenário:
A resposta é sim.
Dessa forma, a lâmpada estará acesa em duas situações distintas, se a porta do veículo estiver aberta OU (OR) o interruptor da lâmpada for
acionado, mesmo com a porta fechada.
Em que o sinal (+) não representa uma soma, e sim a operação OR, cuja expressão é lida como:
X é igual a A OR B.
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 6/38
08/03/2023, 22:29 Lógica digital
Em síntese, na tabela a seguir, estão representadas as combinações dos valores possíveis com a construção da tabela-verdade para o operador OR
com duas entradas:
Ao analisar a tabela-verdade, chegaremos à conclusão de que a lâmpada estará apagada (valor igual a 0, FALSO) se — e somente se — tanto o
interruptor quanto a porta possuírem o valor de entrada igual a FALSO (igual a 0) e, para as demais combinações, a lâmpada estará acesa (igual a 1,
VERDADEIRO).
Nos circuitos digitais, uma porta OR é um circuito que tem duas ou mais entradas e a sua saída é igual à combinação das entradas através da
operação OR, como ilustrado na seguinte imagem:
A seguir, veja outro caso e a sua correspondente tabela-verdade com três entradas e uma saída:
Vamos praticar!
Seja A = 1100, B = 1111 e C = 0001, para calcular L = A + B + C (A or B or C), o cálculo deve ser realizado em duas etapas, utilizando a seguinte
Tabela Verdade da porta OR:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 7/38
08/03/2023, 22:29 Lógica digital
Na primeira etapa, vamos calcular M = A + B (A or B) e, em seguida, o resultado parcial será obtido (M), combinado com C em outra operação lógica
OR (M or C), sempre utilizando as combinações de entrada e os resultados definidos nas seguintes tabelas-verdade da porta OR, uma de resultado
parcial M = 1111 e outra de resultado: L = 1111:
O operador AND (E) é a segunda das três operações básicas que vamos estudar e, apenas para ilustrar a sua aplicação, vamos utilizar o seguinte
cenário:
Esta resposta dependerá de que outras condições estejam atreladas ao seu acionamento.
Vamos analisar o acionamento deste botão em conjunto com um sensor que identificará se a porta do elevador está fechada. Logo, a resposta será
sim.
Se a porta estiver fechada, então o motor será ligado. O motor será acionado (valor igual a 1, verdadeiro) em uma única situação, se a porta do
elevador estiver fechada (valor igual a 1, verdadeiro) E (AND) o botão do elevador for acionado (valor igual a 1, verdadeiro).
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 8/38
08/03/2023, 22:29 Lógica digital
Em que o sinal ( • ) não representa uma multiplicação, e sim a operação AND e a expressão é lida como:
X é igual a A AND B.
Em síntese, na tabela a seguir estão representadas as combinações com dois valores de entrada e uma saída para a da Tabela Verdade com o
operador AND:
Ao analisar a tabela-verdade, chegaremos à conclusão de que o motor será acionado (valor igual a 1, verdadeiro) se — e somente se — tanto o botão
quanto o sensor da porta possuírem o valor igual a verdadeiro (igual a 1) e, para as demais combinações, o motor estará desligado (igual a 0).
Nos circuitos digitais, uma porta AND é um circuito que tem duas ou mais entradas e a sua saída é igual à combinação das entradas através da
operação AND, conforme ilustrado na imagem a seguir:
A seguir, veja outro caso e a sua correspondente tabela-verdade com três entradas e uma saída:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 9/38
08/03/2023, 22:29 Lógica digital
Vamos praticar!
Prática 1
Seja A = 1 e B = 0, calcule o valor de X, quando X = A • B (A and B). Analisando a seguinte tabela-verdade da porta AND:
Prática 2
Agora, seja A = 0110 e B = 1101, calcule o valor de X, quando X = A • B (A and B). Analisando a seguinte tabela-verdade da porta AND:
Temos o seguinte:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 10/38
08/03/2023, 22:29 Lógica digital
O operador NOT (NÃO) ou inversor é a terceira das três operações básicas que estudaremos, sendo este operador totalmente diferente dos outros já
estudados, porque pode ser realizado através de uma única variável.
Como exemplo, se uma variável A for submetida à operação de inversão, o resultado X pode ser expresso como:
Em que a barra sobre o nome da variável representa a operação de inversão e a expressão é lida como:
Como utilizaremos a barra para identificar a negação, outra representação também é utilizada para a inversão por outros autores, que é a seguinte:
Em síntese, a representação da tabela-verdade para o operador NOT com uma entrada e uma saída é a seguir:
Nos circuitos digitais, uma porta NOT é um circuito que tem uma entrada, e a sua saída, a negação, é indicada por um pequeno círculo, como
mostrado a seguir:
Para ampliar o nosso estudo sobre as portas lógicas, é importante perceber que o inversor, ou a função NOT (NÃO), pode ser aplicada tanto em
variáveis como em portas lógicas inteiras, assim invertendo toda sua saída.
Neste contexto, seria possível concatenar a saída de uma porta lógica com a entrada do inversor conforme apresentado na figura a seguir,
produzindo, assim, a inversão de todos os seus valores de saída.
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 11/38
08/03/2023, 22:29 Lógica digital
Mas é possível construir a sua representação de uma forma diferente, permitindo criar a inversão em toda porta lógica de modo bastante peculiar —
com a identificação de um pequeno círculo na sua saída, indicando a inversão. Veja a imagem a seguir:
Você pode perceber que o símbolo da porta NOR de duas entradas representado na imagem a seguir é o mesmo símbolo utilizado para representar
a porta OR, com apenas uma diferença — a inclusão de um pequeno círculo na sua saída, que representa a inversão da operação OR.
Note que a barra que indica a negação/inversão será estendida a todas as variáveis de entrada, neste exemplo com duas variáveis:
A tabela-verdade a seguir mostra que a saída da porta NOR é exatamente o inverso da saída da porta OR:
Ao analisar as combinações possíveis com duas entradas, levando em consideração os valores para as variáveis de entrada A e B, somente
produzirá uma saída 1 (VERDADEIRO) se — e somente se — todas as entradas sejam 0 (FALSO) e, para as demais condições, produzirá como
resultado na saída igual a 0 (FALSO).
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 12/38
08/03/2023, 22:29 Lógica digital
Utilizando uma adaptação do cenário descrito na porta OR, podemos ter o seguinte:
Variável A, B e X
Nós podemos representar a aplicação desta função como: a lâmpada poderá estar apagada em duas situações distintas, se a porta do veículo
estiver aberta e o interruptor da lâmpada for acionado. Neste cenário, vamos representar cada uma dessas possibilidades: a variável A
representará a abertura da porta, a variável B representará o interruptor e a variável X representará o estado da lâmpada; se está acesa ou
apagada.
close
Igual a 0 e igual a 1
Ao analisarmos as combinações possíveis, levando em consideração os valores para a variável A, será igual a 0 se a porta estiver fechada e
será igual a 1 se a porta estiver aberta. Em relação à variável B, temos o valor igual a 0 para o interruptor ativado e 1 para o interruptor
desativado e, por fim, a variável X possuirá o valor 0 para a lâmpada apagada e 1 para a lâmpada acesa.
Você pode perceber que o símbolo da porta NAND de duas entradas, representado na imagem a seguir, é o mesmo símbolo utilizado para
representá-la, com apenas uma diferença – a inclusão de um pequeno círculo na sua saída, que representa a inversão da operação AND.
Em que a barra sobre o nome da variável representa a operação de inversão e a expressão é lida como:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 13/38
08/03/2023, 22:29 Lógica digital
A seguinte A tabela-verdade mostra que a saída da porta NAND é exatamente o inverso da saída da porta AND:
Ao analisar as combinações possíveis, levando em consideração os valores para as variáveis de entrada A e B, somente produzirá uma saída 0
(FALSO) se — e somente se — todas as entradas forem 1 (VERDADEIRO) e, para as demais condições, produzirá como resultado na saída igual a 1
(VERDADEIRO).
Assim, o sinal verde (liberando a passagem para ciclistas) estará ligado (0, FALSO) se duas condições forem atendidas: um botão seja acionado (1,
VERDADEIRO) e o sensor de movimento não detecte a existência de um pedestre naquele momento (1, VERDADEIRO). Para as demais
possibilidades, o semáforo estará com o farol vermelho acionado (1, VERDADEIRO), bloqueando o tráfego de ciclistas.
Vamos praticar!
–
A = 10010 Seja
B = 11110 X = A ⋅ B e , calcule . Uma resposta interessante para este caso é a realização de duas operações lógicas em
sequência. Primeiro, realiza-se a operação AND e, em seguida, obtém-se o inverso do resultado, produzindo o valor final para uma operação NAND.
O resultado parcial: L = 10010. Invertendo os bits de L, usando a Tabela Verdade da porta NOT:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 14/38
08/03/2023, 22:29 Lógica digital
10010 = T = A ⋅ B
–
–
01101 = T = A ⋅ B
–
–
Resultado:
X = T = A ⋅ B = 01101 .
video_library
Resolução da expressão booleana
Veja, a seguir, o vídeo para melhor compreensão da lógica apresentada na situação que acabou de ler.
A porta XOR que é uma abreviação do termo exclusive or, poderá ser considerada como um caso particular da função OR.
Neste sentido, a porta XOR produzirá um resultado igual a 1 (VERDADEIRO), se pelo menos um dos valores das entradas for diferente dos demais
(exclusividade de valor da variável), isto é, a porta produzirá o resultado 0 (FALSO) se — e somente se — todos os valores das entradas forem iguais,
conforme é apresentado na tabela-verdade a seguir:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 15/38
08/03/2023, 22:29 Lógica digital
Para ilustrar a sua aplicação, vamos utilizar o seguinte cenário: ao se acionar um motor elétrico de um equipamento por dois botões distintos em
dois locais diferentes. O motor somente será acionado se — e somente se — um dos botões for acionado (valor igual a 1, VERDADEIRO). Para os
demais casos, o botão não fará a atuação do motor (valor igual a 0, FALSO), isto é, se ambos os botões não forem acionados ou ambos forem
acionados ao mesmo instante, o equipamento não será ligado. Assim, podemos, neste exemplo, utilizar uma função XOR.
Vamos praticar!
Seja A = 1 e B = 0, calcule o valor de X, quando X = A ⊕ B(A xor B). Analisando a tabela-verdade da porta XOR, temos:
E o símbolo a seguir:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 16/38
08/03/2023, 22:29 Lógica digital
Poderíamos citar um exemplo que negue a condição definida pela função XOR. Para ilustrar a sua aplicação, vamos utilizar o seguinte cenário:
Ao se acionar uma porta rotatória em um banco através de dois botões distintos, localizados nos dois lados da porta. A porta será liberada (0,
FALSO) se — e somente se — um dos botões for acionado (valor igual a 1, VERDADEIRO).
Para os demais casos, ele manterá a porta bloqueada (valor igual a 0, FALSO), isto é, se ambos os botões não forem acionados ou ambos forem
acionados ao mesmo instante. Assim, podemos, neste exemplo, utilizar uma função XNOR.
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 17/38
08/03/2023, 22:29 Lógica digital
Expressões lógicas
Em muitos casos, a interpretação de um circuito digital exige uma análise aprofundada e meticulosa sobre o circuito com o objetivo de conhecer o
seu funcionamento, ou mesmo para analisar situações de criação, falha, expansão e alterações, entre outras possibilidades.
Neste contexto, é interessante que se utilize de uma forma para a representação de um circuito que esteja em formato de uma expressão algébrica.
As expressões lógicas, também denominadas como funções lógicas, podem ser definidas da mesma forma que uma
expressão algébrica, isto é, com o uso de sinais de entrada (variáveis lógicas — binárias), ligados por conectivos lógicos
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 18/38
08/03/2023, 22:29 Lógica digital
(símbolos que representarão uma operação lógica, com parênteses, opcionalmente) e também com o sinal de igualdade (=),
produzindo, como resultado, um único sinal de saída.
Desse modo, podemos afirmar que todo circuito lógico executará uma expressão booleana. Por exemplo:
O exemplo X é uma expressão lógica e, como uma função lógica, somente poderá possuir como valor 0 ou 1. O seu resultado dependerá dos valores
das variáveis A, B e C e das operações lógicas OR, NOT e AND, nesta expressão apresentada.
Vamos praticar!
Vamos supor que, a partir de um circuito lógico, devemos construir a sua respectiva expressão lógica. Seja o circuito:
Circuito lógico.
Como sugestão, utilizaremos a decomposição deste circuito em partes (blocos) a partir da sua saída (S).
Decomposição do circuito.
Decomposição do circuito.
Agora, para obter a expressão final deste circuito, vamos substituir a expressão S1 em função de A e B. Como temos a seguinte fórmula:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 19/38
08/03/2023, 22:29 Lógica digital
Temos, então:
Na avaliação de uma expressão lógica, uma ordem de precedência deverá ser seguida da mesma forma que é considerada em uma expressão
aritmética, de acordo com o definido a seguir:
1. Avalie NOT;
2. Avalie END;
3. Avalie OR.
–
Seguindo o exemplo anterior,
X = A + B ⋅ C , lê-se:
Como sugestão, faça a construção desta tabela-verdade seguindo a ordem de precedência da expressão:
Ou seja, NOT B, (NOT B) AND C, A OR (NOT B) AND C. Como temos três variáveis de entrada com dois valores possíveis (0 e 1) para cada uma,
temos 2³ = 8 combinações, conforme a tabela-verdade da função X a seguir:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 20/38
08/03/2023, 22:29 Lógica digital
video_library
Expressões lógicas
Veja, a seguir, um vídeo sobre expressões lógicas.
Conceito
Duas funções lógicas são equivalentes se — e somente se — para a mesma entrada, produzirem iguais valores de saída, isto é, quando duas
funções lógicas possuírem o mesmo resultado na sua tabela-verdade, esses circuitos serão considerados como equivalentes.
Vamos praticar!
Prática 1
–
Seja a função
X = A ⋅ A X , ao construir a tabela-verdade da função , temos:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 21/38
08/03/2023, 22:29 Lógica digital
–
–
Como você pode verificar, o resultado da tabela-verdade da função
X = A ⋅ A Y = A é idêntico à tabela-verdade da função .
Assim, podemos afirmar que tanto a função X como a função Y são equivalentes.
Prática 2
Diagrama lógico.
Partindo da variável saída X, nós podemos representar a expressão deste circuito nas seguintes partes:
A partir da variável X, nós temos a porta NAND que receberá os seguintes valores de entrada not B e um resultado intermediário T1,
assim X = B + T1 .
Para resolver o valor de T1, iremos identificar que T1 será o valor de saída da porta NAND que possui os seguintes valores de entrada:
not B e A, assim, T1 ¯
.
= B ⋅ A
–
–
¯ ¯
X = B ⋅ (B ⋅ A) Substituindo a equação que possui T1 como saída na primeira equação, temos:
Prática 3
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 22/38
08/03/2023, 22:29 Lógica digital
Partindo da variável saída F, nós podemos representar a expressão deste circuito nas seguintes partes:
A partir da variável F nós temos a porta OR que receberá os seguintes valores de entrada X e um resultado intermediário T1, assim,
F = X + T1 .
Para resolver o valor de T1, iremos identificar que T1 será o valor de saída da porta AND que possui os seguintes valores de entrada:
–
T1 = Y ⋅ Z not Y e Z, assim, .
–
F = X + Y ⋅ Z Substituindo a equação que possui T1 como saída na primeira equação, temos:
Prática 4
–
Seja A = 1, B = 0, C = 1, D = 1, calcule
X = A + B ⋅ C ⊕ D .
Adotando o esquema de prioridade, o valor de X será obtido com a realização das quatro etapas seguintes:
video_library
Prática 4
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 23/38
08/03/2023, 22:29 Lógica digital
Realizar a operação AND (maior prioridade, além de ter uma inversão determinada sobre a operação). Assim, trata-se de calcular
B ⋅ C = T1 .
Realizar a operação OR (as operações OR e XOR têm mesma prioridade, optando-se pela que está primeiro à esquerda).
Assim, calcula-se: T2 = A + T1 .
0 ⋅ 1 = 0 = T1
–
0 = 1
1 + 1 = 1 = T2
1 ⊕ 1 = 0 = X
Resultado igua a X = 0.
Prática 5
–
–
Seja A = 0, B = 0, C = 1, D = 1, calcule
X = (A + B ⊕ D) + (C ⋅ B) ⊕ A .
Adotando uma sequência de etapas, vamos considerar a ordem de precedência de cada operação.
A primeira prioridade é solucionar os parênteses, e dentro ou fora destes, a prioridade é da operação AND sobre as demais, exceto se houver
inversão (NOT).
Assim, temos:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 24/38
08/03/2023, 22:29 Lógica digital
Calcular o parêntese mais à esquerda; dentro deste parêntese, efetuar primeiro a inversão do valor de B: B = 0 e notB = 1.
1 ⊕ 1 = 0 = T2
T1 = 1 e T2 = 0
Calcula-se o outro parêntese, primeiro invertendo o valor de C (NOT), depois efetuando a operação AND daquele resultado com a
variável B. O valor final é, temporariamente, T3. C = 1 e not C = 0
0 ⋅ 0 = 0 = T3
Finalmente, calcula-se a operação OR do resultado do primeiro parêntese (T2) com o do outro parêntese (T3), para concluir com a
operação XOR com A.
0+0=0
X = 0 ⊕ 0 = 0
Resultado: X = 0
Prática 6
Vamos realizar operações lógicas com palavras de dados? Isto é, com variáveis de múltiplos bits.
Seja A = 1001, B = 0010, C = 11110, D = 1111, calcule o valor de X na seguinte expressão lógica:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 25/38
08/03/2023, 22:29 Lógica digital
Para resolver esta expressão, nós utilizaremos o mesmo método, execução por etapas, mas, agora, são 4 algarismos binários em vez de um apenas.
Considerando as prioridades já definidas anteriormente, temos:
Etapa a
Etapa b
Etapa c
Executar a operação OR de not T1, com D, atualizando um novo resultado parcial T1, que é a solução do primeiro parêntese.
Etapa d
Etapa e
Executar a operação OR de not T1, com D, atualizando um novo resultado parcial T1, que é a solução do primeiro parêntese.
Etapa f
Executar a operação XOR de B com o inverso de D, obtendo o resultado parcial T2, que é a solução do segundo parêntese.
Etapa g
Etapa h
E t ã OR d X T bt d lt d d X
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 26/38
08/03/2023, 22:29 Lógica digital
Executar a operação OR de X com T2, obtendo o resultado de X.
Executando as etapas aqui indicadas, temos etapa (a): T1 = B • C, com resultado parcial: T1 = 0010. Veja a tabela a seguir:
Temos a etapa (b): T1 = not T1 em que T1 = 0010 e not T1 = 1101. Como resultado parcial, fica o novo T1 = 1101.
Temos a etapa (e): T2 = B ⊕ not D em que o resultado parcial é T2 = 0010. Veja a tabela a seguir:
Temos a etapa (g): X = X + T2, em que o resultado de X = 0100. Veja a tabela a seguir:
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 27/38
08/03/2023, 22:29 Lógica digital
video_library
Operações lógicas com palavras de dados
Veja, a seguir, o vídeo em que apresentamos a realização de operações lógicas com palavras de dados.
A etapa g comentada no vídeo será concluída na tabela abaixo. Lembrando que a operação or retornará um valor falso quando todas entradas forem
falsas.
Etapa (g):X = X + T2
Assim, sendo
A=1001, B=0010, C=1110, D=1111.
Calcular o valor de X na seguinte expressão lógica:
X = A ⊕ (B̄ ⋅ C + D) + (B ⊕ D̄)
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 28/38
08/03/2023, 22:29 Lógica digital
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 29/38
08/03/2023, 22:29 Lógica digital
Essas regras também permitem facilitar a compreensão do funcionamento de dispositivos digitais, assim como a redução de custos na fabricação
de circuitos digitais com a redução de componentes eletrônicos usados.
video_library
Regras básicas da álgebra booleana
Veja, a seguir, a explicação narrada sobre as regras básicas da álgebra booleana.
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 30/38
08/03/2023, 22:29 Lógica digital
Stalling, 2017.
Vamos praticar!
Prática 1
Como primeiro passo, vamos analisar as regras básicas da álgebra booleana e verificar se é possível aplicar alguma dessas regras na expressão.
Etapa a
Agora, podemos iniciar o processo de simplificação usando a regra 12 referente ao Teorema de de Morgan na versão AND de
–
¯ ¯
X ⋅ Y = X + Y :
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 31/38
08/03/2023, 22:29 Lógica digital
–
¯
X = [(A + B) + B̄]
Etapa b
–
–
–
X + Y = X ⋅ Y Usando novamente o Teorema de Morgan na versão OR de :
–
–
–
–
–
X = A ⋅ B + B
Etapa c
–
Aplicando a regra 5 da involução X̄ = X em A e B, temos:
–
X = A ⋅ B + B
Etapa d
–
X = B + A ⋅ B
Etapa e
X = A + B
Por fim, podemos perceber que tanto na expressão inicial quanto na expressão simplificada, ambas produzem o mesmo resultado através da
seguinte tabela-verdade e, neste caso, pode ser utilizada uma simplificação de um circuito com uma porta NAND e inversores (NOT) sendo
substituído por uma única porta OR.
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 32/38
08/03/2023, 22:29 Lógica digital
Prática 2
¯ ¯ ¯
X = A ⋅ B ⋅ (C + C) + A ⋅ C ⋅ (B + B)
¯
X = A ⋅ B ⋅ 1 + A ⋅ C ⋅ 1
¯
X = A ⋅ B + A ⋅ C
Prática 3
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 33/38
08/03/2023, 22:29 Lógica digital
¯ ¯
X = A ⋅ (B ⋅ C + C + B)
Ordenando os termos:
¯
X = A ⋅ (B ⋅ C + (C + B̄))
–
X = A ⋅ (B ⋅ C + (B ⋅ C))
¯
X = A ⋅ (Y + Y )
X=A•1
X=A
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 34/38
08/03/2023, 22:29 Lógica digital
¯
X = A ⋅ B + A ⋅ C
video_library
Aplicação das regras da álgebra booleana
Veja, a seguir, a resolução do exercício que aplica as regras da álgebra booleana.
Prática 4
Prática 5
X=A+A•C+B•A+B•C
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 35/38
08/03/2023, 22:29 Lógica digital
X=A+B•A+B•C
X=A+B•C
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 36/38
08/03/2023, 22:29 Lógica digital
Considerações finais
Neste estudo, vimos o desenvolvimento do sistema de análise lógica conhecido, atualmente, como álgebra de Boole. Esse sistema permite
expressar a operação de um circuito na forma de uma operação algébrica em que as constantes e variáveis podem assumir apenas dois valores.
Identificamos os elementos básicos para o projeto de sistemas digitais, conhecidos como portas e funções lógicas, bem como a combinação das
portas lógicas em circuitos digitais que, muitas vezes, podem produzir uma redução do número de portas lógicas utilizadas no circuito.
O estudo desta redução ou simplificação de circuitos lógicos requer o conhecimento da álgebra de Boole, na qual encontram-se os fundamentos da
eletrônica digital de circuitos, que poderá diminuir o grau de dificuldade na montagem e no custo do sistema digital.
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 37/38
08/03/2023, 22:29 Lógica digital
headset
Podcast
Ouça um resumo sobre os principais assuntos abordados no tema.
https://stecine.azureedge.net/repositorio/00212ti/00105/index.html#imprimir 38/38