aula07_CircuitosCombinacionais

27
UFBA / IM / DCC MATA38 – Projeto de Circuitos Lógicos Aula 07 Circuitos lógicos combinacionais Prof. Marcos E. Barreto

Transcript of aula07_CircuitosCombinacionais

  • UFBA / IM / DCC

    MATA38 Projeto de Circuitos Lgicos

    Aula 07Circuitos lgicos combinacionais

    Prof. Marcos E. Barreto

  • Contextualizao Num circuito combinacional, o valor da sada depende

    exclusivamente da combinao dos valores de entrada, no existindo memria interna.

    So projetados atravs de tcnicas simples, que empregam simplificao para tentar dimunuir o nmero de componentes (tamanho do circuito).

    Circuito original

    Circuito simplificado

  • Simplificao de circuitos

    Duas tcnicas Teoremas da lgebra booleana Mapeamento (mapas de Veicht-Karnaugh)

    Ambas as tcnicas requerem que as expresses estejam na forma de soma de produtos

    Dois ou mais termos AND (produtos) conectados por uma operao OR.

    Cada termo AND possui uma ou mais variveis individuais que aparecem em sua forma complementada ou no.

    Exemplos:

  • Simplificao de circuitos

    Forma de produto de somas Dois ou mais termos OR (somas) conectados por uma

    operao AND. Cada termo OR possui uma ou mais variveis individuais

    que aparecem em sua forma complementada ou no. Exemplos:

    (A + B + C).(A + C)

    (A + B).(C + D).F

  • Simplificao de circuitos

    Mtodo de simplificao algbrica Requer experincia do usurio, uma vez que nem

    sempre fcil determinar qual teorema usar para simplificar uma expresso ou determinar se a expresso ainda pode sofrer nova simplificao.

    Baseado em tentativa e erro. Em geral, deve-se adotar os seguintes passos:

    A expresso original colocada na forma de soma de produtos aplicando-se repetidamente os teoremas de De Morgan e a multiplicao de termos.

    Verifica-se se os termos produto tm fatores comuns, realizando a fatorao sempre que possvel. A fatorao pode resultar na eliminao de termos.

  • Simplificao de circuitos

    Exemplo 1: simplificao algbrica

    Soluo:1) obter a expresso algbrica do circuito2) eliminar a inverso aplicando os teoremas de De Morgan e multiplicar os termos

  • Simplificao de circuitos

    Exemplo 1: simplificao algbricaSoluo (cont.):3) fatorar os termos com variveis em comum

    Fatorando A

  • Simplificao de circuitos

    Exemplo 2: simplificao algbricaSimplificar a expresso

    Soluo:1) Como a expresso j est na forma de soma de produtos, pode-se fatorar nos dois primeiros termos.

    2) Pode-se fatorar A nos dois termos

    3) Aplicando o teorema (15)

  • Simplificao de circuitos Exemplo 3: simplificao algbrica

    Soluo:1) obter a expresso algbrica do circuito2) multiplicar os termos para obter a soma de produtos

    Nesse caso, tem-se circuitos equivalentes (mesmo nmero de portas) => sem simplificao

  • Projeto de circuitos lgicos A tabela-verdade pode ser usada para apresentar

    os resultados de sada de um circuito, considerando as combinaes de entrada.

    A partir da tabela-verdade, pode-se derivar a expresso booleana para o circuito desejado.

    Exemplo 1: tabela-verdade com duas entradas e que gera sada 1 somente quando A = 0 e B = 1

  • Projeto de circuitos lgicos Exemplo 2: tabela-verdade com duas entradas e que gera sada 1 quando A = 0 e B = 1 ou

    quando A = 1 e B = 0. Como a sada pode ser 1 para um OU outra

    condio, implementa-se uma operao OR com as sadas de cada um dos termos que geram o nvel ALTO.

  • Projeto de circuitos lgicos Exemplo 3: tabela-verdade com trs entradas e

    trs casos nos quais a sada 1.

    A B C X

    0 0 0 0

    0 0 1 0

    0 1 0 1

    0 1 1 1

    1 0 0 0

    1 0 1 0

    1 1 0 0

    1 1 1 1

    Soluo:1) usar um termo AND para cada sada = 12) observar que cada entrada em 0 deve aparecernegada no termo AND3) usar uma operao OR para montar a soma deprodutos dos termos AND

  • Projeto de circuitos lgicos Exemplo 4: tabela-verdade com trs entradas na

    qual a sada ser 1 (nvel ALTO) quando a maioria das entradas for 1.

    A B C X

    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

    Soluo: ???

  • Simplificao de circuitos Mtodo de mapeamento (mapa de Karnaugh)

    Mtodo grfico usado para simplificar uma expresso lgica ou para converter uma tabela-verdade em seu circuito lgico correspondente.

    Mostra a relao entre as entradas lgicas e a sada desejada (como um tabela-verdade).

    Em geral, um mtodo mais automtico (mecnico) do que a simplificao algbrica.

    Pode ser usado com qualquer nmero de variveis de entrada, embora o mais comum sejam mapas de at 6 variveis. Acima disso, o mapeamento se torna mais complicado.

  • Exemplos de mapas de Karnaugh para 2, 3 e 4 variveis de entrada

  • Simplificao de circuitos Mtodo de mapeamento (mapa de Karnaugh)

    Cada linha da tabela-verdade representa um quadrado no mapa de Karnaugh.

    O valor atribudo ao quadrado (0 ou 1) depende do valor mostrado como sada na respectiva linha da tabela-verdade.

    Os quadrados so organizados de modo que quadrados adjacentes (horizontalmente e verticalmente) difiram em apenas uma varivel. Para tanto, a ordem correta de cima para baixo e da esquerda para direita

    Uma vez que o mapa tenha sido preenchido com 0s e 1s, a expresso na forma de soma de produtos obtida fazendo-se a operao OR dos quadrados que contm 1.

  • Simplificao de circuitos Agrupamento de quadrados

    A simplificao no mapa de Karnaugh pode ser obtida atravs do agrupamento dos quadrados que contm o valor 1

    Esse agrupamento pode ser feito em pares (dois quadrados), em quartetos ou em octetos.

    Para tanto, deve-se lembrar que os quadrados precisam ser adjacentes verticalmente ou horizontalmente, inclusive de forma circular.

  • Simplificao de circuitos Agrupamento de dois quadrados (pares)

    Agrupando-se um par de 1s adjacentes, elimina-se a varivel que aparece na forma complementada e no-complementada.

  • Simplificao de circuitos Agrupamento de quatro quadrados (quarteto)

    Agrupando-se um quarteto de 1s adjacentes, eliminam-se duas variveis que aparecem na forma complementada e no-complementada.

  • Simplificao de circuitos Agrupamento de quatro quadrados (quarteto)

    Agrupando-se um quarteto de 1s adjacentes, eliminam-se duas variveis que aparecem na forma complementada e no-complementada.

  • Simplificao de circuitos Agrupamento de oito quadrados (octeto)

    Agrupando-se um octeto de 1s adjacentes, eliminam-se trs variveis que aparecem na forma complementada e no-complementada.

  • Simplificao de circuitos Processo completo de simplificao

    Quando uma varivel aparece nas formas complementada e no-complementada, deve ser eliminada da equao.

    Quando uma varivel permanece inalterada em todos os quadrados, deve ser mantida na equao.

    Passos para o processo de simplificao: Construir o mapa de Karnaugh atribuindo 1s e 0s de acordo com as

    sadas da tabela-verdade.

    Agrupar os 1s que no so adjacentes a quaisquer outros 1s (1s isolados).

    Agrupar os pares de 1s (adjacncia de dois 1s). Agrupar qualquer octeto, mesmo que contenha 1s que j foram

    agrupados.

    Agrupar qualquer quarteto que contenha 1s que ainda no foram agrupados, usando a menor quantidade possvel de agrupamentos.

    Agrupar quaisquer pares necessrios para incluir 1s que ainda no foram agrupados, usando a menor quantidade possvel de agrupamentos.

    Efetuar a operao OR de todos os agrupamentos.

  • Simplificao de circuitos Exemplo de processo completo de simplificao

  • Simplificao de circuitos Gerando o mapa a partir da expresso booleana

    Passos abaixo para gerar o mapa: Passar a expresso para a forma de soma de produtos Para cada termo da soma de produtos, colocar 1 no mapa em cada

    quadrado cuja denominao seja a mesma da expresso. Nos outros quadrados, colocar 0.

    - Exemplo: simplificar a expresso

    1) multiplicar o primeiro termo para obter a soma de produtos

    2) preencher o mapa de acordo com os

    termos da soma de produtos

    3) realizar os agrupamentos para

    gerar a expresso mnima

  • Simplificao de circuitos Condies de irrelevncia (dont care)

    Alguns circuitos podem ser projetados de forma que algumas combinaes de entrada gerem sadas cujos valores no importam (dont care) para a lgica do circuito.

    O projetista tem liberdade para especificar para quais combinaes de entrada a sada ser desconsiderada, de modo a achar o melhor agrupamento de quadrados => quais X devem ser 0 e quais devem ser 1!

  • Simplificao de circuitos Exemplo de condio de irrelevncia (dont care)

    Circuito lgico para controlar a porta de um elevador de um prdio de 3 andares.

    Circuito com 4 entradas M = 0 (elevador parado) e M = 1 (elevador em movimento) F1, F2 e F3 indicam os andares. Geralmente so 0,

    passando para 1 quando o elevador estiver parado num dos andares.

    Quando o elevador estiver parado (M=0) num andar (por exemplo, F2), os demais andares (F1 e F3) devem estar em 0 enquanto o andar F2 deve ser 1.

    A sada OPEN do circuito vai para 1 quando a porta do elevador tiver que ser aberta.

  • 1) marcar um X na sada OPEN para todos os casos nos quais mais de uma entrada 1 => oelevador no pode estar em mais de um andar ao mesmo tempo.2) quando M=1, o elevador est em movimento;portanto, OPEN deve ser 0.3) quando M=0 e as demais entradas forem 0, oelevador no est alinhado com nenhum andar;portanto OPEN deve ser 0.

    Substituir X no mapa por 0s e 1s, de modoa prover o melhor agrupamento

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27