32
17/05/14 Eletrônica Digital Circuitos Lógicos II

Circuitos Lógicos II

  • Upload
    lzamaro

  • View
    263

  • Download
    0

Embed Size (px)

DESCRIPTION

Circuitos Lógicos

Citation preview

17/05/14

Eletrônica Digital

Circuitos Lógicos II

17/05/14

Síntese de Circuitos Lógicos

SOP e POS

17/05/14

● Há dois padrões para funções booleanas (SOP e POS)

● SOP (sum of products - Soma de Produtos)● Mintermos

– Para uma função booleana de N variáveis, é qualquer termo de produto que contenha N literais (variável ou complemento):

{ abc ; abc ; abc}

● Implicantes

y = f(a,b,c) ou y = abc + abc + abc (canônica)

– mintermos que levam a função ao valor “1”

– Cada termo de uma SOP é um implicante, pois leva y → ”1”;

– Pode representar a função pelo número das linhas:

y = m2 + m

6 + m

7

– Se um termo for irredutível, é um termo implicante e primo:

y = ab + b.c

– São implicantes e primos de y, mas

não mintermo;

17/05/14

A B C Y0 0 0 10 0 1 10 1 0 10 1 1 11 0 0 01 0 1 01 1 0 01 1 1 1

Síntese de Circuitos Lógicos (MiniTerm - SOP)

A B Q0 0 00 1 01 0 01 1 1

● Função E● Olhando as saídas, quais são

os valores de entrada?● Em que condição conhecemos

os valores de entrada?

*Garantir a condição de saída de nível lógico alto.

● ABC

● ABC

● ABC

● ABC

● ABC

Função OU● ABC+

● ABC+

● ABC+

● ABC+

● ABC

17/05/14

A B C Y A B C Y A B C Y0 0 0 1 0 0 0 1 0 0 0 10 0 1 1 0 0 1 1 0 0 1 00 1 0 0 0 1 0 1 0 1 0 10 1 1 0 0 1 1 0 0 1 1 11 0 0 0 1 0 0 0 1 0 0 11 0 1 0 1 0 1 1 1 0 1 11 1 0 1 1 1 0 1 1 1 0 01 1 1 1 1 1 1 1 1 1 1 1

Gerar os mintermos

y = ABC + ABC + ABC + ABC

y = m0+m

1+m

6+m

7

y = ABC + ABC + ABC + ABC + ABC + ABC

y = m0+m

1+m

2+m

5+m

6+m

7

y = ABC + ABC + ABC + ABC + ABC + ABC

y = m0+m

2+m

3+m

4+m

5+m

7

17/05/14

Circuitos Padrão SOP

17/05/14

Síntese de Circuitos Lógicos

POS (product of sums – Produto de Somas)● Maxtermos

– Para uma função booleana de N variáveis, é qualquer termo de soma que contenha N literais (variável ou complemento):

{ a + b + c ; a + b + c ; a + b + c}

● Implicados

y = f(a,b,c) ou y = (a + b + c) . (a + b + c) . (a + b + c) (canônica)

– maxtermos que levam a função ao valor “0”

– Cada termo de uma POS é um implicado, pois leva y → ”0”;

– Pode representar a função pelo número das linhas:

y = M2 + M

6 + M

7

– Se um termo for irredutível, é um termo implicado e primo:

y = (a + b) . (b + c)

– São implicados e primos de y, mas

não maxtermos;

17/05/14

A B C Y0 0 0 10 0 1 10 1 0 10 1 1 11 0 0 01 0 1 01 1 0 01 1 1 1

Síntese de Circuitos Lógicos (MaxTerm POS)

● Função OU● Olhando as saídas, quais são

os valores de entrada?● Em que condição conhecemos

os valores de entrada?

*Garantir a condição de saída de nível lógico baixo.

● A+B+C

● A+B+C

● A+B+C

● E

(A+B+C).

(A+B+C).

(A+B+C)

A B Q0 0 00 1 11 0 11 1 1

17/05/14

A B C Y A B C Y A B C Y0 0 0 1 0 0 0 1 0 0 0 10 0 1 1 0 0 1 1 0 0 1 00 1 0 0 0 1 0 1 0 1 0 10 1 1 0 0 1 1 0 0 1 1 11 0 0 0 1 0 0 0 1 0 0 11 0 1 0 1 0 1 1 1 0 1 11 1 0 1 1 1 0 1 1 1 0 01 1 1 1 1 1 1 1 1 1 1 1

Gerar os maxtermos

Y = (A+B+C).(A+B+C).(A+B+C).(A+B+C)

y = M2+M

3+M

4+M

5

Y = (A+B+C).(A+B+C)

y = M3+M

4

Y = (A+B+C).(A+B+C)

y = M1+M

6

17/05/14

Circuitos Padrão POS

17/05/14

Mapas de Karnaugh

● Simplificação de circuitos● Menos Hardware● Mais velocidade● Menos consumo

● Métodos● Analiticamente● Mapas de Karnaugh● Algoritmo Quine-McCluskey● Métodos Heurísticos Quasi mínimos

Manual

Baseados em computador

Analítico:● Normalmente baseado do

teorema da absorção:

“a.b + a.b = a”

● Não pode ser usada em computador

● A expressão é irredutível?

17/05/14

Mapas de Karnaugh

● Exemplo:y = m

0 + m

2 + m

6 + m

7 = a'.b'.c' + a'.b.c' + a.b.c' + a.b.c

● Aplicando o teorema da absorção nos pares 1-2, 2-3 e 3-4

y = a'.c'.(b' + b) + b.c'.(a' + a) + a.b.(c' + c) = a'.c' + b.c' + a.b

● Mas poderíamos ter aplicado em 1-2 e 3-4

y = a'.c'.(b' + b) + a.b.(c' + c) = a'.c' + a.b

● Equivalentes, mas o segundo é mais econômico.

17/05/14

Mapas de Karnaugh

● Método preferido de simplificação manual● Modo de representar a tabela-verdade● Utiliza código gray nas linha e colunas● Cada célula da tabela recebe um mintermo● Considera-se inicios e fins de linhas e colunas

como células adjacentes.

17/05/14

Mapas de Karnaugh

17/05/14

Mapas de Karnaugh

● Agrupar os implicantes primos

● Agrupar todos os bits “1” (ou os “0”) tão grande quanto possível (potência de dois)

● Últimas linha e coluna são adjacente às primeiras (1 bit de diferença)

● Implicante essencial: contém elementos não coberto por outros implicante primo (irredutível)

17/05/14

Mapas de Karnaugh

● Implicantes essenciais:

● a.c'.d'● a'.d

17/05/14

Encontrar a SOP mínima

● y=b'.c.d + a'.b.c'+a.d'abcd 00 01 11 10

00 0 1 1 1

01 0 1 0 0

11 1 0 0 X

10 0 X X 1

17/05/14

Mapas de Karnaugh

● Usando mapas de karnaugh, prove as três partes do teorema da absorção:

● A + AB = A● A + AB = A + B● A.B + A.B = A

17/05/14

Mapas de Karnaugh - Extensos

● Aplica-se o teorema de Shannon● f(a, b, c, …) = a'.f(0, b, c, …) + a.f(1, b, c, ...)

a=0 bc a=1 bcde 00 01 11 10 de 00 01 11 10

00 00

01 01

11 11

10 10

m0

m4

m12

m8

m16

m20

m28

m24

m1

m5

m13

m9

m17

m21

m29

m25

m3

m7

m15

m11

m19

m23

m31

m27

m2

m6

m14

m10

m18

m22

m30

m26

17/05/14

Mapas de Karnaugh

● Podemos utilizar o mapa de Karnaugh para POS

● Agrupam-se os “0”● Levantam-se os

maxtermos.● Apresenta-se a

expressão irredutível POS

● y=(a+b).(a'+b').(a'+c')

17/05/14

Propagação e Glitches

● É uma falha que ocorre pela diferença do tempo de propagação do mesmo sinal, por caminhos diferentes, no mesmo circuito.

y = b.c' + a.c

17/05/14

Glitches

A B C Y0 0 0 00 0 1 00 1 0 10 1 1 01 0 0 01 0 1 11 1 0 11 1 1 1

17/05/14

Solução

● Acrescentar mais um implicante primo● A expressão ficaria

y = b.c' + a.c + a.b

17/05/14

Quine-McCluskey

● Método para simplificações por computador

● Desenvolvido nos anos 1960

● Baseado no teorema da absorção:

a.b+a.b' = a

y = m0+m

4+m

5+m

6+m

10+m

11+m

14+m

15

● Karnaugh →

17/05/14

Quine-McCluskey● Teorema da absorção

● Termos adjacentes● Possuir diferença de um bit

● Dividir os mintermos em grupos pela quantidade de '1's.

● Comparar o grupo A com o B

● Comparar o grupo B com o C, …

● Marcar os mintermos dos grupos com um bit de diferença, substituindo o bit divergente por “X”

● Elimininar os mintermos combinados a cada iteração (cinza)

Grupo Minterm a b c dA 0 0 0 0 0B 4 0 1 0 0

C

5 0 1 0 16 0 1 1 010 1 0 1 0

D11 1 0 1 114 1 1 1 0

E 15 1 1 1 1

Grupo Minterm a b c dA-B 0-4 0 X 0 0

B-C4-5 0 1 0 X4-6 0 1 X 0

C-D

6-14 X 1 1 010-11 1 0 1 X10-14 1 X 1 0

D-E11-15 1 X 1 114-15 1 1 1 X

17/05/14

Quine-McCluskey

Grupo Minterm a b c dA-B 0-4 0 X 0 0

B-C4-5 0 1 0 X4-6 0 1 X 0

C-D

6-14 X 1 1 010-11 1 0 1 X10-14 1 X 1 0

D-E11-15 1 X 1 114-15 1 1 1 X

Grupo Minterm a b c dAB-BC --- ---BC-CD --- ---

CD-DE10-11-14-15 1 X 1 X10-14-11-15 1 X 1 X

● Comparar o grupo AB com o BC

● Comparar o grupo BC com o CD, …

● Marcar os mintermos dos grupos com um bit de diferença, substituindo o bit divergente por “X”

● Elimininar os mintermos não combinados a cada iteração ou repetidos (cinza)

● Se não houver mais grupos para recombinação, considerar os mintermos não eliminados ou “termos primos”

17/05/14

Quine-McCluskey

Grupo Minterm a b c dA-B 0-4 0 X 0 0

B-C4-5 0 1 0 X4-6 0 1 X 0

C-D

6-14 X 1 1 010-11 1 0 1 X10-14 1 X 1 0

D-E11-15 1 X 1 114-15 1 1 1 X

Grupo Minterm a b c dAB-BC --- ---BC-CD --- ---

CD-DE10-11-14-15 1 X 1 X10-14-11-15 1 X 1 X

● Se não houver mais grupos para recombinação, considerar os termos não eliminados ou “implicantes primos”

● Escrever a expressão SOP

y = a'.c'.d' + a'.b.c' + a'.b.d' + b.c.d' + a.c

● Coincidem com os termos mostrados no mapa de Karnaugh

● Entretanto b.c.d' é redundante

17/05/14

Quine-McCluskey

● y = a'.c'.d' + a'.b.c' + a'.b.d' + b.c.d' + a.c

● Coincidem com os termos mostrados no mapa de Karnaugh

● Entretanto b.c.d' é redundante

17/05/14

Quine-McCluskeyResolver por Quine-McCluskey:

y = m0+m

1+m

2+m

6+m

8+m

10+m

11+m

12

abcd 00 01 11 1000 1 0 1 101 1 0 0 011 0 0 0 110 1 1 0 1

y = a'.b'.c' + a'.c.d' + a.c'.d' + a.b'.c + b'.d'

Grupo Minterm a b c dA 0 0 0 0 0

B

1 0 0 0 12 0 0 1 08 1 0 0 0

C

6 0 1 1 010 1 0 1 012 1 1 0 0

D 11 1 0 1 1

Grupo Minterm a b c d

A-B

0-1 0 0 0 X0-2 0 0 X 00-8 X 0 0 0

B-C

2-6 0 X 1 02-10 X 0 1 08-10 1 0 X 08-12 1 X 0 0

C-D 10-11 1 0 1 X

Grupo Minterm a b c d

AB-BC0-2-8-10 X 0 X 00-8-2-10 X 0 X 0

BC-CD --- ---

17/05/14

Gerador de Paridade

● Geração de paridade● Paridade “par”● P = “0”, para quantidades pares de “1”s.

17/05/14

Gerador de Paridade

● Verificação de paridade● Paridade “par”● Se paridade local “ P' ” e paridade remota “ P ”

forem diferentes, ocorreu um erro: “ V “ = “1”

17/05/14

Controle Habilitar/Desabilitar

● Controle de passagem de sinal