Representação de Circuitos Lógicos • • Formas de representação de um circuito lógico: • Representação gráfica de uma rede de portas lógicas • Expressão booleana • Tabela verdade 3 representações são equivalentes: • Dado um circuito representado de uma forma, obtemos as outras representações do circuito 1 Representação de Circuito Lógico com Expressão Booleana • Expressão booleana de um circuito: • Representa o valor do sinal lógico de saída do circuito em função do valor dos sinais lógicos de entrada • Operações lógicas: • NOT: complemento • AND (•): multiplicação booleana (operador pode ser omitido) • OR (+): adição booleana • Precedência das operações lógicas: NOT, AND, OR • Exemplos: X =A+B+C +D Y =A•B•C •D Z = A • (B + C • D) W = A • (B + C • D) K =A+B+C •D T =AB C +AB C +AC 2 Representação Gráfica de Circuito Lógico • Rede de portas lógicas interligadas • Convenções: • • Em geral, sinais de entrada do lado esquerdo • Em geral, sinais de saída do lado direito • Em geral, sinais fluem da esquerda para direita • Conexão entre fios: simbolizada por • Exemplo: 3 Representação de Circuito Lógico com Tabela Verdade • Tabela Verdade de um circuito lógico: • Representa o valor do sinal lógico de saída do circuito para todos os possíveis valores dos sinais lógicos de entrada • Dado um circuito com n entradas, tabela verdade possui: • • • Uma coluna para: • Cada sinal de entrada do circuito • Sinal de saída do circuito 2n linhas Convenção: • Valores das entradas em ordem crescente na sequência binária • Exemplo: Entradas Saída A B C A+B•C 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 4 Expressão Booleana a partir de Circuito Lógico • Dado um circuito lógico, obter expressão booleana: • • Da esquerda da direita, escreve expressão booleana de cada porta lógica Exemplo: X = A • (B + C • D) 5 Exemplo: Expressão Booleana a partir de Circuito Lógico 6 Exemplo: Expressão Booleana a partir de Circuito Lógico 7 Circuito Lógico a partir de Expressão Booleana • • Dado uma expressão booleana, obter circuito lógico: • Listar todos os sinais de entrada do lado esquerdo • Colocar portas lógicas de acordo com precedência das operações Exemplo: X = A • B + B • C • D + A • C 8 Exemplo: Circuito Lógico a partir de Expressão Booleana • X = A • (B + C • D) 9 Exemplo: Circuito Lógico a partir de Expressão Booleana • Y =A•B+C •D 10 Exemplo: Circuito Lógico a partir de Expressão Booleana • Z =AB C D+AB C +B C D 11 Exemplo: Circuito Lógico a partir de Expressão Booleana • Z =AB C D+AB C +B C D 12 Tabela Verdade a partir de Expressão Booleana • • Dado uma expressão booleana, obter tabela verdade: • Montar tabela verdade • Criar colunas para avaliar sub-expressões • Avaliar expressão completa Exemplo: X = A • (B + C) Entradas Auxiliares Saída A B C A B+C A • (B + C) 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 0 13 Exemplo: Tabela Verdade a partir de Expressão Booleana Entradas Auxiliares A B C D 0 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 0 0 0 1 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 Saída X = A • (B + C • D) 14 Equivalência de Circuitos • 2 circuitos equivalentes: • • Produzem o mesmo valor de saída para os mesmos valores de entrada Determinar se 2 circuitos são equivalentes: • • Usando a tabela verdade: • Construir tabela verdade para os 2 circuitos • Comparar valores das saídas Usando propriedades da Álgebra Booleana: • A partir da expressão booleana de um circuito, aplicar propriedades transformando expressão, até chegar na expressão booleana do outro circuito 15 Exemplo: Equivalência de Circuitos • Equivalentes ? X = A XOR B Entradas e Y =A•B+A•B Saída Saída Y =A•B+A•B A B X =A⊕B 0 0 0 0 1 1 1 0 1 1 1 0 16 Exemplo: Equivalência de Circuitos • Equivalentes ? Entradas A B C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Auxiliares Saída Saída A•B + A•(B +C) + B •(B +C) B + A•C 17 Propriedades da Álgebra Booleana • Propriedade comutativa • Propriedade associativa • Propriedade distributiva • Identidades • Teorema de De Morgan 18 Propriedade Comutativa • Para OR: • Para AND: A+B = B+A A•B = B•A 19 Propriedade Associativa • Para OR: • Para AND: A + (B + C) = (A + B) + C = A + B + C A • (B • C) = (A • B) • C = A • B • C 20 Propriedade Distributiva • Para AND: • Para OR: A • (B + C) = A • B + A • C A + (B • C) = (A + B) • (A + C) A 0 0 0 0 1 1 1 1 Entradas B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 Saída A + (B • C) 0 0 0 1 1 1 1 1 Saída (A + B) • (A + C) 0 0 0 1 1 1 1 1 21 Lei do Elemento Neutro • Para OR: • Para AND: A+0 = A A•1 = A 22 Lei do Elemento Dominante • Para OR: • Para AND: A+1 = 1 A•0 = 0 23 Lei da Idempotência • Para OR: • Para AND: A+A = A A•A = A 24 Lei do Complemento A+A = 1 • Para OR: • Para AND: A•A = 0 • Para NOT: A = A 25 Lei da Absorção • Para OR: A+A•B = A Entradas A B 0 0 0 1 1 0 1 1 • Para AND: Saída A+A•B 0 0 1 1 A • (A + B) = A Entradas A B 0 0 0 1 1 0 1 1 Saída A • (A + B) 0 0 1 1 26 Lei da Absorção • Para OR: A+A•B = A A+A•B = Elemento Neutro A•1+A•B = Distributiva A • (1 + B) = Elemento Dominante A•1= Elemento Neutro A • Para AND: A • (A + B) = A A • (A + B) = A•A+A•B = A+A•B = A•1+A•B = A • (1 + B) = A•1= A Distributiva Idempotência Elemento Neutro Distributiva Elemento Dominante Elemento Neutro 27 Lei da Identidade Auxiliar • Para OR: A+A•B = A+B Entradas A B 0 0 0 1 1 0 1 1 • Para AND: Saída A+A•B 0 1 1 1 Saída A+B 0 1 1 1 A • (A + B) = A • B Entradas A B 0 0 0 1 1 0 1 1 Saída A • (A + B) 0 0 0 1 Saída A•B 0 0 0 1 28 Lei da Identidade Auxiliar • Para OR: A+A•B = A+B A+A•B = Absorção A+A•B+A•B = Distributiva A + B • (A + A) = Complemento A+B•1= Elemento Neutro A+B • Para AND: A • (A + B) = A • B A • (A + B) = Distributiva A•A+A•B = Complemento 0+A•B = Elemento Neutro A•B 29 Lei de De Morgan • Para OR: A+B = A•B Entradas A B 0 0 0 1 1 0 1 1 • Para AND: Saída A+B 1 0 0 0 Saída A•B 1 0 0 0 Saída A•B 1 1 1 0 Saída A+B 1 1 1 0 A•B = A+B Entradas A B 0 0 0 1 1 0 1 1 30 Lei de De Morgan • Para OR: A+B = A•B A+B+C = A•B•C • Para AND: A•B = A+B A•B•C = A+B+C 31 Simplificação de Circuitos Lógicos • • Métodos de simplificação de circuitos: • Aplicação das leis da Álgebra Booleana • Mapa de Karnaugh Simplificação do circuito lógico: • Obter circuito lógico equivalente ao original, com menos portas lógicas ou portas lógicas mais simples • Minimização do circuito lógico: • Obter circuito lógico equivalente ao original, com o menor número de portas lógicas possível 32 Simplificação de Circuito usando Leis da Álgebra Booleana • Exemplo: AB + A(B + C) + B(B + C) = Distributiva AB + AB + AC + BB + BC = Idempotência AB + AC + BB + BC = Idempotência AB + AC + B + BC = Absorção AB + AC + B = Comutatividade AB + B + AC = Absorção B + AC 33 Simplificação de Circuito usando Leis da Álgebra Booleana • Exemplo: A•B+A•C +A•B•C = De Morgan (A • B) • (A • C) + A • B • C = De Morgan (A + B) • (A • C) + A • B • C = De Morgan (A + B) • (A + C) + A • B • C = Distributiva A•A+A•B+A•C +B•C +A•B•C = Idempotência A+A•B+A•C +B•C +A•B•C = Absorção A+A•C +B•C +A•B•C = Absorção A+B•C +A•B•C = Absorção A+B•C 34 Formas Padronizadas de Expressões Booleanas • Toda expressão booleana pode ser convertida para formas padronizadas • Objetivo: • • Facilitar a simplificação do circuito Formas padronizadas: • Soma de Produtos • Soma de Mintermos • Produto de Somas • Produto de Maxtermos • ... 35 Soma de Produtos (SOP) • • Soma de Produtos (Sum-Of-Products): • Expressão booleana é soma (OR) de parcelas • Cada parcela é produto (AND) de sinais de entrada ou seus complementos Exemplos: • • Expressões na forma SOP: • A•B + A•B•C • A•B + A•B•C + A•C • A•B•C • A + A•B•C + B•C •D Expressões não estão na forma SOP: • A • (B + C • D) • (A + B) • (A + C) • A•B•C + A•B 36 Produtos de Somas (POS) • • Produtos de Somas (Product-Of-Sums): • Expressão booleana é produto (AND) de fatores • Cada fator é soma (OR) de sinais de entrada ou seus complementos Exemplos: • • Expressões na forma POS: • (A + B) • (A + B + C) • (A + B + C) • (C + D + E) • (B + C + D) • A • (A + B + C) • A+B+C Expressões não estão na forma POS: • A•B + A•B•C • (A + B + C) • (A + B) 37 Circuito Lógico de uma Soma de Produtos • Circuito lógico obtido a partir de expressão booleana na forma SOP: • Portas NOT para os sinais de entrada • Uma porta AND para cada parcela: • • • • Entradas: sinais de entrada ou seus complementos • Saída: produto Uma porta OR: • Entradas: produtos • Saída: resultado da expressão booleana 2 níveis de lógica Exemplo: 38 Circuito Lógico de um Produto de Somas • Circuito lógico obtido a partir de expressão booleana na forma POS: • Portas NOT para os sinais de entrada • Uma porta OR para cada fator: • • • • Entradas: sinais de entrada ou seus complementos • Saída: soma Uma porta AND: • Entradas: somas • Saída: resultado da expressão booleana 2 níveis de lógica Exemplo: 39 Mintermos e Maxtermos • Dada uma função boolena com n sinais de entrada • Mintermo: • • Corresponde a uma linha da tabela verdade • Produto (AND) dos n sinais de entrada: • Se sinal é 1, sinal de entrada é usado diretamente • Se sinal é 0, sinal de entrada é complementado Maxtermo: • Corresponde a uma linha da tabela verdade • Soma (OR) dos n sinais de entrada: • Se sinal é 0, sinal de entrada é usado diretamente • Se sinal é 1, sinal de entrada é complementado 40 Exemplo: Mintermos e Maxtermos Entradas Saída Termos A B C X Mintermos Maxtermos 0 0 0 1 m0 = A • B • C M0 = A + B + C 0 0 1 0 m1 = A • B • C M1 = A + B + C 0 1 0 1 m2 = A • B • C M2 = A + B + C 0 1 1 1 m3 = A • B • C M3 = A + B + C 1 0 0 0 m4 = A • B • C M4 = A + B + C 1 0 1 0 m5 = A • B • C M5 = A + B + C 1 1 0 1 m6 = A • B • C M6 = A + B + C 1 1 1 1 m7 = A • B • C M7 = A + B + C 41 Soma de Mintermos a partir da Tabela Verdade • Dada a tabela verdade, obter expressão booleana na forma SOP: • Expressão booleana: • Soma (OR) de mintermos das linhas da tabela verdade em que saída é 1 • Exemplo: Entradas Saída A B X 0 0 0 0 1 1 ⇒ m1 = A • B 1 0 1 ⇒ m2 = A • B 1 1 0 X = m1 + m2 = A • B + A • B 42 Produto de Maxtermos a partir da Tabela Verdade • Dada a tabela verdade, obter expressão booleana na forma POS: • Expressão booleana: • Produto (AND) de maxtermos das linhas da tabela verdade em que saída é 0 • Exemplo: Entradas Saída A B X 0 0 0 0 1 1 1 0 1 1 1 0 ⇒ M0 = A + B ⇒ M3 = A + B X = M0 • M3 = (A + B) • (A + B) 43 Exemplo: Soma de Mintermos e Produto de Maxtermos Entradas Saída A B C X 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 Mintermo Maxtermo M0 M1 M2 m3 m4 M5 m6 m7 X = m3 + m4 + m6 + m7 = A•B•C + A•B•C + A•B•C + A•B•C X = M0 • M1 • M2 • M5 = (A + B + C) • (A + B + C) • (A + B + C) • (A + B + C) 44 Exemplo: SOP e POS a partir da Tabela Verdade Entradas Saída A B C Y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 45 Equivalência de Circuitos: SOP e POS Entradas Saída A B X 0 0 0 0 1 1 1 0 1 1 1 0 SOP: X = A•B + A•B POS: X = (A + B) • (A + B) ? ≡ (A + B) • (A + B) A•B + A•B Entradas Auxiliares Saída Auxiliares Saída A B A•B A•B A•B + A•B A+B A+B (A + B) • (A + B) 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 46 Equivalência de Circuitos: SOP e POS • SOP: X = A•B + A•B • POS: X = (A + B) • (A + B) A•B + A•B ? ≡ (A + B) • (A + B) (A + B) • (A + B) = Distributiva A•A + A•B + B•A + B•B = Complemento 0 + A•B + B•A + 0 = Elemento Neutro A•B + B•A = Comutatividade A•B + A•B 47