Universidade Federal de Uberlândia Faculdade de Computação Sistemas Digitais Módulo 4 Álgebra Booleana e Circuitos Lógicos Graduação em Sistemas de Informação Prof. Dr. Daniel A. Furtado
Conteúdo Introdução Álgebra booleana Valor lógico e variável booleana Operações Lógicas AND, OR, NOT, NAND, NOR, XOR, XNOR Tabela Verdade Diagramas de Tempo Portas Lógicas Expressões e circuitos lógicos Introdução ao Logisim
Álgebra Booleana (ou Álgebra de Boole) Sistema matemático que utiliza símbolos e operadores para representar e manipular expressões lógicas; Introduzida em 1847 pelo matemático inglês George Boole; Diferentemente da álgebra elementar, uma variável na álgebra booleana pode assumir um de dois possíveis valores (ou estados): 0 - Falso 1 - Verdadeiro Em geral, o valor 0 representa falso, não, desligado, ausência de tensão, etc. Já o valor 1 representa verdadeiro, sim, ligado, presença de tensão, etc. George Boole
Álgebra Booleana (ou Álgebra de Boole) Em 1938, o americano Claude E. Shannon mostrou que os conceitos da Álgebra de Boole podiam ser aplicados em circuitos digitais; Sua tese de mestrado abordando o assunto é tida como uma das mais importante do século! C. E. Shannon
Álgebra Booleana (ou Álgebra de Boole) Operações fundamentais da álgebra Booleana: AND (E) OR (OU) NOT (Não, Inversão) Outras Operações NAND NOR XOR XNOR
Operação Lógica AND (E) Representa o e lógico; O resultado é verdadeiro (1) quando todas as entradas forem verdadeiras; Representações mais comuns S = A B; S = AB Outras representações S = A B S = A & B S = A, B Ref.: J. A. Baranauskas, USP
Operação Lógica AND (E) Representação das situações possíveis para duas variáveis: Tabela Verdade Entradas Saída A B S = A. B 0 0 0 0 1 0 1 0 0 1 1 1 Ref.: J. A. Baranauskas, USP
Operação Lógica AND (E) Tabela verdade para três variáveis: Entradas Saída A B C S = 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
Operação Lógica OR (OU) Representa o ou lógico; O resultado é verdadeiro (1) quando pelo menos uma das entradas for verdadeira; Representação: S = A + B Representações Alternativas S = A B S = A OR B S = A B Ref.: J. A. Baranauskas, USP
Operação Lógica OR (OU) Representação das situações possíveis para duas variáveis: Tabela Verdade Entradas Saída A B S = A + B 0 0 0 0 1 1 1 0 1 1 1 1 Ref.: J. A. Baranauskas, USP
Operação Lógica OR (OU) Tabela verdade para três variáveis: Entradas Saída A B C S = 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
Operação Lógica NOT (Não/Negação/Inversão) Pode ser aplicada a uma única variável de entrada; Realiza a inversão do valor lógico da variável: Se a variável valer 0, o resultado da operação é 1; Se a variável valer 1, o resultado da operação é 0; Representação: S = A (lê-se S = não A) Tabela verdade: Entrada A Saída S = A 0 1 1 0
Operação Lógica NOR (Not OR) A operação NOR corresponde a uma operação OR seguida de uma operação NOT; Representação mais comum: A + B; Tabela verdade: Entradas OR NOR A B A + B A + B 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0
Operação Lógica NAND (Not AND) A operação NAND corresponde a uma operação AND seguida de uma operação NOT; Representação mais comum: A B; Tabela verdade: Entradas AND NAND A B A B A B 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0
Operações Lógicas XOR e XNOR XOR Exclusive-OR O resultado é verdadeiro sempre que as duas entradas forem opostas; Representação: Equivalência: A B = AB + AB XNOR Not XOR Negação do XOR O resultado é verdadeiro sempre que as duas entradas forem iguais; Representações: A B, A B Equivalência: A B = AB + AB A B A B 0 0 0 0 1 1 1 0 1 1 1 0 A B A B 0 0 1 0 1 0 1 0 0 1 1 1 Prof. Daniel A. Furtado
Portas Lógicas Uma porta lógica é um dispositivo capaz de executar uma operação lógica básica da álgebra Booleana. Cada porta lógica é representada graficamente por um símbolo próprio; Possui uma ou mais entradas e produz uma única saída; As portas lógicas podem ser implementadas fisicamente de diversas formas. São comumente implementadas em circuitos integrados, por meio de transistores; Em circuitos digitais, as entradas das portas são níveis lógicos de tensão (por ex. 0v ou 5v) representando os valores 0 e 1; São os blocos fundamentais dos circuitos digitais.
Portas Lógicas Básicas - Representação Representações gráficas das portas lógicas Porta AND Entrada A Entrada B Saída S Porta OR Entrada A Entrada B Saída S Porta NOT Entrada A Saída S
Portas Lógicas - Representação Porta NAND Denota inversão Porta NOR A + B Denota inversão Porta XOR A B A B Porta XNOR A B A B
Portas Lógicas - Representação Portas com mais de duas entradas também são comuns: A B C S = ABC Um exemplo de dispositivo físico que implementa a porta lógica AND é o circuito integrado (CI) 7408: Diagrama do CI 7408
Porta Lógica AND Diagrama de Tempo Entrada A Entrada B Saída S v Entrada A t v Entrada B v t Saída S t
Porta Lógica OR Diagrama de Tempo Entrada A Entrada B Saída S v Entrada A v t Entrada B v t Saída S t
Porta Lógica NOT Diagrama de Tempo Entrada Saída v Entrada v t Saída t
Circuitos Lógicos Um circuito lógico é uma combinação de portas lógicas com as respectivas conexões; Exemplos:
Descrevendo Circuitos Lógicos Algebricamente Circuitos lógicos podem ser descritos algebricamente por equações booleanas (e vice-versa)
Precedência dos Operadores Considere a expressão: A B + C Qual operação é realizada primeiro? 1º AND (maior precedência, como na álgebra convencional) 2º OR Uso de parênteses: A (B + C) 1º OR 2º AND
Descrevendo Circuitos Lógicos Algebricamente
Descrevendo Circuitos Lógicos Algebricamente Encontre as expressões lógicas nos nós intermediários do circuito a seguir:
Descrevendo Circuitos Lógicos Algebricamente Solução: A saída é: x = A BC (A + D)
Descrevendo Circuitos Lógicos Algebricamente Encontre as expressões lógicas nos nós intermediários do circuito a seguir:
Descrevendo Circuitos Lógicos Algebricamente Solução:
Utilizando o Logisim para Projetar Circuitos Lógicos Download: http://sourceforge.net/projects/circuit/
Utilizando o Logisim para Projetar Circuitos Lógicos
Utilizando o Logisim para Projetar Circuitos Lógicos Implementar e testar o circuito lógico a seguir utilizando o Logisim Qual operação lógica é equivalente ao circuito?
Circuitos a Partir de Expressões Booleanas Elabore um circuito equivalente a: y = AC + BC + A BC
Circuitos a Partir de Expressões Booleanas Elabore um circuito equivalente a: y = AC + BC + A BC
Circuitos a Partir de Expressões Booleanas Circuito lógico feito no Logisim correspondente à expressão: z = AC + AB + ABC z
Circuitos a Partir de Expressões Booleanas Exercício. Crie circuitos lógicos no Logisim correspondentes às expressões booleanas a seguir. Utilize apenas portas lógicas básicas (OR, AND, NOT): a. ABC + B + D A b. A + B A + D + CB c. A + B + C A + CD + ABC + AB
Referências TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas Digitais: princípios e aplicações. 11.ed. São Paulo: Pearson Prentice Hall, 2011. Leitura recomendada: Cap. 3: págs 49-66 http://dcm.ffclrp.usp.br/~augusto/teaching Prof. Daniel A. Furtado