Algebra booleana e análise de circuitos lógicos

56
Álgebra booleana e análise de circuitos lógicos Professor Wagner Gadêa Lorenz [email protected] Disciplina: Introdução a Computação Curso de Sistemas de Informação Cachoeira do Sul, 09 de Junho de 2015.

Transcript of Algebra booleana e análise de circuitos lógicos

Page 1: Algebra booleana e análise de circuitos lógicos

Álgebra booleana e análise de circuitos

lógicos

Professor    Wagner  Gadêa  Lorenz  [email protected]    

Disciplina:  Introdução  a  Computação  Curso  de  Sistemas  de  Informação

Cachoeira do Sul, 09 de Junho de 2015.

Page 2: Algebra booleana e análise de circuitos lógicos

Álgebra Booleana

Uma álgebra Booleana pode ser definida com um conjunto de operadores e um conjunto de axiomas, que são assumidos verdadeiros sem necessidade de prova.

Em 1854, George Boole introduziu o formalismo que até hoje se usa para o tratamento sistemático da lógica, que é a chamada Álgebra Booleana. Em 1938, C. E. Shannon aplicou esta álgebra para mostrar que as propriedades de circuitos elétr icos de chaveamento podem ser representadas por uma álgebra Booleana com dois valores.

Introdução a Computação 2 Prof. Wagner Gadêa Lorenz

Page 3: Algebra booleana e análise de circuitos lógicos

Álgebra Booleana

Diferentemente da álgebra ordinária dos reais, onde as variáveis podem assumir valores no intervalo (-∞;+∞), as variáveis Booleanas só podem assumir um número finito de valores. Em particular, na álgebra Booleana de dois valores, cada variável pode assumir um dentre dois valores possíveis, os quais podem ser denotados por [F,V] (falso ou verdadeiro), [H,L] (high and low) ou ainda [0,1]. Nesta disciplina, adotaremos a notação [0,1], a qual também é utilizada em eletrônica digital.

Introdução a Computação 3 Prof. Wagner Gadêa Lorenz

Page 4: Algebra booleana e análise de circuitos lógicos

Álgebra Booleana

Como o número de valores que cada variável pode assumir é finito (e pequeno), o número de estados que uma função Booleana pode assumir também será finito, o que significa que podemos descrever completamente as funções Booleanas utilizando tabelas.

Devido a este fato, uma tabela que descreva uma função Booleana recebe o nome de tabela verdade, e nela são listadas todas as combinações de valores que as v a r i á v e i s d e e n t r a d a p o d e m a s s u m i r e o s correspondentes valores da função (saídas).

Introdução a Computação 4 Prof. Wagner Gadêa Lorenz

Page 5: Algebra booleana e análise de circuitos lógicos

Operações Básicas da Álgebra Booleana (ou Álgebra de Chaveamento)

Na álgebra Booleana, existem três operações ou funções básicas. São elas, operação OU, operação E e complementação.

Todas as funções Booleanas podem ser representadas em termos destas operações básicas.

Introdução a Computação 5 Prof. Wagner Gadêa Lorenz

Page 6: Algebra booleana e análise de circuitos lógicos

Operação OU (Adição Lógica)Uma definição para a operação OU, que também é denominada adição lógica, é:

“A operação OU resulta 1 se pelo menos uma das variáveis de entrada vale 1”.

Como uma variável Booleana ou vale 1 ou vale 0, e como o resultado de uma operação qualquer pode ser encarado como (ou atribuído a) uma variável Booleana, basta que definamos quando a operação vale 1. Automaticamente, a operação resultará 0 nos demais casos. Assim, pode-se dizer que a operação OU resulta 0 somente quando todas as variáveis de entrada valem 0.

Introdução a Computação 6 Prof. Wagner Gadêa Lorenz

Page 7: Algebra booleana e análise de circuitos lógicos

Operação OU (Adição Lógica)Um símbolo possível para representar a operação OU é “+”, tal como o símbolo da adição algébrica (dos reais).

Listando as possibilidades de combinações entre dois valores Booleanos e os respectivos resultados para a operação OU, tem-se:

Note que a operação OU só pode ser definida se houver, pelo menos, duas variáveis envolvidas. Ou seja, não é possível realizar a operação sobre somente uma variável. Devido a isso, o operador “+” (OU) é dito binário.

Introdução a Computação 7 Prof. Wagner Gadêa Lorenz

Page 8: Algebra booleana e análise de circuitos lógicos

Operação OU (Adição Lógica)Nas equações, não costuma-se escrever todas as possibilidades de valores. Apenas adotamos uma letra (ou uma letra com um índice) para designar uma variável Booleana. Com isso, já se sabe que aquela variável pode assumir ou o valor 0 ou o valor 1. Então, supondo que queiramos demonstra o comportamento da equação A+B (lê-se A ou B), poderíamos fazê-lo utilizando uma tabela verdade, como segue:

Introdução a Computação 8 Prof. Wagner Gadêa Lorenz

Page 9: Algebra booleana e análise de circuitos lógicos

Operação OU (Adição Lógica)Da mesma forma, podemos mostrar o comportamento da equação A+B+C (lê-se A ou B ou C) por meio de uma tabela verdade. Como na equação há somente o símbolo “+”, trata-se da operação OU sobre três variáveis. Logo, pode-se aplicar diretamente a definição da operação OU: o resultado será 1 se pelo menos uma das variáveis de entrada valer 1.

Introdução a Computação 9 Prof. Wagner Gadêa Lorenz

Page 10: Algebra booleana e análise de circuitos lógicos

Operação OU (Adição Lógica)É importante notar que, devido ao fato de haver somente um operador na equação, pode-se também avaliar a equação decompondo-a em pares.

Por exemplo, pode-se primeiramente achar o resultado de A+B, para depois operar os valores resultantes com os respectivos valores de C.

Esta propriedade é conhecida como associativa. Também a ordem em que são avaliadas as variáveis A, B e C é irrelevante (propriedade comutativa). Estas propriedades são ilustradas pela tabela verdade a seguir.

Nela, os parêntesis indicam sub-expressões já avaliadas em coluna imediatamente à esquerda. Note que os valores das colunas referentes às expressões A+B+C, (A+B)+C e (B+C)+A são os mesmos (na mesma ordem).

Introdução a Computação 10 Prof. Wagner Gadêa Lorenz

Page 11: Algebra booleana e análise de circuitos lógicos

Operação OU (Adição Lógica)

Introdução a Computação 11 Prof. Wagner Gadêa Lorenz

Page 12: Algebra booleana e análise de circuitos lógicos

Operação E (Multiplicação Lógica)

A operação E, ou multiplicação lógica, pode ser definida da seguinte forma:

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

Pela definição dada, pode-se deduzir que o resultado da operação E será 1 se, e somente se, todas as entradas valerem 1.

O símbolo usualmente utilizado na operação E é “.”

Introdução a Computação 12 Prof. Wagner Gadêa Lorenz

Page 13: Algebra booleana e análise de circuitos lógicos

Operação E (Multiplicação Lógica)

Assim como a operação OU, a operação E só pode ser definida entre, pelo menos duas variáveis. Ou seja, o operador “.” (E) também é binário.

Introdução a Computação 13 Prof. Wagner Gadêa Lorenz

Page 14: Algebra booleana e análise de circuitos lógicos

Operação E (Multiplicação Lógica)

Para mostrar o comportamento da equação A . B (lê-se A e B), escreve-se uma tabela verdade, como segue:

Introdução a Computação 14 Prof. Wagner Gadêa Lorenz

Page 15: Algebra booleana e análise de circuitos lógicos

Operação E (Multiplicação Lógica)De forma semelhante, pode-se determinar o resultado da equação A.B.C (lê-se A e B e C) utilizando diretamente a definição da operação E: o resultado será 0 se pelo menos uma das variáveis de entrada valer 0.

Introdução a Computação 15 Prof. Wagner Gadêa Lorenz

Page 16: Algebra booleana e análise de circuitos lógicos

Operação E (Multiplicação Lógica)

Também para a operação E valem as propriedades associativa e comutativa. Então, a equação A.B.C pode ainda ser avaliada tomando-se as variáveis aos pares, em qualquer ordem. Veja a tabela verdade a seguir e compare os resultados.

Introdução a Computação 16 Prof. Wagner Gadêa Lorenz

Page 17: Algebra booleana e análise de circuitos lógicos

Operação E (Multiplicação Lógica)

Introdução a Computação 17 Prof. Wagner Gadêa Lorenz

Page 18: Algebra booleana e análise de circuitos lógicos

Complementação (ou Negação, ou Inversão)

A operação complementação dispensa uma definição. É a operação cujo resultado é simplesmente o valor complementar ao que a variável apresenta.

Também devido ao fato de uma variável Booleana poder assumir um entre somente dois valores, o valor complementar será 1 se a variável vale 0 e será 0 se a variável vale 1.

Introdução a Computação 18 Prof. Wagner Gadêa Lorenz

Page 19: Algebra booleana e análise de circuitos lógicos

Complementação (ou Negação, ou Inversão)

Os símbolos utilizados para representar a operação complementação sobre uma variável Booleana A são , ~A e A' (lê-se A negado). Nos slides utilizaremos a terceira notação. O resultado da operação complementação pode ser listado:

Introdução a Computação 19 Prof. Wagner Gadêa Lorenz

Page 20: Algebra booleana e análise de circuitos lógicos

Complementação (ou Negação, ou Inversão)

Diferentemente das operações OU e E, a complementação só é definida sobre uma variável, ou sobre o resultado de uma expressão. Ou seja, o operador complementação é dito unário.

E a tabela verdade para A' é:

Introdução a Computação 20 Prof. Wagner Gadêa Lorenz

Page 21: Algebra booleana e análise de circuitos lógicos

Portas Lógicas

Já vimos que uma função Booleana pode ser representada por uma equação ou detalhada pela sua tabela verdade. Mas uma função Booleana também pode ser representada de forma gráfica, onde cada operador está associado a um símbolo específico, permitindo o imediato reconhecimento visual.

Tais símbolos são conhecidos por portas lógicas.

Introdução a Computação 21 Prof. Wagner Gadêa Lorenz

Page 22: Algebra booleana e análise de circuitos lógicos

Portas LógicasNa realidade, mais do que símbolos de operadores lógicos, as portas lógicas representam recursos físicos, isto é, circuitos eletrônicos, capazes de realizar as operações lógicas.

Na eletrônica que trabalha com somente dois estados, a qual é denominada eletrônica digital, o nível lógico 0 normalmente está associado à ausência de tensão (0 volt) enquanto o nível lógico 1, à presença de tensão (a qual geralmente é 5 volts).

Nesta disciplina, nos limitaremos ao mundo da álgebra Booleana, admitindo que as portas lógicas representam também circuitos eletrônicos que, de alguma maneira, realizam as funções Booleanas simbolizadas.

Então, ao conjunto de portas lógicas e respectivas conexões que simbolizam uma equação Booleana, denominaremos circuito lógico.

Introdução a Computação 22 Prof. Wagner Gadêa Lorenz

Page 23: Algebra booleana e análise de circuitos lógicos

Porta OU (OR)O símbolo da porta OU pode ser visto na figura. As entradas são colocadas à esquerda e a saída, à direita. Deve haver no mínimo duas entradas, mas há somente uma saída. O funcionamento da porta OU segue a definição da operação OU.

Introdução a Computação 23 Prof. Wagner Gadêa Lorenz

Page 24: Algebra booleana e análise de circuitos lógicos

Porta OU (OR)

Introdução a Computação 24 Prof. Wagner Gadêa Lorenz

Page 25: Algebra booleana e análise de circuitos lógicos

Porta E (AND)

O símbolo da porta E é mostrado na figura. À esquerda estão dispostas as entradas (no mínimo duas, obviamente) e à direita, a saída (única). As linhas que conduzem as variáveis de entrada e saída podem ser interpretadas como fios que transportam os sinais elétricos associados às variáveis.

Introdução a Computação 25 Prof. Wagner Gadêa Lorenz

Page 26: Algebra booleana e análise de circuitos lógicos

Inversor (ou Porta Inversora, ou Negador)

A porta que simboliza a operação complementação é conhecida como inversor (ou porta inversora, ou negador). Como a operação complementação só pode ser realizada sobre uma variável por vez (ou sobre o resultado de uma sub-expressão), o inversor só possui uma entrada e, obviamente, uma saída. Caso se queira complementar uma expressão, é necessário obter-se primeiramente o seu resultado, para só então aplicar a complementação. O símbolo do inversor é mostrado na figura.

Introdução a Computação 26 Prof. Wagner Gadêa Lorenz

Page 27: Algebra booleana e análise de circuitos lógicos

Porta XOR

A denominação XOR é a abreviação do termo EXCLUSIVE OR. Trata-se de uma operação que aceita dois operandos ou duas entradas (A e B), conforme pode-se observar na figura. Os operandos são binários simples (0 e 1).

Introdução a Computação 27 Prof. Wagner Gadêa Lorenz

Page 28: Algebra booleana e análise de circuitos lógicos

Porta XOR

Conforme é possível observar, a regra é: “se o primeiro operando ou o segundo operando for igual a 1, o resultado é 1; senão, o resultado é 0”. Ou seja, para entradas iguais a saída será 0 e para entradas diferentes a saída será 1.

Introdução a Computação 28 Prof. Wagner Gadêa Lorenz

Page 29: Algebra booleana e análise de circuitos lógicos

Porta NAND

A porta NAND (porta AND invertida)

Introdução a Computação 29 Prof. Wagner Gadêa Lorenz

Page 30: Algebra booleana e análise de circuitos lógicos

Porta NOR

A porta NOR (porta OR invertida)

Introdução a Computação 30 Prof. Wagner Gadêa Lorenz

Page 31: Algebra booleana e análise de circuitos lógicos

Porta NAND e NOR

As operações lógicas são realizadas em dois passos: primeiro a operação AND ou OR e, em seguida, o seu resultado é invertido.

Esse tipo de portas lógicas também possui diversas aplicações, sendo utilizado para reduzir a complexidade e a quantidade de portas lógicas necessárias a um determinado circuito lógico.

Introdução a Computação 31 Prof. Wagner Gadêa Lorenz

Page 32: Algebra booleana e análise de circuitos lógicos

Resumo da Portas

Introdução a Computação 32 Prof. Wagner Gadêa Lorenz

Page 33: Algebra booleana e análise de circuitos lógicos

Resumo da Portas

Introdução a Computação 33 Prof. Wagner Gadêa Lorenz

Page 34: Algebra booleana e análise de circuitos lógicos

Resumo da Portas

Introdução a Computação 34 Prof. Wagner Gadêa Lorenz

Page 35: Algebra booleana e análise de circuitos lógicos

Exemplo de Circuito Lógico

Dada uma equação Booleana qualquer, é possível desenhar-se o circuito lógico que a implementa. O circuito lógico é composto das portas lógicas relacionadas às operações que são realizadas sobre as variáveis de entrada. Os resultados das operações são conduzidos por fios, os quais, no desenho, são representados por linhas simples.

Introdução a Computação 35 Prof. Wagner Gadêa Lorenz

Page 36: Algebra booleana e análise de circuitos lógicos

Exemplo de Circuito LógicoOs passos a serem seguidos para se realizar o desenho do circuito lógico a partir de uma equação são praticamente os mesmos usados na avaliação da expressão.

Inicialmente, identificamos as variáveis independentes, que no caso são X, Y e Z.

Para cada uma destas, traçamos uma linha (da esquerda para a direita), representando os fios que conduzem os valores.

Feito isto, deve-se seguir desenhando as portas necessárias para representar cada uma das sub expressões, na mesma ordem tomada para a avaliação, ou seja:

• 1º - parênteses (dos mais internos para os mais externos); • 2º - operações E; • 3º - operações OU.

Introdução a Computação 36 Prof. Wagner Gadêa Lorenz

Page 37: Algebra booleana e análise de circuitos lógicos

Exemplo de Circuito LógicoPode-se observar na figura o circuito lógico para a equação W= X + Y.Z’.

Introdução a Computação 37 Prof. Wagner Gadêa Lorenz

Page 38: Algebra booleana e análise de circuitos lógicos

Exemplos de Circuito Lógico

Introdução a Computação 38 Prof. Wagner Gadêa Lorenz

Page 39: Algebra booleana e análise de circuitos lógicos

Equação - CircuitoPara a obtenção do circuito a partir da equação é necessário lembrar da ordem de prioridade das operações: parênteses , e , ou .

Exemplos (usando apenas portas de duas entradas)

Introdução a Computação 39 Prof. Wagner Gadêa Lorenz

Page 40: Algebra booleana e análise de circuitos lógicos

Equação - CircuitoPara a obtenção do circuito a partir da equação é necessário lembrar da ordem de prioridade das operações: parênteses , e , ou .

Exemplos (usando apenas portas de duas entradas)

Introdução a Computação 40 Prof. Wagner Gadêa Lorenz

Page 41: Algebra booleana e análise de circuitos lógicos

Equação - CircuitoPara a obtenção do circuito a partir da equação é necessário lembrar da ordem de prioridade das operações: parênteses , e , ou .

Exemplos (usando apenas portas de duas entradas)

Introdução a Computação 41 Prof. Wagner Gadêa Lorenz

Page 42: Algebra booleana e análise de circuitos lógicos

Circuito - Equação

Para a obtenção da equação a partir do circuito, inicia-se a análise próximo às entradas e escreve-se a equação de saída de cada porta lógica, até obter a equação de saída final do circuito.

Introdução a Computação 42 Prof. Wagner Gadêa Lorenz

Page 43: Algebra booleana e análise de circuitos lógicos

Circuito - Equação

Introdução a Computação 43 Prof. Wagner Gadêa Lorenz

Page 44: Algebra booleana e análise de circuitos lógicos

Circuito - Equação

Introdução a Computação 44 Prof. Wagner Gadêa Lorenz

Page 45: Algebra booleana e análise de circuitos lógicos

Circuito - Equação

Introdução a Computação 45 Prof. Wagner Gadêa Lorenz

Page 46: Algebra booleana e análise de circuitos lógicos

Circuito - Equação

Os parênteses nas equações intermediárias, na saída de cada porta lógica, servem para garantir a prioridades corretas das operações na equação final.

Introdução a Computação 46 Prof. Wagner Gadêa Lorenz

Page 47: Algebra booleana e análise de circuitos lógicos

Circuito ou Equação - Tabela VerdadeLembre que é a tabela verdade quem descreve o todo o funcionamento lógico de um circuito digital combinacional, ou todo o comportamento de uma equação lógica. Assim, a tabela verdade deve contemplar todas as possibil idades de entrada do circuito/equação e cada saída correspondente.

As entradas devem ser organizadas na forma de uma contagem binária crescente.

Uma tabela verdade de um circuito/equação de três variáveis, por exemplo, possui oito linhas, pois este é o número de combinações possíveis dos estados (apenas dois: 0 ou 1) das 3 variáveis.

Matematicamente: a tabela verdade de uma função lógica de n variáveis tem 2ˆn linhas (2ˆ3 = 8). A seguir são apresentados três métodos para a obtenção da tabela verdade de um circuito ou de uma equação.

Introdução a Computação 47 Prof. Wagner Gadêa Lorenz

Page 48: Algebra booleana e análise de circuitos lógicos

Circuito ou Equação - Tabela Verdade

Método 1

Decompor a equação em operações menores e obter as saídas de cada operação menor em colunas auxiliares, até obter a saída final. Caso seja dado o circuito e não a equação, obter a equação correspondente e então aplicar o método.

Introdução a Computação 48 Prof. Wagner Gadêa Lorenz

Page 49: Algebra booleana e análise de circuitos lógicos

Circuito ou Equação - Tabela Verdade

Método 1

Introdução a Computação 49 Prof. Wagner Gadêa Lorenz

Page 50: Algebra booleana e análise de circuitos lógicos

Circuito ou Equação - Tabela Verdade

Método 2

Substituir cada possibilidade de entrada na equação e obter o resultado. Caso seja dado o circuito e não a equação, obter a equação correspondente e então aplicar o método.

Introdução a Computação 50 Prof. Wagner Gadêa Lorenz

Page 51: Algebra booleana e análise de circuitos lógicos

Circuito ou Equação - Tabela Verdade

Método 2

Introdução a Computação 51 Prof. Wagner Gadêa Lorenz

Page 52: Algebra booleana e análise de circuitos lógicos

Circuito ou Equação - Tabela Verdade

Método 3

Aplicar cada possibilidade de entrada no circuito e obter a saída. Caso seja dada a equação e não o circuito, obter o circuito correspondente e então aplicar o método.

Introdução a Computação 52 Prof. Wagner Gadêa Lorenz

Page 53: Algebra booleana e análise de circuitos lógicos

Circuito ou Equação - Tabela Verdade

Método 3

Introdução a Computação 53 Prof. Wagner Gadêa Lorenz

Page 54: Algebra booleana e análise de circuitos lógicos

Montando a tabela verdade a partir de um circuito

Primeiro deriva-se a expressão de saída.

Introdução a Computação 54 Prof. Wagner Gadêa Lorenz

Page 55: Algebra booleana e análise de circuitos lógicos

Dúvidas

• Conteúdo • Moodle • (http://wagnerglorenz.com.br/moodle/)

• Dúvidas

[email protected]

55Introdução a Computação Prof. Wagner Gadêa Lorenz

Page 56: Algebra booleana e análise de circuitos lógicos

Referências Bibliográficas

Material Prof. José Luís Güntzel e Francisco Assis do Nascimento.

Material Prof. Daniel D. Silveira.

Material Prof. Gustavo B. Borba.

Volnei Pedroni, Eletrônica digital moderna e VHDL, Elsevier, 2010.

56Introdução a Computação Prof. Wagner Gadêa Lorenz