Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Circuitos Lógicos L Combinacionais (Parte I) Prof a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br Carga Horária: 60 horas
Tópicos Circuitos Lógicos Combinacionais Conceitos Básicos Simplificação Etapas do Projeto de um Circuito Lógico Combinacional Especificação Formulação Otimização Simplificação Mapeamento Verificação 2
Conceitos Básicos O projeto de elementos digitais está relacionado com a conversão de idéias ias em hardware real, e os elementos encontrados na álgebra booleana permitem que uma idéia, uma afirmação, possa ser expressa matematicamente. A álgebra booleana permite também que a expressão resultante da formulação matemática da idéia possa ser simplificada e, finalmente, convertida no mundo real do hardware de portas lógicas l e outros elementos digitais. 3
Conceitos Básicos Portas Lógicas Quadro Resumo 4
Conceitos Básicos Portas Lógicas Quadro Resumo 5
Conceitos Básicos Portas Lógicas Quadro Resumo Portas lógicas XOR e XNOR são na verdade circuitos obtidos de portas lógicas básicas. S = A B = A B + A B S = A B = A B + A B 6
Conceitos Básicos Atraso de portas lógicas Entrada Saída 1 0 1 0 t G t G t G = 0.3 ns 0 0.5 1 1.5 Tempo (ns) t G - gate delay 7
Circuitos Combinacionais A saída é função dos valores de entrada correntes; Esses circuitos não têm capacidade de armazenamento. 8
Circuitos Combinacionais Projeto SITUAÇÃO TABELA- VERDADE EXPRESSÃO CIRCUITO Seqüência de operações: Determinar todas as variáveis de entrada; Determinar todas as variáveis de saída; A partir da combinação das variáveis de entrada, montar a tabela-verdade para cada saída; Obter, a partir da tabela-verdade, a expressão booleana de cada saída; Implementar, a partir da expressão booleana, o circuito combinacional correspondente. 9
Circuitos Combinacionais Obtenção da expressão lógica a partir da tabela-verdade Função AND produto SOMA DE PRODUTOS : PRODUTO DE SOMAS : Função OR SOMA A.B + A. C + B. C (A + B). (B + C).( A + C) Soma de produtos - OR dos minitermos que levam a saída para 1 (método mais utilizado). Produto de somas - AND dos maxitermos que levam a saída para O. Soma de Produtos - Standard Sum-of-Products (SOP). Produto de Somas - Standard Product-of-Sums (POS). 10
Circuitos Combinacionais Simplificação de Circuitos Combinacionais Uso da Álgebra de Boole (forma direta) Uso de Mapas de Karnaugh 11
Circuitos Combinacionais Regras Básicas da Álgebra de Boole Postulados Complementação Se A = 0 então A = 1 Se A = 1 então A = 0 Identidade A = A Adição Multiplicação 0 + 0 = 0 0. 0 = 0 0 + 1 = 1 0. 1 = 0 1 + 0 = 1 1. 0 = 0 1 + 1 = 1 1. 1 = 1 Identidade Identidade A + 0 = A A. 0 = 0 A + 1 = 1 A. 1 = A A + A = A A. A = A A + A = 1 A. A = 0 12
Regras Básicas da Álgebra de Boole Propriedades Comutativa A. B = B. A A + B = B + A Associativa A. (B. C) = (A. B). C A + (B + C) = (A + B) + C Distributiva A. (B + C) = A. B + A. C A + (B. C) = (A + B). (A + C) Teoremas Teoremas de De Morgan A + B = A. B A. B = A + B Teoremas da Absorção A + A. B = A A + A.B = A + B 13
Simplificação Álgebra de Bole Os teoremas, propriedade e identidades da álgebra boleana podem ser aplicados para simplificar funções lógicas e, com isso, reduzir o número necessário de operações. Simplificando: w = x.y + y.x.z w = x ( x + y) w = x (x + y) + z + z.y tem-se w = xy + z tem-se w = xy tem-se w = y + z 14
Simplificação Álgebra de Bole Exercício 1: Simplifique a expressão a seguir: W = (W + Y + X)(W + Y + X)(Y + Z)(W + Z) W = V + VX + YZ 15
Simplificação Álgebra de Bole Exercício 2: Um aluno de mestrado geralmente pode realizar a defesa de sua dissertação quando: já cursou todos os créditos requeridos; ou já convalidou todos os créditos requeridos; ou os créditos cursados ou convalidados totalizam os requeridos e já foi aprovado no exame de proficiência de idiomas; e já foi aprovado no exame de qualificação do projeto de dissertação. Represente a função lógica equivalente, simplificando-a. 16
Simplificação Mapa de Karnaugh Mapas de Karnaugh para Duas Variáveis A B Minitermos 0 0 m A B 0 = 0 1 m 1 = A B 1 0 m 2 = A B 1 1 m 3 = A B 17
Simplificação Mapa de Karnaugh Mapas de Karnaugh para Três Variáveis A B C Minitermos 0 0 0 m A B C 0 = 0 0 1 m 1 = A B C 0 1 0 m 2 = A B C 0 1 1 m 3 = A B C 1 0 0 m 4 = A B C 1 0 1 m 5 = A B C 1 1 0 m 6 = A B C 1 1 1 m 7 = A B C 18
Simplificação Mapa de Karnaugh Mapas de Karnaugh para Quatro Variáveis A B C D Minitermos 0 0 0 0 m A B C D 0 = 0 0 0 1 m 1 = A B C D 0 0 1 0 m 2 = A B C D 0 0 1 1 m 3 = A B C D 0 1 0 0 m 4 = A B C D 0 1 0 1 m 5 = A B C D 0 1 1 0 m 6 = A BC D 0 1 1 1 m 7 = A BC D 1 0 0 0 m 8 = A B C D 1 0 0 1 m 9 = A B C D 1 0 1 0 m 10 = A B C D 1 0 1 1 m 11 = A B C D 1 1 0 0 m 12 = A B C D 1 1 0 1 m 13 = A B C D 1 1 1 0 m 14 = A B C D 1 1 1 1 m 15 = A B C D 19
Simplificação Mapa de Karnaugh Podem ser construídos Mapas de Karnaugh para 5 ou mais variáveis > maior nível de complexidade na construção. 20
Simplificação Mapa de Karnaugh Exemplo: y 1 1 1 x 1 1 z 21
Simplificação Mapa de Karnaugh Exemplo: 0 1 3 2 x 4 5 7 6 z 22
Simplificação Mapa de Karnaugh Exemplo: 0 1 3 2 x 4 5 7 6 23
Simplificação Mapa de Karnaugh Exemplo: Y 0 1 3 2 W 5 6 4 7 12 13 15 14 8 9 11 10 X Z 24
Simplificação Mapa de Karnaugh Exemplo: Y W 0 1 3 2 5 6 4 7 12 13 15 14 8 9 11 10 X Z 25
Simplificação Mapa de Karnaugh Exemplo: w 0 0 0 0 0 0 1 3 2 1 4 5 7 6 12 13 15 14 1 8 9 11 10 z 1 X X X 1 X y 1 X X x Outras formas de obtenção: Ferramenta para manipulação de Mapas de Karnaugh (4 variáveis) Ferramenta para manipulação de Mapas de Karnaugh (applet Java) (6 variáveis) 26
Simplificação Mapa de Karnaugh Dada a tabela-verdade a seguir, obtenha a expressão simplificada utilizando o Mapa de Karnaugh. A B C S 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 27
Simplificação Mapa de Karnaugh Dada a tabelaverdade a seguir, obtenha a expressão simplificada utilizando o Mapa de Karnaugh. A B C D S 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 28
Projeto de Circuitos Combinacionais Etapas de Projeto Especificação Formulação Descrição em função de variáveis de entradas e saídas Descrição do problema utilizando, por exemplo, uma tabelaverdade. Otimização Simplificação utilizando Álbebra de Boole (e/ou Mapas de Karnaugh) Mapeamento Verificação Mapear o esquemático lógico ou netlist para a técnica de implementação selecionada. Verificar a corretude do projeto final manualmente ou utilizando simulação. 29