Algebra Booleana e Circuitos Lógicos

Algebra Booleana e Circuitos Lógicos

Álgebra Booleana e Circuitos Lógicos

Prof. Dr. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Dr. Júlio Carlos Balzano de Mattos (UFPel)

Álgebra Booleana

Desenvolvido pelo matemático George Boole, em 1854, é usada como teoria geral dos circuitos chaveados (álgebra de chaveamento).

Diferentemente da álgebra ordinária dos reais, onde as variáveis podem assumir valores no intervalo ( , ), as variáveis boolenas podem assumir um número finito de valores.

A álgebra booleana trabalha apenas com duas grandezas.

0 ou 1 Que também podem ser representadas como:

falso (F) ou verdadeiro (V) low ou high

O computador trabalha com operações lógicas e aritméticas simples sobre bits.

Estas operações são realizadas por circuitos eletrônicos chamados circuitos lógicos. Os circuitos lógicos são circuitos chaveados que, normalmente, são compostos de portas lógicas (implementadas com transistores).

Por que o uso da Álgebra Boolena ?

Porque fornece uma ferramenta matemática para entender o funcionamento dos circuitos chaveados e, por conseguinte, para entender e projetar circuitos lógicos.

Tabela verdade - são tabelas que representam todas as possíveis combinações das variáveis de entrada de uma função e seus respectivos valores de saída.

Operação OU (OR) → ADIÇÃO LÓGICA

“Uma sentença resulta verdadeira se QUALQUER UM dos termos for verdadeiro.”

“A operação OU resulta 1 se pelo menos uma das varáveis de entrada vale 1.” O operador lógico OU é um operador binário, e é representado por: + ou v

Utilizando a tabela verdade para demonstrar o comportamento da equação: A + B (lê-se A ou B)

A B A + B 0 0 0 0 1 1 1 0 1 1 1 1

Operação E (AND) → MULTIPLICAÇÃO LÓGICA

“Uma sentença resulta verdadeira se e somente se todos os termos forem verdadeiros.”

“A operação E resulta 0 (zero) se pelo menos uma das variáveis de entrada vale 0 (zero).”

ou 

O operador lógico E é representado por:

Como a operação OU, também é um operador binário. Utilizando-se a tabela verdade para demonstrar o comportamento da equação: A . B (lê-se A e B)

A B A . B 0 0 0 0 1 0 1 0 0 1 1 1

Operação NÃO (NOT) “Este operador inverte um termo.”

A operação complementação (ou negação, inversão) é a operação cujo resultado é simplesmente o valor complementar (inverso, negado) que a variável apresenta.

O operador lógico NOT é representado por:

Aou A~ ou 'A O operador NOT é um operador unário.

Utilizando a tabela verdade para representar a variável A é: TABELA VERDADE

A A 0 1

Exemplo:

Criar as tabelas verdades para representar o comportamento das seguintes equações:

A B C A + B + C 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1

A B C A . B . C 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1

Avaliação de Expressões Booleanas

Uma expressão booleana é uma expressão formada por sinais de entrada (chamadas variáveis de entrada) ligados por conectivos lógicos, produzindo como resultado um único sinal de saída.

Dada a equação que descreve uma função booleana qualquer, deseja-se saber detalhadamente como esta função se comporta para qualquer combinação das variáveis de entrada.

O comportamento de uma função é descrito pela sua tabela verdade e este problema é conhecido como avaliação da função ou da expressão que descreve a função considerada.

Na avaliação de uma expressão booleana, deverá ser seguida uma ordem de precedência (respeitando os parênteses).

1. avaliar a negação (NOT) 2. avaliar a multiplicação lógica (AND) 3. avaliar a adição lógica (OR)

Exemplo 1: avaliar a expressão CBAx

A B C C BA CBAx

Portas Lógicas

Uma função booleana também pode ser representada de forma gráfica, usando uma simbologia específica para portas lógicas.

Estes símbolos de operadores lógicos (portas lógicas) representam recursos físicos, isto é, recursos eletrônicos capazes de realizar as operações lógicas.

Na eletrônica binária, que trabalha com somente dois estados (denominada eletrônica digital), o nível lógico zero normalmente está associado à ausência de tensão (0 volts) e o nível lógico 1, à presença de tensão (por exemplo, 5 volts).

O conjunto de portas lógicas e respectivas conexões que simbolizam uma equação booleana é denominada de circuito lógico. As portas lógicas implementam operadores da álgebra booleana.

Porta OR (OU) Representação gráfica:

A B S 0 0 0 0 1 1 1 0 1 1 1 1

A porta OR combina dois ou mais sinais de entrada de forma equivalente a um circuito em paralelo:

Porta AND (E) Representação gráfica:

A B S 0 0 0 0 1 0 1 0 0 1 1 1

A porta AND combina dois ou mais sinais de entrada de forma equivalente a um circuito em série:

Porta NOT (NÃO) Representação gráfica:

A S 0 1 1 0

A porta not inverte o sinal de entrada (executa a negação do sinal de entrada).

Outros Circuitos Fundamentais

Porta NOR (NÃO OU) Representação gráfica:

A B S 0 0 1 0 1 0 1 0 0 1 1 0

A porta NOR equivale a uma porta OR seguida por uma porta NOT, isto é, ela produz uma saída que é o inverso da saída produzida pela porta OR.

Porta NAND (NÃO E) Representação gráfica:

A B S 0 0 1 0 1 1 1 0 1 1 1 0

A porta NAND equivale a uma porta AND seguida de uma porta NOT, isto é, ela produz uma saída que é o inverso da saída produzida pela porta AND.

Porta XOR (OU EXCLUSIVO) Representação gráfica:

A B S 0 0 0 0 1 1 1 0 1 1 1 0

A porta XOR compara os bits: ela produz a saída 1 quando somente um bit de entrada for igual a 1.

Porta XNOR (NOR EXCLUSIVO) Representação gráfica:

A B S 0 0 1 0 1 0 1 0 0 1 1 1

A porta XNOR compara os bits: ela produz a saída 0 quando somente um bit de entrada for igual a 1.

Implementação de Funções Booleanas com Portas Lógicas

Para implementar uma função lógica qualquer usando portas lógicas, devemos decompor a expressão em seus componentes atômicos e implementá-los com suas portas lógicas equivalentes.

Exemplo:

ABCS. Representação gráfica:

Determinando a função booleana de um circuito lógico:

Exercício: implementar a função booleana )(.BCABCS com portas lógicas.

Comportamento de um Circuito Complexo

Baseado nas tabelas dadas, pode-se determinar o comportamento de um circuito formado pela interligação de diversas portas lógicas.

Exemplo:

A B C S 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

Exercício: determinar o comportamento do circuito abaixo.

A B C S 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

Exercícios

Dada as expressões boolenas abaixo, desenhe os circuitos lógicos e determine o comportamento dos circuitos (obter a tabela verdade).

(f) CACBACAS

Equivalência de Funções Lógicas

Duas funções lógicas booleanas são equivalentes se e somente se, para a mesmo entrada, produzirem iguais valores de saída.

Portanto, duas funções lógicas equivalentes possuem a mesma tabela verdade.

Exercícios: verifique se as funções lógicas a seguir representam funções equivalentes.

a) ).()(zxyx e zyxzyx
b) ).()(yxzx e zyxzyx

Resolução do exemplo a:

x y z z yx. zyx..zyx..zyxzyx

Propriedades ou axiomas da Álgebra Booleana

Adição lógica

Multiplicação lógica

Complementação

(9) x Comutatividade

Associatividade

Distributividade

Leis da absorção

Teoremas de De Morgan

Propriedades da função exclusiva OR (XOR)

Outras propriedades

Simplificação de Expressões Booleanas

A simplificação das expressões booleanas é feita por manipulação algébrica, usando-se as propriedades da álgebra booleana.

Exemplos:

a) CACBACBA

Portas Universais

Revisão Porta NOR Porta NAND

Porta NOR Porta NAND A B S A B S 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1

Circuito NAND

A porta NAND é dita “porta universal” porque qualquer sistema digital pode ser implementado somente com portas NAND.

Circuito NOR

A porta NOR é também outra “porta universal” que pode ser utilizada para implementar qualquer função booleana.

Exercícios

Implemente os circuitos das expressões abaixo somente com as portas universais NOR e NAND.

Comentários