PCS 3115 Sistemas Digitais I Mapas de Karnaugh Prof. Dr. Marcos A. Simplicio Jr.

Documentos relacionados
PCS 3115 (PCS2215) Sistemas Digitais I. Módulo 07 Síntese de Circuitos Combinatórios. Prof. Dr. Marcos A. Simplicio Jr. versão: 3.

PCS3515 Sistemas Digitais Métodos de Minimização Timing Hazards

PCS3115: Sistemas Digitais I. Síntese de Circuitos Combinatórios Minimização e Karnaugh

PCS 3115 Sistemas Digitais I Análise e Síntese de Circuitos Combinatórios Prof. Dr. Marcos A. Simplicio Jr.

Definição de circuitos melhores: São circuitos menores, mais rápidos, consomem menos energia.

Técnicas Digitais para Computação

Tabela 1 - Minitermos e Maxtermos para uma função de 3 variáveis.

Teoremas de De Morgan

Capítulo 09: Mintermos, Maxtermos e Mapa de Karnaugh

PCS 3115 (PCS2215) Sistemas Digitais I. Módulo 05 Álgebra Booleana. Prof. Dr. Edison Spina. Sobre o material do Prof. Dr. Marcos A. Simplicio Jr.

Formas Canônicas e Mapas de Karnaugh

Mapas de karnaugh. Mapas de Karnaugh para funções de duas variáveis. m 0 m 1. m 2 m 3 X Y. Mapas de Karnaugh para funções de três variáveis

Capítulo 3. Álgebra de Bool

PCS 3115 (PCS2215) Conteúdo

Simplificação e Mapa de Karnaugh. Sistemas digitais

SÍNTESE DE SIST. SEQUENCIAIS SÍNCRONOS. Sel Sistemas Digitais Prof. Homero Schiabel

Apostila de Sistemas Digitais e Computadores MÓDULOS I & II: REVISÃO ÁLGEBRA DE BOOLE.

8 Lógica combinacional com dispositivos programáveis

Sistemas Digitais (SD) Minimização de Funções Booleanas

Sistemas Digitais Minimização de Funções: Mapas de Karnaugh

CAPÍTULO 4 CIRCUITOS COMBINACIONAIS

Sistemas Digitais Minimização de Funções: Mapas de Karnaugh

Lógica combinacional dois-níveis

Circuitos Sequenciais: Circuitos Combinacionais: SISTEMAS DIGITAIS. Módulo 2 Prof. Celso

OBTENÇÃO DE IMPLICANTES PRIMOS PARA FUNÇÕES BOOLEANAS ATRAVÉS DA OPERAÇÃO DE CONSENSO

Sistemas Digitais I LESI :: 2º ano

Circuitos Lógicos Combinacionais (parte 2) CPCX UFMS Slides: Prof. Renato F. dos Santos Adaptação: Prof. Fernando Maia da Mota

SISTEMAS DIGITAIS MINIMIZAÇÃO DE FUNÇÕES BOOLEANAS

Álgebra de Boole e Simplificação de Circuitos Lógicos

LABORATÓRIO I CONCEPÇÃO DE UM CIRCUITO COMPARADOR SIMPLES USANDO LÓGICA COMBINATÓRIA. Nome dos alunos

A B f(a, B) = A + B. A f(a ) = A

Álgebra de Boole. Álgebra de Boole - axiomas

Laboratório 1 (Trabalho sem Relatório) Semana 20 de Setembro a 24 de Setembro

CIRCUITOS DIGITAIS. Circuitos Combinacionais e Técnicas de Simplificação

Arquitetura e Organização de Computadores. Álgebra Booleana

Sistemas Digitais Universidade Católica do Salvador Professor Marco Antônio C. Câmara. Aula 03 Simplificação de Expressões Lógicas.

MAPAS DE KARNAUGH A.B A.B A. B A. B A.B C. D C.D

Capítulo II Álgebra Booleana e Minimização Lógica

ab c x x 1

PROGRAMA DA DISCIPLINA

1. [1 val] Converta para base 2 o número hexadecimal (base 16) B06E. Justifique.

Disciplina: Eletrônica Digital Aluno: Nº: Código: EL52M Turma: Prof: Gustavo B. Borba Código: Data: / /

Sistemas Digitais Módulo 6 Mapas de Karnaugh

6. Análise Lógica Combinacional

Eletrónica Digital. Fundamentos e Projeto. Acxcro MANUEL RAPOSO AMARAL. EDIÇÕES SíLABO

Sistemas Digitais. 6 Funções lógicas

SISTEMAS DIGITAIS (SD)

Mapas de Karnaugh Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Aperfeiçoamento do método Clause-Column Table para a geração eficiente de implicantes primos para minimização de funções booleanas.

F.1 - FORMAS STANDARD PARA FUNÇÕES LÓGICAS

Revisão: família lógica TTL

CAPÍTULO 1 REVISÃO DE LÓGICA COMBINACIONAL

*********************

LABORATÓRIO DE CIRCUITOS DIGITAIS. PREPARAÇÃO 04: Circuitos Combinacionais Decodificadores

Mapa de Karnaugh. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

A) A C + A B D + A B C D B) A B + A B D + A B C D C) A C + A C D + A B C D D) A C + A B D + A B C D

SISTEMAS DIGITAIS. 2- Considere a seguinte tabela de verdades: 1/10 1ª chamada /

Arquitetura de Computadores. Tiago Alves de Oliveira

TABELA DO F/F. T Q n Q n+1

- Eletrônica digital - Capítulo 2 Circuitos Combinacionais

TABELA DO F/F. T Q n Q n+1

Eletrônica Digital 1 Curso Técnico Eletrônica. Fábio Kurt Schneider

(A1) As operações + e são comutativas, ou seja, para todo x e y em A, x + y = y + x e x y = y x

Eletrônica Digital. Lógica Booleana e Circuitos Lógicos FACULDADE FUCAPI

SISTEMAS DIGITAIS (SD)

Sistemas Digitais / Sistemas Digitais I 3 Simplificação de funções

Simplificação de Circuitos

CAROLINE DOMINGUES PORTO DO NASCIMENTO BARBIERI APERFEIÇOAMENTO DO MÉTODO CLAUSE-COLUMN TABLE PARA A GERAÇÃO EFICIENTE DE IMPLICANTES PRIMOS

3. CAPÍTULO LÓGICAS DIGITAIS

Sistemas Digitais (SD) Síntese de Circuitos Sequenciais: Definições

Exame 1 Sistemas Digitais - MEEC 2009/10 1. Aluno Nº

Eletrônica Digital para Instrumentação

SISTEMAS DIGITAIS MEEC de Novembro de 2015, 19:00

UNIVERSIDADE DE AVEIRO DEPARTAMENTO DE ELECTRÓNICA, TELECOMUNICAÇÕES E INFORMÁTICA Teste modelo 2 de Arquitecturas e Sistemas Operativos I

Sistemas Digitais Ficha Prática Nº Uniformização de circuitos com pontas NAND e NOR

PCS Sistemas Digitais I. Códigos para Detecção e Correção de Erros. Prof. Dr. Marcos A. Simplicio Jr. versão: 3.0 (Jan/2016)

SISTEMAS DIGITAIS MEEC de Novembro de 2015, 19:00

Teste 1 Sistemas Digitais - MEEC 2009/10 1

(deve ser apresentados os bit de transporte sempre que aplicável). [1]

Eletrônica Digital II

Escola Politécnica de Pernambuco Departamento de Engenharia Elétrica PROGRAMA EMENTA OBJETIVOS

ELETRÔNICA DIGITAL II

Arquitetura de Computadores. Tiago Alves de Oliveira

4. Desenhe um digrama esquemático para cada uma das funções abaixo. a.

Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013

(a) (b) (c) (d) =? 2. (a) (c) (b) (d) (a) (c) (b) (d) (a) 5BA4 16 (c) 7DC6 16

SISTEMAS DIGITAIS (SD)

EXPESSÕES BOOLEANAS E MAPAS DE KARNAUGH (Kmaps) AULA 05 Arquitetura de Computadores Gil Eduardo de Andrade

Sistemas Digitais Módulo 5 Teoremas Lógicos, Simplificação Algébrica e Projeto de Circuitos Lógicos

Licenciatura em Engenharia Informática e de Computação. Electrónica Digital (2000/2001) CORRECÇÃO

PCS 2304 PROJETO LÓGICO DIGITAL 19/05/2006 Gabarito Preliminar 6 a Lista de Exercícios Contadores

Simplificação de Expressões Booleanas e Circuitos Lógicos

Sistemas Digitais (SD)

NASCIMENTOS DOS FLIP-FLOPS IMPLEMENTAÇÕES DOS TIPOS D, JK, T, RS A PARTIR DE LATCH PRIMITIVOS NAND E NOR

Introdução à Informática. Funções Lógicas. Ageu Pacheco e Alexandre Meslin

a)[1 val] Desenhe o esquema lógico que implementa directamente a função f (i.e., sem simplificar).

Revisão de Circuitos Digitais

Lógica Digital e Álgebra Booleana

Sistemas Digitais. Revisão Portas Lógicas. Isaac Maia

Transcrição:

PCS 3115 Sistemas Digitais I Mapas de Karnaugh Prof. Dr. Marcos A. Simplicio Jr. Adaptado por Glauber De Bona (2018)

2 Objetivos da aula Minimização de circuitos digitais combinatórios. Mapas de Karnaugh: Conceito, construção e utilização de mapas até 4 variáveis. Referência: Wakerly, Seção 4.3.5

3 Síntese e Análise Síntese Diagrama Lógico Expressão Algébrica Tabela Verdade Interpretação Análise

4 Síntese partindo da tabela verdade Encontramos uma expressão Boolena (soma canônica ou produto canônico) e projetamos o diagrama lógico correspondente. Exemplo: Sintetizar um circuito de chaveamento para detectar dígitos (de 0 a 9) ímpares codificados em binário x 1 x 2 x 3 Detector x 4

5 Ex. Detector ímpares Tabela Verdade x4 x3 x2 x1 y Min-termos Max-termos 0 0 0 0 0 x4 + x3 + x2 + x1 0 0 0 1 1 x4 x3 x2 x1 0 0 1 0 0 x4 + x3 + x2 + x1 0 0 1 1 1 x4 x3 x2 x1 0 1 0 0 0 x4 + x3 + x2 + x1 0 1 0 1 1 x4 x3 x2 x1 0 1 1 0 0 x4 + x3 + x2 + x1 0 1 1 1 1 x4 x3 x2 x1 1 0 0 0 0 x4 + x3 + x2 + x1 1 0 0 1 1 x4 x3 x2 x1

6 Ex. Detector ímpares Soma Canônica y = x 4 x 3 x 2 x 1 + x 4 x 3 x 2 x 1 + x 4 x 3 x 2 x 1 + x 4 x 3 x 2 x 1 + x 4 x 3 x 2 x 1 x 1 x 2 x 3 x 4 x 1 x 2 x 3 x 4 x 1 x 2 x 3 x 4 x 1 x 2 x 3 x 4 x 1 x 2 x 3 x 4 y

7 Ex. Detector ímpares Produto Canônico y = (x 4 +x 3 +x 2 +x 1 ) (x 4 +x 3 +x 2 +x 1 ) (x 4 +x 3 +x 2 +x 1 ) (x 4 +x 3 +x 2 +x 1 ) x (x 4 +x 3 +x 2 +x 1 ) 2 y Er... Mas não era mais fácil fazer y = x1...? x 1 x 2 x 3 x 4 x 1 x 2 x 3 x 4 x 1 x 3 x 4 x 1 x 2 x 3 x 4 x 1 x 2 x 3 x 4

8 Minimização de circuitos combinatórios Primeira expressão Booleana encontrada nem sempre corresponde a um circuito mínimo. Soma e produto canônicos usualmente requerem um número exponencial portas, em relação ao número de entradas. Vários critérios possíveis para minimizar: Minimização do número de literais da função de chaveamento. Minimização do número total de portas lógicas. Minimização do número de portas em cascata. Minimização do número de entradas em cada porta.

9 Minimização de circuitos combinatórios Impossível minimizar todos os critérios. Os métodos que veremos projetam circuitos em dois níveis (AND-OR ou OR-AND) minimizando: Número de portas no primeiro nível Número de entradas em cada porta no primeiro nível Número de entradas em cada porta no segundo nível Portas inversoras ocorrem apenas antes do primeiro nível, mas não são minimizadas. Na álgebra Booleana: Minimizamos uma soma de produto (de literais) ou um produto da soma (de literais).

10 Soma e Produto Minimais Soma minimal é uma soma de produtos (SdP) tal que: Não há SdPs com menos produtos SdPs com o mesmo número de produtos não possuem menos literais. Produto minimal é um produto de somas (PdS) tal que: Não há PdSs com menos somas PdSs com o mesmo número de somas não possuem menos literais. Podemos usar os teoremas de combinação X Y+X Y =X (X+Y) (X+Y )=X Focaremos na soma minimal, dada a dualidade

11 Ex.: circuito detector de primos = N 3 N 2 N 1 N 0 + N 3 N 2 N 1 N 0 + N 3 N 2 N 1 N 0 + N 3 N 2 N 1 N 0 +... = N 3 N 2 N 0 + N 3 N 2 N 0 +... = N 3 N 0 +... Vamos discutir um método mais amigável para minimização

12 Mapas de Karnaugh Representação gráfica da Tabela Verdade de função lógica Nota: funciona para 5+ variáveis, mas método fica pouco prático nesse caso (não será discutido aqui) Código de Gray (só 1 bit muda entre células adjacentes)

13 Mapas de Karnaugh Para representar função lógica, células são preenchidas com 0 ou 1: saída para a entrada correspondente àquela célula Nota: números nas células normalmente não são desenhados, mas apenas inferidos pelos bits das entradas (e.g., WXYZ=1101 13)

14 Mapas de Karnaugh: definições Célula: linha da tabela verdade, mintermo, maxtermo. Células adjacentes: Duas células são adjacentes quando diferem apenas no valor de uma variável. Mapa circular : adjacências entre bordas também! Adjacências: grupamentos (retangulares ou quadrados) de 2 n células adjacentes. Também denominados Cubos-n, para n 0 célula

15 Mapa de Karnaugh e Mintermos Grupamentos de 1 s (mintermos): aplicação gráfica do teorema da combinação Cada grupamento refere-se ao conjunto de variáveis que não mudam. Ex.: grupamento(7, 5) = X Y Z + X Y Z = X Z Quanto maior o grupamento, menor o número de variáveis Função lógica equivale a OU lógico entre todos os grupamentos Soma minimal: Mínimo de grupamentos que cobrem todos 1 s, com os grupamentos de maior tamanho. X Y Z 0 1 00 01 11 10 X Z Y Z

16 Mapa de Karnaugh e Mintermos Circuito AND-OR mínimo

17 Outro exemplo X X Y Z 00 01 11 10 0 1 0 2 6 4 1 1 1 1 3 7 5 1 1 Z X X Y Z 00 01 11 10 0 2 6 4 0 1 1 1 1 3 7 5 1 1 1 Z Y Grupamento inválido (não tem 2 n células) Y Grupamentos sub-ótimos

Exemplo: detector de números primos 18

19 Exercício 1 Determinar o menor conjunto de adjacências que cubra (contenha) todos os mintermos, e escrever a soma de produtos correspondente x 1 x 3 x 2 00 01 11 10 0 0 1 1 0 1 1 0 0 1 x 1 x 3 x 2 00 01 11 10 0 0 1 1 1 1 0 1 1 0 x 1 0 x 3 x 2 00 01 11 10 1 0 0 1 1 1 0 0 1

20 Exercício 2 Determinar o menor conjunto de adjacências que cubra (contenha) todos os mintermos, e escrever a soma de produtos correspondente x 2 x 1 x 4 x 3 00 01 11 10 x 2 x 1 x 4 x 3 00 01 11 10 00 1 0 0 1 00 0 0 0 0 01 1 1 0 1 01 1 1 1 1 11 0 1 0 0 11 1 1 0 1 10 1 0 0 1 10 0 0 0 1

21 Mais minimização Implicante primário (IP) em um Mapa de Karnaugh: agrupamento de células com tamanho máximo Ou seja, se tentarmos aumentar sua cobertura (dobrar seu tamanho em alguma direção), ele passa a cobrir um ou mais 0s Toda soma minimal é uma soma de IPs implicantes primários

Mais minimização Mas: a soma de todos os IPs (chamada soma completa) nem sempre leva a um circuito mínimo 5 IPs, mas soma mínima requer apenas 3 deles: X Y + X Z + W X já cobrem todos os 1s Como determinar quais IPs incluir e quais deixar de fora para minimizar circuito? 22

23 Mais minimização 1s isolados (cobertos por apenas um IP) definem os implicantes primários essenciais Estes devem necessariamente ser inclusos na equação mínima

24 Mais minimização Se IPs essenciais já cobrem todos os 1s: nenhum outro IP precisa ser incluso no circuito mínimo Exemplos:

25 Mais minimização Se IPs essenciais não cobrem todos os 1s: Após remoção dos IPs essenciais: incluir menor número de IPs com maior cobertura que cubram todos os 1s restantes Exemplo:

26 Mais minimização Se IPs essenciais não cobrem todos os 1s: Após remoção dos IPs essenciais: incluir menor número de IPs com maior cobertura que cubram todos os 1s restantes Exemplo:

27 Mais minimização Há casos mais complexos: sem IPs essenciais Remoção de IPs arbitrariamente escolhidos como essenciais, até obter cobertura completa (processo de tentativa e erro) Exemplo: Sem IPs essenciais Duas possibilidades

Minimização com don t care Em alguns casos, a saída para certas combinações de entradas não importa (saída = x ): pode ser 0 ou 1 Ex.: combinação de entradas não acontece na prática Minimização: escolher x=0 ou x=1 para reduzir número de IPs e/ou aumente a cobertura dos IPs W W X Y Z 00 01 11 10 W W X Y Z 00 01 11 10 W W X Y Z 00 01 11 10 00 00 00 x Y 01 11 10 1 1 x 1 Z Y 01 11 10 x 1 x x 1 1 Z Y 01 11 10 x x 1 x x 1 x 1 Z X X X F = X Z < X W Z + X Y Z F = W Z F = W Z + WX 28

Exercício Sintetize um circuito para a função F = maioria dentre 3 variáveis X, Y e Z. Minimize o circuito obtido X Y Z F 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 (X Y Z)+(X Y Z)+(X Y Z )+(X Y Z) = X Y (Z+Z )+X Y Z+X Y Z = X Y+X Y Z+X Y Z = X (Y+Y Z)+X Y Z = X (Y+Z) + X Y Z = X Y+X Z + X Y Z = X Y+Z (X + X Y) = X Y+Z (X+Y) = X Y+Z X+Z Y Minimização via manipulação algébrica dos mintermos

Exercício Sintetize um circuito para a função F = maioria dentre 3 variáveis X, Y e Z. Minimize o circuito obtido X Y Z F 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 Z X Y 0 1 Y Z 00 01 11 10 0 0 1 0 0 1 1 1 X Y Minimização via Mapa de Karnaugh X Z

31 Exercício Sintetize um circuito para a função F = maioria dentre 3 variáveis X, Y e Z. Minimize o circuito obtido F = X Y+Z X+Z Y X Y X Y X Z F Z F Z Y Dois diagramas (equivalentes) de portas lógicas

32 Minimização: Método Tabular Também denominado Algoritmo de Quine-McCluskey É um procedimento de extração dos Implicantes Primários (IPs). Método programável: pode-se construir algoritmo iterativo para implementá-lo de forma automatizada!!!

Procedimento Passo 1: Listam-se os mintermos de f, ( Cubos-0 ) com a notação: Ex: m 6 = x 4 x 3 x 2 x 1 = 0110 e m 4 = x 4 x 3 x 2 x 1 = 0100 Ex: m 7 = x 4 x 3 x 2 x 1 = 0111 e m 5 = x 4 x 3 x 2 x 1 = 0101 Agrupam-se os Cubos-0 pelo número de 1 s Identificam-se pares de Cubos-0 compatíveis (apenas1 bit diferente); isto é, t.q. exista um Cubo-1 que os contenha. Define-se uma operação entre Cubos-0 compatíveis para gerar o Cubo-1 que os contém. Os Cubos-1 gerados colocados em outra tabela para o passo 2. Ex: 0110 combinado com 0100 gera 01-0 Ex: 0111 combinado com 0101 gera 01-1 Ex: 0100 combinado com 0101 gera 010- Ex: 0111 combinado com 0110 gera 011-33

Procedimento Passo 2 Os Cubos-1 gerados pelo Passo 1 são agrupados de acordo com o número de 1 s. Combinamos Cubos-1 para gerar Cubos-2: Ex: 01-1 combinado com 01-0 gera 01-- Ex: 011- combinado com 010- gera 01-- Passo n+1 O procedimento é análogo aos anteriores. Continua-se essa forma até que não sejam gerados cubos de ordem superior. Ao Fim Os Cubos que não foram mais combinados são os IPs! 34

35 Exemplo f = (0,2,4,5,7,8,10,12,15) x 4 x 3 x 2 x 1 00 01 11 10 00 (0) (4) (12) (8) 01 11 10 (1) (5) (13) (9) (3) (7) (15) (11) (2) (6) (14) (10) x 4 x 3 x 2 x 1 00 01 11 10 00 1 1 1 1 01 11 10 1 1 1 1 1

36 Exemplo: Passo 1 x 4 x 3 x 2 x 1 (0) 0 0 0 0 (2) 0 0 1 0 (4) 0 1 0 0 (8) 1 0 0 0 (5) 0 1 0 1 (10) 1 0 1 0 (12) 1 1 0 0 (7) 0 1 1 1 (15) 1 1 1 1

Exemplo: Passos 2 e 3 x 4 x 3 x 2 x 1 (0) 0 0 0 0 (2) 0 0 1 0 (4) 0 1 0 0 (8) 1 0 0 0 (5) 0 1 0 1 (10) 1 0 1 0 (12) 1 1 0 0 (7) 0 1 1 1 (15) 1 1 1 1 Passo 2 (um só bit de diferença) Passo 3 X 4 x 3 x 2 x 1 (0,2) 0 0 0 (0,4) 0 0 0 (0,8) 0 0 0 (2,10) 0 1 0 (4,5) 0 1 0 (4,12) 1 0 0 (8,10) 1 0 0 (8,12) 1 0 0 (5,7) 0 1 1 (7,15) 1 1 1 (0,2,8,10) 0 0 (0,4,8,12) 0 0 37

Exemplo: Marcando IPs x 4 x 3 x 2 x 1 (0) 0 0 0 0 (2) 0 0 1 0 (4) 0 1 0 0 (8) 1 0 0 0 (5) 0 1 0 1 (10) 1 0 1 0 (12) 1 1 0 0 (7) 0 1 1 1 (15) 1 1 1 1 IPs do passo 2 IPs do passo 3 X 4 x 3 x 2 x 1 (0,2) 0 0 0 (0,4) 0 0 0 (0,8) 0 0 0 (2,10) 0 1 0 (4,5) 0 1 0 (4,12) 1 0 0 (8,10) 1 0 0 (8,12) 1 0 0 (5,7) 0 1 1 (7,15) 1 1 1 (0,2,8,10) 0 0 (0,4,8,12) 0 0 38

39 Exemplo: Escolhendo os IPs 0 2 4 5 7 8 10 12 15 (4,5) X X (5,7) X X (7,15) X X (0,2,8,10) X X X X (0,4,8,12) X X X X Escolhemos IPs que cobrem todos mintermos (7,15) = -111 = x 3 x 2 x 1 : IP essencial devido a 15 (0,2,8,10) = -0-0 = x 3 x 1 : IP essencial devido a 2 e 10 (0,4,8,12) = --00 = x 2 x 1 : IP essencial devido a 12 Por fim, escolhemos (4,5) ou (5,7) para cobrir o 5.

Métodos de minimização programáveis Algoritmos clássicos: Quine-McCluskey Iterative consensus Melhorias computacionais: baseado nos algoritmos clássicos, utilizam boas estruturas de dados e/ou alteram ordem dos passos. Métodos Heurísticos: saída não exata Espresso-II Minimização com múltiplas saídas: Espresso MV: observa minimização de múltiplas saídas usando lógica multivalorada (não-binária). Ref: DDPPonline section PCS2215 Pmin - 2014/2 40

41 Timing Hazards Também denominados perigos/dificuldades de tempo. Métodos apresentados/estudados até agora consideram sinais de entrada estáveis. Mas existem atrasos de propagação dos sinais: lembrar das aulas de eletrônica digital e circuitos CMOS! Esses atrasos podem provocar saídas espúrias de curta duração (glitches). Static-n hazards : mudando apenas um bit na entrada, espera-se uma saída n constante, mas podem ocorrer momentos em que a saída assume o valor n

42 Static-1 Hazard 1 1 0 1 Transição em Z: efeito em YZ mais rápido que em XZP Saída espúria

43 Static-0 Hazard fixas transição Saída espúria

44 De onde vêm os hazards? Vamos analisar apenas circuitos na forma de soma de produtos com dois níveis Têm sido o foco da atenção até agora Técnicas usadas para eles são aplicáveis também a produtos de somas com dois níveis (princípio da dualidade) Raiz do problema: Z e Z em portas AND distintas 1 1 0 AND Z 1 AND Z Transição em Z: efeito em YZ mais rápido que em XZP

45 De onde vêm os hazards? Hazards: aparecem quando uma porta AND depende de Z e outra depende de Z AND Z é atrasado com relação a AND Z se AND Z for para 0 antes que AND Z vá para 1, pode haver um static-1 hazard Saída espúria 0 porque ambos AND Z e AND Z ficam em 0 temporariamente Sem problema se AND Z for para 1 antes de AND Z ir para 0 AND Z AND Z hazard

46 Como encontrar hazards usando mapas? Observar no mapa os IPs incluídos no circuito. Hazards existem se células vizinhas contendo 1 s não estão cobertas por um mesmo IP.

Como resolver hazards usando mapas? Incluir IPs extras que cubram os vizinhos problemáticos AND YZ AND XZ AND XY hazard eliminado 47

48 Como resolver hazards usando mapas? Incluir IPs extras que cubram os vizinhos problemáticos Circuito com hazard eliminado:

49 Outro exemplo de static-1 hazard Incluir IPs extras que cubram os IPs problemáticos (a) Projeto original; (b) Projeto com produtos extras para eliminar static-1 hazards

50 Dynamic Hazards É a possibilidade de alterações na saída mais de uma vez como resultado de uma única transição de entrada. Podem ocorrer devido a caminhos com atrasos diferentes a partir da entrada em que houve mudança.

51 Projeto de circuitos livre de hazards Circuitos de dois níveis AND-OR bem projetados não estão sujeitos a hazards static-0 ou dinâmicos. Static-1 hazards podem ser eliminados através do método indicado. Métodos gerais indicados nas referências extras no livro-texto. Críticos para circuitos assíncronos.

52 Exercício (P2-2016) Você precisa fazer engenharia reversa de um circuito digital, para propor melhorias ao mesmo. Analisando a documentação, você encontra o seguinte diagrama de portas lógicas: a) Qual a expressão de álgebra de chaveamento que descreve a saída Z em função das entradas A, B, C e D? b) Utilize um Mapa de Karnaugh para minimizar o circuito em questão. Descreva a expressão de álgebra de chaveamento mínima resultante (na forma de soma de produtos) e indique quais são os implicantes primários essenciais (IPEs) na mesma.

Exercício (P2-2016) Você precisa fazer engenharia reversa de um circuito digital, para propor melhorias ao mesmo. Analisando a documentação, você encontra o seguinte diagrama de portas lógicas: c) Desenhe o circuito correspondente à expressão mínima obtida no item (b), na forma de soma de produtos. d) Analisando melhor o problema que o circuito deve resolver, você percebe que, na prática, a saída do circuito não importa quando a combinação de entradas é A = 1, B = 0 e C=1. Portanto, você pode reprojetar o circuito para que todas as saídas correspondentes a essa combinação de entradas sejam do tipo don t care. Isso possibilita alguma otimização extra? Justifique, apresentando o mapa de Karnaugh e a expressão mínima correspondente a esse cenário. 53

54 Exercício (P2-2016) Você precisa fazer engenharia reversa de um circuito digital, para propor melhorias ao mesmo. Analisando a documentação, você encontra o seguinte diagrama de portas lógicas: a) Qual a expressão de álgebra de chaveamento que descreve a saída Z em função das entradas A, B, C e D? RESPOSTA

Exercício (P2-2016) Você precisa fazer engenharia reversa de um circuito digital, para propor melhorias ao mesmo. Analisando a documentação, você encontra o seguinte diagrama de portas lógicas: A B C D 00 01 11 10 00 0 0 0 1 A D 01 1 1 1 1 11 1 1 1 0 10 1 1 1 0 IPE Exp. mínima A B C C D B D Z = A C + A B C + B C + C D A C B C b) Utilize um Mapa de Karnaugh para minimizar o circuito em questão. Descreva a expressão de álgebra de chaveamento mínima resultante (na forma de soma de produtos) e indique quais são os implicantes primários essenciais (IPEs) na mesma. RESPOSTA 55

Exercício (P2-2016) Você precisa fazer engenharia reversa de um circuito digital, para propor melhorias ao mesmo. Analisando a documentação, você encontra o seguinte diagrama de portas lógicas: c) Desenhe o circuito correspondente à expressão mínima obtida no item (b), na forma de soma de produtos. RESPOSTA 56

Exercício (P2-2016) Você precisa fazer engenharia reversa de um circuito digital, para propor melhorias ao mesmo. Analisando a documentação, você encontra o seguinte diagrama de portas lógicas: A B C D 00 01 11 10 00 0 0 0 1 D 01 1 1 1 1 11 1 1 1 * 10 1 1 1 * IPE Exp. mínima A B Z = A B + C + D C d) Analisando melhor o problema que o circuito deve resolver, você percebe que, na prática, a saída do circuito não importa quando a combinação de entradas é A = 1, B = 0 e C=1. Portanto, você pode reprojetar o circuito para que todas as saídas correspondentes a essa combinação de entradas sejam do tipo don t care. Isso possibilita alguma otimização extra? Justifique, apresentando o mapa de Karnaugh e a expressão mínima correspondente a esse cenário. RESPOSTA 57