98
UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA ELÉTRICA Notas de Aula TE050 - ELETRÔNICA DIGITAL I Parte 1 – Sistemas de Numeração, Códigos Binários, Álgebra Lógica e Funções Lógicas Ademar Luiz Pastro 2017

Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

  • Upload
    dinhdat

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

UNIVERSIDADE FEDERAL DO PARANÁ

SETOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA ELÉTRICA

Notas de Aula

TE050 - ELETRÔNICA DIGITAL I

Parte 1 – Sistemas de Numeração, Códigos Binários, Álgebra Lógica e Funções Lógicas

Ademar Luiz Pastro

2017

Page 2: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 2

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

1 - SISTEMAS DE NUMERAÇÃO 1.1 - INTRODUÇÃO Os sistemas digitais envolvem circuitos eletrônicos nos quais existem somente dois estados, normalmente representados por dois níveis diferentes de tensão. Toda a operação dos circuitos digitais está fundamentada neste conceito de dois estados, caracterizando desta maneira um sistema binário. Assim sendo, para entender os princípios da eletrônica digital é necessária uma familiarização com o sistema binário de numeração. 1.1.1 - Representação de um número Em um sistema numérico de base b qualquer, um número positivo é representado pelo polinômio:

N(b) = aq-1bq-1 + aq-2b

q-2 + ... + a1b1 + a0b

0 + a-1b-1 + a-2b

-2 + ... + a-pb-p = ∑

−=

1q

pi

ii ba

Sendo: b = Base (ou raiz) do sistema de numeração (inteiro >1) ai = Inteiro no intervalo (0 ≤ ai ≤ b-1): são os dígitos do número p = Número de dígitos da parte fracionária do número q = Número de dígitos da parte inteira do número.

A sequência de dígitos aq-1aq-2...a1a0, representa a parte inteira do número, enquanto a sequência de dígitos a-1a-2...a-p, representa a parte fracionária do numero N. O dígito a-p é o dígito menos significativo e aq-1 é o dígito mais significativo do número N. Assim, um número decimal pode ser representado através de um polinômio de potências de 10, enquanto um número binário pode ser representado por um polinômio de potências de 2. Por exemplo, o número decimal 38275,618 pode ser representado pelo polinômio:

38275,618 = 3×104 + 8×103 + 2×102 + 7×101 + 3×100 + 6×10-1 + 1×10-2 + 8×10-3 Nesse polinômio, número 10 representa a base (ou raiz) do sistema decimal. 1.1.2 - Conversão de Bases Quando se trabalha com sistemas de numeração de bases diferentes, com freqüência é necessário converter um número representado em um determinado sistema de numeração, para o seu equivalente em outro sistema de numeração. Esta operação é denominada conversão de bases. Existem três métodos que podem ser utilizados para converter um número de uma base b1 para uma base b2. 1.1.2.1 - Método do polinômio Esse método consiste em representar o numero N como um polinômio de potências da base b1 (base de origem) e utilizar a aritmética da base b2 (base de destino) para calcular o valor deste polinômio. Exemplo: Converter para base 10 os números 537,24(8) e 11010,101(2) respectivamente. Representação dos polinômios:

Page 3: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 3

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

537,24(8) = 5x82 + 3x81 + 7x80 + 2x8-1 +4x8-2 = 351,3125(10)

11010,101(2) = 1x24 1x23 + 0x22 + 1x21 + 0x20 + 1x2-1 + 0x2-2 1x2-3 = 26,625(10)

É importante observar que, em ambas as conversões, as operações aritméticas para o cálculo do valor do polinômio foram realizadas na base 10 que é a base de destino (b2). Converter o número 327(8)

para a base 5:

327(8) = 3x82 + 2x81 + 7x80 = 1232 + 31 + 12 = 1330(5) Observe que no último exemplo, o método de conversão é o mesmo das conversões anteriores porém, é necessário utilizar a aritmética da base 5 para efetuar o cálculo do polinômio, o que para nós representa uma dificuldade, visto que não estamos habituados a trabalhar com uma base diferente da base 10. Portanto, pode-se deduzir que o método do polinômio, embora possa ser utilizado em qualquer conversão, é adequado somente quando a base de destino for a base 10, pois nessa situação as operações aritméticas são efetuadas no sistema decimal. Exercícios: Converter os números abaixo para o sistema decimal: a) 2043,14(5); b) 627,73(8); c) 1011011,1101(2); d) 10231,312(4) 1.1.2.2 - Método das divisões e multiplicações sucessivas Nesse método, os cálculos são feitos utilizando a aritmética da base b1, que é a base de origem. As conversões das partes inteira e fracionária do número, são efetuadas separadamente. Seja N(b1) um número inteiro. Como já vimos, sua representação na base b2 é dada pelo polinômio:

N(b1) = aq-1b2q-1 + aq-2b2

q-2 + ... + a1b21 + a0b2

0

Dividindo ambos os lados da igualdade por b2 teremos:

N(b1)/b2 = aq-1b2q-2 + aq-2b2

q-3 + ... + a1 + a0/b2 Fazendo: aq-1b2

q-2 + aq-2b2q-3 + ... + a1 = Q0 (Quociente da divisão)

N(b1)/b2 = Q0 + a0/b2

Então: a0 = N(b1) - b2Q0, que é o resto da divisão de N(b1) por b2. Portanto, o resto da primeira divisão de N por b2, representa o dígito menos significativo do número N(b2) isto é, o dígito a0. O próximo dígito significativo (a1), é obtido dividindo-se o quociente obtido na divisão anterior (Q0) novamente por b2.

Q0/b2 = aq-1b2q-3 + aq-2b2

q-4 + ... + a2 + a1/b2 O resto desta segunda divisão, representa o segundo dígito menos significativo (a1).

Page 4: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 4

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

A obtenção dos demais dígitos é feita através de divisões sucessivas dos quocientes obtidos, até que o quociente seja zero. O número N(b2) é composto pelos restos das divisões efetuadas, lembrando que o resto da primeira divisão é o dígito menos significativo do número. A parte fracionária do número, é representada por: N(b1) = a-1b2

-1 + a-2b2-2 + ... + a-pb2

-p O dígito mais significativo (a-1) pode ser obtido multiplicando o polinômio por b2: b2.N(b1) = a-1 + a-2b2

-1 + ... + a-pb2-p+1

Se o produto obtido nesta multiplicação for menor do que 1, então o dígito a-1 é igual a zero. Se o produto for maior do que 1, então o dígito a-1 é igual à parte inteira do produto. O próximo dígito é obtido multiplicando a parte fracionária do produto anterior novamente por b2 e determinando a parte inteira deste novo produto, e assim sucessivamente. Este processo não necessariamente termina, visto que nem sempre é possível representar a fração na base b2 com um número finito de dígitos. Exemplo: converter o número 435,78125(10) para a base 4.

a) Parte inteira (divisões sucessivas): 435 | 4_ 3 108 | 4_ 0 27 | 4_ 3 6 | 4_ 2 1 | 4_ 1 0 Assim: 435(10) = 12303(4)

b) Parte fracionária (multiplicações sucessivas): 0,78125 0,12500 0,50000 x 4 x 4 x 4 3,12500 0,50000 2,00000 Assim: 0,78125(10) = 0,302(4)

Portanto: 435,78125(10) = 12303,302(4) Exercícios: Efetuar as conversões de base indicadas abaixo: 795,1875(10) para base 8; 349,36(10) para base 8; 187,0625(10) para base 2; 109,85(10) para base 2 1.1.2.3 - Método da substituição direta O método de conversão de bases por substituição direta pode ser utilizado quando uma das bases for potência inteira da outra. Considere por exemplo, dois sistemas de numeração de bases b1 = 2 e b2 = 4. Representando os 4 dígitos do sistema base 4 e seus respectivos valores equivalentes no sistema base 2 temos a seguinte tabela de conversão:

Page 5: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 5

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

base 4 base 2 0 00 1 01 2 10 3 11

Como se observa, cada dígito do sistema base 4 corresponde à dois dígitos do sistema base 2. Desta forma, a conversão de um número de uma base para outra pode ser feita através da simples substituição de um dígito do sistema base 4 por dois dígitos do sistema base 2, e vice versa

Exemplos:

a) 520764(8) → base 2 520764(8) = 101 010 000 111 110 100(2)

b) 1021101211020(3) → base 9 01 02 11 01 21 10 20(3) =1241736(9)

Exercícios: Efetuar as conversões indicadas abaixo: a) 11010010,101011(2) para base 4; b) 1132031,3201(4) para base 2; c) 107256(8) para base 4; 1.1.3 – Operações aritméticas É possível efetuar operações aritméticas em sistemas de numeração de qualquer base, da mesma forma que as operações são efetuadas no sistema decimal. Abaixo estão mostrados exemplos das operações de soma e subtração em outros sistemas de numeração que não o decimal.

Soma: 21403(5) 32704,316(8) 103321(4) +14321(5) +26105,405(8) +212032(4) 41224(5) 61011,723(8) 322013(4) Subtração: 314026(7) 51042,314(6) 210534(8) -201352(7) -20451,231(6) -171256(8) 112344(7) 30151,043(6) 017256(8) Exercícios: Efetuar as operações indicadas abaixo:

301547(9) 12041,432(5) 400201(7) 302101(4) +150475(9) +20432,231(5) - 135124(7) -102131(4)

1.2 - SISTEMA DE NUMERAÇÃO BINÁRIO No sistema binário, a base é 2 e são utilizados somente 2 dígitos para representar um número qualquer: os dígitos utilizados são 0 e 1. Cada um dos dígitos utilizados para representar valores no sistema binário (0 e 1) é denominado bit , que é uma contração das palavras binary digit. 1.2.1 – Conversão de números do sistema binário para decimal A conversão de um número do sistema binário para o sistema decimal é feita utilizando o método do polinômio. Exemplo: Converter o número 11011010,1101(2) para decimal.

Page 6: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 6

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Representando o número na forma de polinômio temos:

1x27 + 1x26 +0x25 + 1x24 + 1x23 + 0x22 + 1x21 +0x20 + 1x2-1 + 1x2-2 + 0x2-3 +1x2-4 Calculando o valor do polinômio, temos:

128 + 64 + 0 + 16 + 8 + 0 + 2 + 0 + 0,5 + 0,25 + 0 + 0,0625 = 218,8125

Portanto: 11011010,1101(2) = 218,8125(10) 1.2.2 – Conversão de números do sistema decimal para binário A conversão de um número do sistema decimal para o sistema binário é feita utilizando o método das divisões e multiplicações sucessivas. Exemplo: Converter o número 185,359375(10) para binário. A parte inteira do número deve ser dividida sucessivamente por 2 até se chegar a um quociente zero, e a parte fracionária do mesmo deve ser multiplicada sucessivamente por 2 até se chegar a um produto igual a 0. Parte Inteira: Parte Fracionária: 185 | 2 0,359375 0,718750 0,437500 1 92 | 2 x 2 x 2 x 2 0 46 | 2 0,718750 1,437500 0,875000 0 23 | 2 1 11 | 2 0,875000 0,750000 0,500000 1 5 | 2 x 2 x 2 x 2 1 2 | 2 1,750000 1,500000 1,000000 0 1 | 2 1 0

Portanto: 185,359375(10) = 10111001,010111(2) Nem sempre a conversão de um número do sistema decimal para o sistema binário pode ser feita de forma exata. Existem situações em que a parte fracionária do número tem que ser aproximada, como se observa no exemplo abaixo: Converter o número 137,475(10) para binário

137 | 2 1 68 | 2 0 34 | 2 0 17 | 2 1 8 | 2 0 4 | 2 0 2 | 2 0 1 | 2 1 0

0,475 0,950 0,900 0,800 0,600 x 2 x 2 x 2 x 2 x 2 0,950 1,900 1,800 1,600 1,200 0,200 0,400 0,800 0,600 0,200 x 2 x 2 x 2 x 2 x 2 0,400 0,800 1,600 1,200 0,400

Page 7: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 7

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Fica claro que, não é possível chegar a um resultado zero na multiplicação, o que significa que o número não tem representação exata no sistema binário.

Assim: 137,475(10) = 10001001,0111100110011⋅⋅⋅(2) Nesta situação, o grau de aproximação vai depender do número de bits que estão disponíveis para representar o número binário. 1.3 - SISTEMA DE NUMERAÇÃO HEXADECIMAL O sistema de numeração hexadecimal é utilizado para simplificar a representação de números binários. Através do sistema hexadecimal, pode-se compactar um conjunto de bits, que representa o número no sistema binário, em um conjunto menor de dígitos do sistema hexadecimal. Características: Base = 16; 16 dígitos para representar um número; dígitos 0 a 9, para representar os valores de 0 a 9; dígitos A a F, para representar os valores de 10 a 15. Um byte representa a unidade básica de dados em um sistema digital, sendo formado por um conjunto de 8 bits. Dividindo-se o byte em duas partes, temos dois grupos de 4 bits que são denominados nibbles. Com os 4 bits que compõem cada nibble é possível formar 16 combinações distintas, sendo que, cada uma destas combinações corresponde à um dígito do sistema hexadecimal. Assim, o conteúdo de um byte pode ser representado por 2 dígitos hexadecimais. A conversão de um número do sistema binário para o sistema hexadecimal não envolve nenhuma operação aritmética. Para esta conversão é utilizado o método da substituição direta, onde cada grupo de 4 bits corresponde a um dígito hexadecimal. A tabela abaixo mostra a conversão do sistema binário para o sistema hexadecimal:

Decimal Binário Hexadecimal 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7

Decimal Binário Hexadecimal 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F

1.3.1 - Conversão binário ⇒ hexadecimal Para converter um número do sistema binário para o hexadecimal, basta formar grupos de 4 bits(nibbles) da direita para a esquerda, completando com zeros o último grupo à esquerda, se for necessário. Cada um dos grupos de 4 bits formados, corresponde à um dígito hexadecimal.

Page 8: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 8

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Exemplos: a) Converter para hexadecimal o número binário 10011100101100000111101 Separando em grupos: 0100 1110 0101 1000 0011 1101 4 E 5 8 3 D

Portanto, 10011100101100000111101(2) = 4E583D(16)

b) Converter para hexadecimal o número binário 011000000011111110

Separando em grupos: 0001 1000 0000 1111 1110 1 8 0 F E

Portanto, 011000000011111110(2) = 180FE(16) 1.3.2 - Conversão hexadecimal ⇒ binário Para converter um número do sistema de numeração hexadecimal para o sistema binário, simplesmente tomamos cada dígito hexadecimal e representamos através de um grupo de 4 bits. Exemplos: a) Converter para binário o número hexadecimal 7A0D 7 A 0 D_ Número binário equivalente: 0111 1010 0000 1101

b) Converter para binário o número hexadecimal 5F0C7E 5 F 0 C 7 E Número binário equivalente: 0101 1111 0000 1100 0111 1110 1.4 - SISTEMA DE NUMERAÇÃO OCTAL O sistema de numeração octal tem a mesma finalidade do sistema hexadecimal, ou seja, simplificar a representação de números binários. A diferença é que, ao invés de grupos de 4 bits como no sistema hexadecimal, são considerados grupos de 3 bits. Tomando-se um grupo de 3 bits, é possível formar 8 combinações diferentes, sendo que, cada uma destas combinações corresponde à um dígito do sistema octal. Características: Base = 8 8 dígitos para representar um número dígitos: 0 a 7 Da mesma forma que no sistema hexadecimal, a conversão de um número do sistema binário para o sistema octal não envolve nenhuma operação aritmética. Existe simplesmente uma correspondência entre cada grupo de 3 bits e um digito octal. 1.4.1 - Conversão binário ⇒ octal Para converter um número do sistema binário para o sistema octal, basta formar grupos de 3 bits da direita para a esquerda, completando com zeros o último grupo à esquerda se for necessário. À cada um dos grupos formados, temos um dígito do sistema octal.

Page 9: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 9

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Exemplos: a) Converter para octal o número binário 1101111000001110 Separando em grupos: 001 101 111 000 001 110 1 5 7 0 1 6

1101111000001110(2) = 157016(8)

b) Converter para octal o número binário 100111001110101 Separando em grupos: 100 111 001 110 101 4 7 1 6 5

100111001110101 (2) = 47165(8) 1.4.2 - Conversão octal ⇒ binário Para converter um número do sistema de numeração octal para o sistema binário, simplesmente tomamos cada dígito octal e representamos através de um grupo de 3 bits. Exemplos: a) Converter para binário o número octal 37054 Representando cada dígito pelos 3 bits, temos: 3 7 0 5 4 011 111 000 101 100 37054(8) = 011111000101100(2)

b) Converter para binário o número octal 1730562 Convertendo cada dígito, temos: 1 7 3 0 5 6 2 001 111 011 000 101 110 010 1730562(8) = 001111011000101110010(2) Exercícios: Efetuar as conversões indicada abaixo: a) 110111000100111101111001(2) para hexadecimal b) 5AC389(16) para binário c) 1010010101110000110101(2) para octal d) 3075261(8) para binário e) 503714(8) para hexadecimal f) 30FC5A(16) para octal 1.5 - ARITMÉTICA BINÁRIA As operações aritméticas no sistema binário são feitas da mesma maneira que nos outros sistemas de numeração, com a diferença que, no sistema binário temos somente os dois dígitos 0 e 1.

Page 10: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 10

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

1.5.1 - Soma Como existem somente os dígitos 0 e 1, numa soma de dois números binários ocorrem quatro situações possíveis, que são: 0 + 0 = 0 1 + 0 = 1 0 + 1 = 1 1 + 1 = 0 ⇒ “ vai um” para a casa seguinte Exemplos de soma: 01001101 10010110 10010111 +10011010 +01011011 +01110010 11100111 11110001 100001001 1.5.2 - Subtração Da mesma forma que na operação de soma, na subtração de dois números binários podem ocorrer somente 4 possíveis situações: 0 - 0 = 0 1 - 1 = 0 1 - 0 = 1 0 - 1 = 1 ⇒ “ empresta um” da casa anterior Exemplos de subtração: 11101011 10100101 10100110 -10010101 -10011010 -11000101 01010110 00001011 -00011111 1.5.3 - Multiplicação Para entender o processo de multiplicação de dois números binários, pode-se inicialmente analisar a multiplicação de dois números no sistema decimal, uma vez que o procedimento é idêntico para os dois sistemas. Seja por exemplo, a multiplicação no sistema decimal: 4528 × 2735 4528 → Multiplicando x 2735 → Multiplicado 22640 13584 31696 9056 12384080

Como se observa no exemplo, é realizada a multiplicação de cada dígito do multiplicador pelo multiplicando, formando produtos parciais. Observe que cada um dos produtos parciais sofre um deslocamento para a esquerda. O resultado da multiplicação é a soma de todos os produtos parciais obtidos.

Como no sistema binário existem somente os dígitos 0 e 1, os produtos parciais são zero, no caso do dígito do multiplicador ser 0, ou o próprio multiplicando no caso do dígito ser 1. Exemplo de multiplicação de dois números binários: 101101 × 1011

Page 11: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 11

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

101101 → Multiplicando x 1011 → Multiplicado

101101 101101 000000 101101 111101111 1.5.4 - Divisão Do mesmo modo que a multiplicação, a divisão binária é mais simples que a divisão decimal. Seja por exemplo, a divisão de dois números binários: 110101101 / 101 110101101 | 101 101 1010101 00110 101 00111 101 01001 101 100

Como o divisor possui três dígitos (101), perguntamos se o mesmo “cabe” nos três primeiros dígitos do dividendo (110). Como isto ocorre, o dígito correspondente do quociente é 1, e o divisor é subtraído dos três primeiros dígitos do dividendo. O restante da divisão segue o mesmo procedimento da divisão decimal.

No exemplo acima, a divisão 110101101÷101 tem como resultado um quociente 1010101 e um resto 100. 1.5.5 - Representação de números negativos através do complemento de 2 O complemento de 2 de um número binário é definido como: [N]2 = 2n – (N)2 Onde: (N)2 : número binário n : número de bits que formam o número [N]2 : complemento de 2 do número Seja por exemplo, o número N = 00101101(2), em cuja representação são utilizados 8 bits. O complemento de dois deste número é: 28 = 100000000 - 00101101 11010011 Uma maneira simples de obter o complemento de dois de um número binário é inverter (ou negar ou complementar) todos os bits do número e depois somar 1. Assim, considerando o número visto anteriormente temos: 00101101 invertendo → 11010010 somando 1 → + 1 11010011

Page 12: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 12

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Uma das formas utilizadas para representar números negativos no sistema binário é através do complemento de 2. Esta forma de representação é muito utilizada em sistemas digitais para o tratamento de operações aritméticas envolvendo números com sinal. Na representação de números negativos através de complemento de 2, os números positivos são representados na sua forma natural, como já foi visto anteriormente. Os números negativos são representados como complemento de 2 do correspondente número positivo. Seja por exemplo, o número binário 01011010(2) = 90(10). O complemento de 2 deste número é:

01011010 Invertendo: 10100101 Somando 1: +00000001 10100110

Assim, na representação de números binários negativos através de complemento de 2, o número 10100110(2) representa o valor -90(10).

1.5.6 - Operação de soma utilizando complemento de 2 Será analisada a seguir a vantagem de se utilizar o complemento de dois, para a realização de operações aritméticas no sistema binário. Considere uma operação de subtração de dois números binários: a - b Esta operação pode ser escrita como: a - b = a + (-b) Ou seja, a operação de subtração pode ser substituída por uma operação de soma, onde é utilizado o valor negativo do subtraendo. Portanto, no sistema binário, uma operação de subtração é feita somando o minuendo com o complemento de 2 do subtraendo. Neste tipo de operação, é importante que seja estabelecido, o número de dígitos que será utilizado para representar todos os números binários, tendo em vista que na operação de soma o último dígito normalmente deve ser ignorado. Como exemplo, vamos efetuar a subtração 106(10) – 39(10) no sistema binário. Para isto, será estabelecido que os números binários serão representados com 8 bits. 106(10) = 01101010(2) 39(10) = 00100111(2) O complemento de 2 de 39 é: 11011001, que representa o número -39. A operação a ser realizada é: 106 – 39 = 106 + (-39)

Temos então: 01101010 (106) + 11011001 (-39) 1 01000011 Como foi definido que seriam utilizados 8 bits para representar os números binários, o bit adicional que apareceu no resultado deve ser desprezado. O resultado da operação é portanto 0100011, equivalente ao valor 67 decimal, que é o resultado esperado para a operação. Exemplo: Efetuar a operação 115(10) – 77(10) no sistema binário:

Page 13: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 13

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

115 = 01110011 77 = 01001101 -77 = 10110011

A operação fica portanto: 01110011 + 10110011 1 00100110

O resultado da operação é 00100110 = 38(10) , conforme era esperado.

Vejamos agora, a operação: 43(10) – 109(10).

43 = 00101011 109 = 01101101 -109 = 10010011

Assim: 00101011 +10010011 10111110

Se convertermos diretamente o resultado da operação (10111110) para decimal, tem-se o valor 190(10), que não é o resultado esperado da operação, cujo valor correto deveria ser -66. No entanto, tomando-se o complemento de 2 do resultado da operação, tem-se o valor 01000010, que corresponde ao valor decimal 66. Observa-se então que, como o resultado da operação é negativo, o mesmo apareceu na forma de complemento de 2. Desta forma, pode ser estabelecida a regra para a representação de números positivos e negativos no sistema binário.

a) O primeiro bit(bit mais significativo) sempre indica o sinal do número:

0: o número é positivo 1: o número é negativo

b) Se o número for positivo, ele está representado na sua forma real. Se for negativo, está

representado na forma de complemento de 2. Utilizando esta forma de representação, a operação de soma é realizada normalmente, sendo que o resultado, positivo ou negativo, aparecerá naturalmente. Exemplos: a) 95 + (–44) 01011111 + 11010100 1 00110011 Eliminando o dígito adicional: 00110011 = 51

b) 27 + (–79) c) 23 + 85 (d) (-47) + (–72) e) 71 + 89 00011011 00010111 11010001 01000111

+10110001 +01010101 +10111000 +01011001 11001100 01101100 110001001 10100000

Observe na última operação (e), o resultado foi -96, quando o valor correto é +160. Neste caso, ocorreu uma condição de “estouro” (overflow), ou seja, o resultado da operação não cabe nos 8 bits previamente definidos para isto. Fica claro portanto, que existem limites para os valores que podem ser representados, limites estes que dependem do número de bits que estão sendo utilizando para representar o números. No caso da representação de números binários com 8 bits, estes limites são: 01111111 = +127 e 10000000 = -128

Page 14: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 14

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Como regra geral, temos os seguintes limites: -(2n-1) ≤ N ≤ 2n-1 - 1 onde: n é o número de bits utilizados para representar o número. 2 - CÓDIGOS BINÁRIOS Nos sistemas digitais existem situações em que é necessário, ou desejável, a representação dados que não sejam números binários, tais como strings de caracteres alfanuméricos ou numéricos. Vários tipos de códigos foram desenvolvidos com esta finalidade, podendo se enquadrados em duas principais categorias:

• Códigos numéricos: utilizados para representar valores numéricos; • Códigos não numéricos: utilizados para representar caracteres alfanuméricos.

2.1 - CÓDIGOS NUMÉRICOS 2.1.1 - Código BCD O código BCD-Binary Coded Decimal (Decimal Codificado em Binário) é um código numérico, utilizado para representar números decimais, sendo muito utilizado na interface entre dispositivos digitais. O código BCD nada mais é o do que o próprio código binário, com os valores limitados ao intervalo de 0 a 9, utilizando portanto 4 bits para cada dígito decimal. O código BCD é também denominado BCD-8421, pelo fato dos 4 bits que formam o código terem pesos de 8, 4, 2 e 1 respectivamente. Na tabela abaixo é mostrada a correspondência entre cada dígito decimal e sua representação no código BCD. Decimal BCD Decimal BCD 0 0000 5 0101 1 0001 6 0110 2 0010 7 0111 3 0011 8 1000 4 0100 9 1001 Para representar um número decimal no código BCD, representa-se cada um dos dígitos através de um conjunto de 4 bits. Exemplo: representar o número 590274 no código BCD. Substituindo cada dígito decimal por um grupo de 4 bits, temos: 5 9 0 2 7 4..

0101 1001 0000 0010 0111 0100

Page 15: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 15

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

2.1.2 - Código 3-em-excesso O código 3-em-excesso é formado adicionando-se 3 ao código BCD(ou binário). Trata-se de um código não ponderado, visto que existe um peso para cada um dos 4 bits que forma o código. Na tabela abaixo, temos a correspondência entre os códigos decimal, BCD e 3-em-excesso: Decimal BCD 3-em-excesso Decimal BCD 3-em-excesso 0 0000 0011 5 0101 1000 1 0001 0100 6 0110 1001 2 0010 0101 7 0111 1010 3 0011 0110 8 1000 1011 4 0100 0111 9 1001 1100 2.1.3 - Código GRAY O código Gray é um código cíclico, cuja característica é a mudança de somente um bit entre dois valores consecutivos. Devido a esta característica, o código Gray é muito utilizado em codificadores(encoders) pois, o fato de existir somente um bit diferente entre valores consecutivos diminui a probabilidade da ocorrência de erros. A tabela abaixo mostra a correspondência entre os códigos decimal, binário e Gray de 4 bits: Decimal Binário Gray Decimal Binário Gray 0 0000 0000 8 1000 1100 1 0001 0001 9 1001 1101 2 0010 0011 10 1010 1111 3 0011 0010 11 1011 1110 4 0100 0110 12 1100 1010 5 0101 0111 13 1101 1011 6 0110 0101 14 1110 1001 7 0111 0100 15 1111 1000 2.1.4 - Código Johnson O código Johnson é um código numérico, gerado a partir do contador Johnson. O número de valores possíveis depende da quantidade de bits utilizados para representar estes valores. Para representar os 10 dígitos decimais, são necessários 5 bits no código Johnson. Na tabela abaixo, está representado o código Johnson de 5 bits: Decimal Johnson Decimal Johnson 0 00000 5 11111 1 10000 6 01111 2 11000 7 00111 3 11100 8 00011 4 11110 9 00001

Page 16: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 16

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

2.1.5 - Detecção e correção de erros Um eventual erro em um dado binário qualquer, significa um valor incorreto em um ou mais bits que formam este dado. Podemos ter um erro simples quando existe somente um bit incorreto e um erro múltiplo quando mais de um bit está incorreto. Erros podem ser causados por falhas de hardware, ruído ou interferência externa ou outro evento indesejado. Os códigos vistos até agora para representar valores numéricos, embora adequados para a representação dos dígitos decimais, são sensíveis a erros de qualquer natureza. Na prática, existe sempre a probabilidade da ocorrência de um erro simples. A probabilidade da ocorrência de um erro múltiplo é mais baixa. 2.1.5.1 - Códigos de detecção de erros Em um código binário, a ocorrência de um erro em um dos bits de um dado pode resultar em outro dado válido, porém incorreto. Consideremos como exemplo, os dois dispositivos A e B mostrados na figura abaixo, conectados através de uma interface, através da qual trafegam dados no formato BCD. Supondo que, em determinado instante, o dispositivo A enviou através da interface, a seqüência de bits 0101, que corresponde ao dígito decimal 5 no código BCD.

Supondo ainda que, devido à uma interferência externa qualquer (ruído), o segundo bit (da direita para a esquerda) da sequência enviada, foi corrompido, passando de 0 para 1. Desta forma, o dispositivo B recebe o dado 0111, que corresponde à um valor BCD válido (digito 7), porém diferente daquele que foi enviado pelo dispositivo A. Assim, A enviou o dígito 5 e B recebeu o dígito 7 tratando este valor como sendo correto, pois não possui nenhum mecanismo para detectar que ocorreu o erro, pois o código BCD não tem capacidade para detectar o erro. É possível tornar o código BCD capaz de detectar um erro simples, adicionando ao mesmo um bit de paridade, que pode ser par ou ímpar.

• Paridade par : o número de bits “1”, incluindo o bit de paridade, deve ser par. • Paridade ímpar : o número de bits “1”, incluindo o bit de paridade, deve ser ímpar.

A B 0101 0111

Page 17: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 17

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Na tabela abaixo está mostrado o código BCD, acrescido de um bit de paridade: Paridade par Paridade ímpar Decimal 8421 P 8421 P 0 0000 0 0000 1 1 0001 1 0001 0 2 0010 1 0010 0 3 0011 0 0011 1 4 0100 1 0100 0 5 0101 0 0101 1 6 0110 0 0110 1 7 0111 1 0111 0 8 1000 1 1000 0 9 1001 0 1001 1 O propósito do bit de paridade é adicionar um bit extra ao código, de modo a fazer com que o número total de bits “1” seja par ou ímpar, conforme o tipo de paridade desejada. Com isto, é possível detectar um erro simples do tipo descrito acima. Considerando o exemplo visto e supondo uma paridade par, o dispositivo A envia o dígito 5 que corresponde a 01010, sendo que o dispositivo B por sua vez, recebe o dado 01110.

Ao verificar a paridade do valor recebido, o dispositivo B, percebe a existência de 3 bits “1” no número recebido, o que, considerando a paridade par está incorreto. 2.1.5.2 - Código 2-entre-5 Outro código numérico utilizado para representar os dígitos decimais e que possui a capacidade de detectar a ocorrência de um erro simples é o código 2-entre-5, que é um código de 5 bits. O código 2-entre-5 é formado pelas 10 possíveis combinações de 5 bits, onde 2 dos 5 bits são iguais a “1” e 3 são iguais a “0”. A detecção de um erro é feita contando-se o número de bits iguais a “1” existentes na seqüência de bits do código. Sempre que este número for diferente de 2, existe um erro. A tabela abaixo mostra a configuração do código 2-entre-5: Decimal 2-entre-5 Decimal 2-entre-5 0 00011 5 01100 1 00101 6 10001 2 00110 7 10010 3 01001 8 10100 4 01010 9 11000

A B 01010 01110

Page 18: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 18

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

2.1.5.3 - Distância de um código binário A distância entre duas palavras(valores) quaisquer, em um código binário, representa o número de bits que precisam ser alterados para tornar um valor válido em outro valor válido. Por exemplo, a distância entre as palavras 1010 e 0100 é três, visto que os dois valores possuem 3 bits diferentes. A distância mínima de um código binário, representa o menor número de bits diferentes entre dois valores quaisquer. Assim, nos códigos BCD e 3-em-excesso, a distância mínima é um, enquanto que no código 2-entre-5, a distância mínima é dois. Para que um código possua a capacidade de detectar um erro simples, é necessário que a distância mínima seja maior ou igual a dois. 2.2 – CÓDIGOS NÃO NUMÉRICOS Os códigos não numéricos são utilizados para representar dados que não são numéricos. Por exemplo, um computador tem a capacidade de armazenar e trabalhar tanto com dados numéricos como com dados alfanuméricos. Para que isto seja possível, é necessária a utilização de um código capaz de representar os dados alfanuméricos. 2.2.1 - Código ASCII O código ASCII (American Standard Code for Information Interchange) é um código não numérico, amplamente utilizado na indústria de computadores. É um código utilizado para representar um conjunto de caracteres alfanuméricos, através de combinações pré-definidas de bits.

TABELA ASCII (7 bits) Dec Hex Caracter Dec Hex Caracter Dec Hex Caracter Dec Hex Caracter 0 00 NUL 32 20 SP 64 40 @ 96 60 ` 1 01 SOH 33 21 ! 65 41 A 97 61 a 2 02 STX 34 22 “ 66 42 B 98 62 b 3 03 ETX 35 23 # 67 43 C 99 63 c 4 04 EOT 36 24 $ 68 44 D 100 64 d 5 05 ENQ 37 25 % 69 45 E 101 65 e 6 06 ACK 38 26 & 70 46 F 102 66 f 7 07 BEL 39 27 ' 71 47 G 103 67 g 8 08 BS 40 28 ( 72 48 H 104 68 h 9 09 HT 41 29 ) 73 49 I 105 69 i 10 0A LF 42 2A * 74 4A J 106 6A j 11 0B VT 43 2B + 75 4B K 107 6B k 12 0C FF 44 2C , 76 4C L 108 6C l 13 0D CR 45 2D - 77 4D M 109 6D m 14 0E SO 46 2E . 78 4E N 110 6E n 15 0F LF 47 2F / 79 4F O 111 6F o 16 10 DLE 48 30 0 80 50 P 112 70 p 17 11 DC1 49 31 1 81 51 Q 113 71 q 18 12 DC2 50 32 2 82 52 R 114 72 r 19 13 DC3 51 33 3 83 53 S 115 73 s 20 14 DC4 52 34 4 84 54 T 116 74 t 21 15 NAK 53 35 5 85 55 U 117 75 u 22 16 SYN 54 36 6 86 56 V 118 76 v 23 17 ETB 55 37 7 87 57 W 119 77 w 24 18 CAN 56 38 8 88 58 X 120 78 x

Page 19: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 19

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

25 19 EM 57 39 9 89 59 Y 121 79 y 26 1A SUB 58 3A : 90 5A Z 122 7A z 27 1B ESC 59 3B ; 91 5B [ 123 7B { 28 1C FS 60 3C < 92 5C \ 124 7C | 29 1D GS 61 3D = 93 5D ] 125 7D } 30 1E RS 62 3E > 94 5E ̂ 126 7E ~ 31 1F US 63 3F ? 95 5F _ 127 7F DEL

TABELA ASCII EXTENDIDA

Page 20: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 20

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

2.2.2 - Código EBCDIC O código EBCDIC – Extended Binary Coded Decimal Interchange Code, foi desenvolvido pela IBM no início da década de 60. É um código de 8 bits, onde cada caracter é representado através uma combinação específica destes 8 bits.

Código EBCDIC

Page 21: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 21

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

3 - ÁLGEBRA LÓGICA OU ÁLGEBRA BOOLEANA 3.1 – CONCEITO DE FUNÇÃO LÓGICA 3.1.1 - Variáveis e funções Estamos normalmente familiarizados com o conceito de variável e de função, sob o ponto de vista da álgebra tradicional. Dentro deste conceito, o campo de existência de uma variável, isto é, o intervalo de variação dos valores que podem ser assumidos por uma variável x qualquer, pode ser especificado de diversas maneiras, dependendo do contexto em que a função está definida. Por exemplo: x é um número real, com -∞ < x < +∞

x é um número real, com -1 ≤ x ≤ 1 x é um inteiro, com –20 < x < 50 x é um inteiro com 0 ≤ x ≤ 5

Uma função pode ser definida como uma regra, de acordo com a qual podemos determinar o valor de uma variável chamada variável dependente, a partir de uma ou mais variáveis chamadas variáveis independentes. Denominando y a variável dependente e x a variável independente, a relação de dependência entre as variáveis pode ser escrita como:

y = f(x). Supondo que desejamos determinar o valor da variável y a partir da variável x, de acordo com a seguinte regra:

“a variável x deve ser multiplicada por ela mesma, este produto deve ser multiplicado por 2 e o resultado destas duas operações deve ser somado à constante -7.”

A relação entre as variáveis y e x pode ser representada algebricamente através da equação: y = 2x2 - 7 No exemplo acima, considerando que o domínio da variável x seja -∞ < x < +∞, determinamos o valor de y através da aplicação de operações algébricas de exponenciação, multiplicação e soma. No entanto, se considerarmos que o número de valores possíveis para a variável x seja pequeno, é possível especificar uma função através da elaboração de uma tabela na qual colocamos todos os possíveis valores para a variável x e os respectivos valores para a variável y. Supondo que na função vista acima, (y = 2x2 - 7), o domínio da variável x seja -2 ≤ x ≤ +2, com x inteiro. Nesta situação, considerando que existem apenas cinco valores diferentes para as variáveis x e y, é possível representar o relacionamento entre as variáveis através de uma tabela, como está mostrado abaixo:

x y = f(x) -2 1 -1 -5 0 -7 1 -5 2 1

Page 22: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 22

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Desde que seja possível representar uma função através de uma tabela, não é necessário que as variáveis envolvidas sejam numéricas, uma vez que não há necessidade de efetuar nenhuma operação algébrica sobre as mesmas. Esta constatação sugere que é possível definir uma função na qual as variáveis envolvidas não sejam numéricas. Seja por exemplo, uma variável independente x que pode assumir como valores, as cores de um sinal de trânsito em um cruzamento de ruas, e uma outra variável dependente y que representa a possível atitude de um motorista ao se aproximar do cruzamento (supondo um motorista consciente que obedeça as leis de trânsito). O relacionamento entre as variáveis x e y está mostrado na tabela abaixo:

x y = f(x) Verde Prosseguir

Amarelo Atenção Vermelho Parar

Como pode-se observar, os valores assumidos pela variável independente x são expressos através de condições como “o sinal está verde” ou “o sinal está amarelo” ou “o sinal está vermelho”. Da mesma forma, os valores assumidos pela variável dependente y também representam condições, como “o motorista deve prosseguir” ou “o motorista deve prestar atenção” ou “o motorista deve parar”. 3.1.2 - Conceito de Variável Lógica Uma variável lógica possui as seguintes características:

• Uma variável lógica pode assumir somente dois valores possíveis; • Os valores possíveis de serem assumidos pela variável, representam condições

e não valores numéricos; • Os dois valores possíveis de serem assumidos pela variável são mutuamente

exclusivos. Para efeito de análise, vamos assumir que o sinal de trânsito possui somente as luzes verde e vermelha e excluir a possibilidade de ambas as luzes estarem acesas ou apagadas no intervalo da mudança de uma para outra. Neste caso, a variável x que representa o estado do sinal assume as características de uma variável lógica, visto que:

a) Existem somente dois valores possíveis: “o sinal está verde” ou “o sinal está vermelho”;

b) Os valores representam condições; c) Os valores são mutuamente exclusivos, pois se o sinal não está verde só pode estar

vermelho e vice versa.

O valor da variável x, que representa o estado do sinal pode ser representado através das expressões: x = verde, significando que “o sinal está verde”, ou x = vermelho, significando que “o sinal está vermelho”.

Page 23: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 23

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Considerando a condição de mútua exclusividade, pode-se escrever:

x = vermelho = não verde = verde

x = verde = não vermelho = vermelho O “não” ou a barra sobre a variável, representa uma negação. A função que relaciona a atitude do motorista (y) com o estado do sinal de trânsito (x), é uma função lógica, pois é uma regra que estabelece o relacionamento entre variáveis lógicas.

x y = f(x) Verde Prosseguir

Vermelho Parar 3.1.3 – Valores para uma variável lógica Na álgebra tradicional, as variáveis de uma equação algébrica podem representar uma grandeza física qualquer, como temperatura, pressão, distância, velocidade, tempo, corrente, tensão, potência, campo elétrico, campo magnético, etc. Do ponto de vista puramente matemático, o que interessa é o relacionamento entre as variáveis e não o que elas representam. Assim, na equação y = 2x2 - 7 para x = 3, calculamos o valor de y = 11, independentemente do que x e y representam. Da mesma maneira, podemos associar dois nomes quaisquer aos dois valores possíveis de serem assumidos por uma variável lógica, não importando o que esta variável representa. Quaisquer nomes podem ser utilizados, porém é interessante que usemos nomes que ressaltem a condição de mútua exclusividade. Assim, podem ser usados nomes, tais como:

• Frio e Quente • Entrada e Saída • Alto e Baixo • Ligado e Desligado

• Verdadeiro e Falso • Verde e Vermelho • Aberto e Fechado

Num primeiro momento utilizaremos a notação Verdadeiro (V) e Falso (F) para representar os dois valores possíveis para as variáveis lógicas. Além disso, ao invés de representar as variáveis lógicas pelas letras x, y, z, w, ..., será utilizada a nomenclatura A, B, C, D, ..., com objetivo de não causar nenhuma confusão com as funções algébricas tradicionais. Assim, uma função lógica será representada por: Z = f(A, B, C, .....) Voltando ao exemplo do sinal de trânsito, pode-se estabelecer o seguinte critério: A ⇒ variável independente, que representa o estado do sinal de trânsito; Z ⇒ variável dependente, que representa a atitude do motorista.

Page 24: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 24

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Com a seguinte nomenclatura: A = F, o sinal está vermelho; A = V, o sinal está verde; Z = F, o motorista deve parar; Z = V, o motorista deve prosseguir. Com estes critérios definidos, o relacionamento entre as variáveis lógicas Z e A pode ser representado pela tabela abaixo:

A Z = f(A) F F V V

Esta tabela, na qual são representadas todas as combinações possíveis para as variáveis lógicas, é denominada tabela verdade. 3.2 - FUNÇÕES LÓGICAS DE UMA VARIÁVEL Considerando que existem somente dois valores possíveis para uma variável lógica, existem quatro resultados possíveis para uma função lógica de uma variável, o que nos dá um número de quatro possíveis funções.

A Z = f(A) F V

As quatros funções possíveis são:

A Z = f(A) F F V F

Representação: F)A(fZ ==

A Z = f(A) F V V V

Representação: V)A(fZ ==

A Z = f(A) F F V V

Representação: A)A(fZ ==

A Z = f(A) F V V F

Representação: A)A(fZ ==

A função AZ = é denominada Negação ou Inversão ou Complementação.

Page 25: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 25

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

3.3 - FUNÇÕES LÓGICAS DE DUAS VARIÁVEIS 3.3.1 - Funções Básicas: E, OU e NÃO Seja uma função Z = f(A,B) com duas variáveis lógicas independentes A e B. Como existem quatro combinações possíveis para as variáveis lógicas A e B, significa que a tabela verdade para esta função possui 4 linhas, como pode ser observado a seguir.

A B Z = f(A,B) F F F V V F V V

Existem portanto, 16 possíveis combinações para a variável dependente Z e, consequentemente, 16 possíveis funções para estas duas variáveis. Algumas destas 16 possíveis funções têm interesse especial, conforme será mostrado a seguir. 3.3.1.1 - Função E (AND) A função Z = f(A,B) definida pela tabela verdade mostrada abaixo é denominada operação lógica E (ou função lógica E), ou AND em inglês:

A B Z = f(A,B) F F F F V F V F F V V V

Nesta função, a variável dependente Z é igual a V somente quando A e B forem iguais a V, daí o nome, operação E. A representação da função E é: Z = A E B, ou Z = A AND B, ou Z = A⋅B, ou simplesmente Z = AB Propriedades da operação E:

a operação lógica E possui as mesmas propriedades da multiplicação algébrica, que são as propriedades comutativa e associativa.

Propriedade comutativa: Z = AB = BA Propriedade associativa: Z = (AB)C = A(BC)

Page 26: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 26

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Exercício: Provar, através da tabela verdade, a validade da propriedade associativa da operação lógica E.

A B C (AB) (AB)C (BC) A(BC) F F F F F F F F F V F F F F F V F F F F F F V V F F V F V F F F F F F V F V F F F F V V F V F F F V V V V V V V

Na tabela verdade acima, pode-se verificar que as colunas correspondentes às operações (AB)C e A(BC) são idênticas, o que prova a validade da propriedade associativa da operação E. 3.3.1.2 - Função OU (OR) A função Z = f(A,B) definida pela tabela verdade mostrada abaixo é denominada operação lógica OU (ou função lógica OU), ou OR em inglês:

A B Z = f(A,B) F F F F V V V F V V V V

Na função lógica OU, a variável dependente Z é igual a V se as variáveis A ou B, ou ambas, forem iguais a V. A operação OU é representada por: Z = A OU B, ou Z = A OR B, ou Z = A + B Propriedades: Da mesma forma que a operação lógica E, a operação OU possui as

propriedades comutativa e associativa. Comutativa: Z = A + B = B + A Associativa: Z = (A + B) + C = A + (B + C) Propriedade Distributiva: As operações lógicas E e OU em conjunto, possuem também a

propriedade distributiva: Z = A(B + C) = AB + AC

Page 27: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 27

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

As funções lógicas E, OU e NÃO (AND, OR e NOT) são chamadas funções básicas ou funções fundamentais, pois a partir de combinações destas três funções, é possível representar qualquer outra função lógica, independente da complexidade. 3.4 - REPRESENTAÇÃO ATRAVÉS DA NOTAÇÃO 0-1 Até este ponto foi propositalmente, utilizada a notação Verdadeiro(V) e Falso(F) para representar os dois possíveis valores para uma variável lógica. A escolha desta notação foi intencional, com objetivo de caracterizar o fato de não estarmos tratando com valores numéricos e sim com valores lógicos, que representam condições. A partir deste ponto será utilizada a notação “0-1” para representar os dois valores possíveis para as variáveis lógicas. Devemos estar cientes no entanto que, embora os valores lógicos sejam representados pelos dígitos 0 e 1, estamos tratando de condições e não de valores numéricos. Podemos estabelecer a seguinte correspondência entre os valores: F <=> 0 V <=> 1 Com a utilização desta notação, as tabelas verdades correspondentes às funções lógicas E e OU ficam assim representadas:

A B Z = AB 0 0 0 0 1 0 1 0 0 1 1 1

A B Z = A + B 0 0 0 0 1 1 1 0 1 1 1 1

Considerando a analogia com as operações algébricas de multiplicação e soma, temos as seguintes situações: 0.0 = 0 0 + 0 =0 0.1 = 0 0 + 1 =1 1.0 = 0 1 + 0 =1 1.1 = 1 1 + 1 =1 A expressão “1 + 1 = 1” é importante no sentido de lembrar que não estamos tratando com valores numéricos e sim com condições. 3.5 – OUTRAS FUNÇÕES DE DUAS VARIÁVEIS Como foi visto, para duas variáveis lógicas existem 16 funções distintas, dentre as quais estão as funções básicas E e OU já analisadas. Na tabela abaixo, estão representadas todas as 16 possíveis funções. Observe que todas as funções estão representadas através de uma combinação das funções básicas E, OU e NÃO.

Page 28: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 28

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

A B

0 0 1 1 0 1 0 1 Função

f0 0 0 0 0 f = 0

f1 0 0 0 1 ABf =

f2 0 0 1 0 BAf =

f3 0 0 1 1 Af =

f4 0 1 0 0 BAf =

f5 0 1 0 1 Bf =

f6 0 1 1 0 BABAf +=

f7 0 1 1 1 BAf +=

f8 1 0 0 0 BAf +=

f9 1 0 0 1 ABBAf +⋅=

f10 1 0 1 0 Bf =

f11 1 0 1 1 BAf +=

f12 1 1 0 0 Af =

f13 1 1 0 1 BAf +=

f14 1 1 1 0 ABf =

f15 1 1 1 1 f = 1 Além das funções E e OU vistas acima, existem outras funções neste conjunto, que têm interesse especial, conforme será visto a seguir. 3.5.1 - Função Ou-Exclusivo

A função BABAf +=6 , cuja tabela verdade está mostrada abaixo, é denominada OU-Exclusivo

(em inglês, Exclusive-OR), também conhecida como XOR.

A B Z = f(AB) 0 0 0 0 1 1 1 0 1 1 1 0

O resultado da função é “0” quando as duas variáveis forem iguais e “1” quando as duas variáveis forem diferentes. A função Ou-Exclusivo é representada pelo símbolo ⊕:

BABABAZ +=⊕= 3.5.2 - Função Equivalência

A função ABBAf +⋅=9 , cuja tabela verdade está mostrada abaixo, é a negação da função OU-

Exclusivo, também denominada função Equivalência(ou Coincidência). Essa função também é denominada XNOR (Exclusive Not OR).

Page 29: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 29

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

A B Z = f(AB) 0 0 1 0 1 0 1 0 0 1 1 1

O resultado da função é “1” quando as duas variáveis forem iguais e “0” quando as duas variáveis forem diferentes. A função Equivalência é representada pela negação da expressão Ou-exclusivo.

ABBABAZ +⋅=⊕= 3.5.3 - Função NAND

A função ABf =14 cuja tabela é mostrada a seguir, é a negação da função E, chamada função NÃO E (em inglês, NOT AND), abreviada como NAND.

A B Z = f(AB) 0 0 1 0 1 1 1 0 1 1 1 0

3.5.4 - Função NOR

A função BAf +=8 , mostrada na tabela abaixo, é a negação da função OU, chamada NÃO OU (em

inglês, NOT OR), abreviada como NOR.

A B Z = f(AB) 0 0 1 0 1 0 1 0 0 1 1 0

3.6 - PORTAS LÓGICAS 3.6.1 – Conceito de Porta Lógica Uma “porta lógica” é um dispositivo físico que realiza uma operação lógica. Considerando as três operações lógicas fundamentais E, OU e NÃO, existe uma porta lógica que realiza fisicamente cada uma destas operações.

Porta lógica NÃO: é o dispositivo que realiza a operação lógica NÃO; Porta lógica OU: é o dispositivo que realiza a operação lógica OU; Porta lógica E: é o dispositivo que realiza a operação lógica E.

A forma como uma porta é implementada, depende da tecnologia utilizada na sua fabricação. Na figura abaixo está mostrado o circuito correspondente à uma porta inversora(NÃO) CMOS:

Page 30: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 30

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Porta inversora CMOS

Quando uma tensão alta (+VDD) é aplicada na entrada, o transistor canal p está em corte e o transistor canal n está conduzindo. Nesta situação, a saída está ligada ao terra através do transistor canal n. A tensão de saída neste caso é 0V.

Quando é aplicada uma tensão baixa (0V) na entrada, o transistor canal p está conduzindo e o transistor canal n está em corte, ficando a saída ligada à alimentação através do transistor canal p. A tensão de saída nesta situação é +VDD. Na tabela verdade abaixo, estão representadas estas duas condições:

Entrada Saída 0 +VDD

+VDD 0 Como pode-se observar, esta tabela verdade corresponde à uma operação NÃO, onde 0V corresponde ao valor lógico 0 e +VDD corresponde ao valor lógico 1. Consequentemente, o circuito mostrado acima realiza uma operação lógica NÃO, sendo portanto uma porta lógica NÃO. O circuito CMOS que implementa a porta lógica NAND está mostrado na figura abaixo: Quando A = 0V e B = 0V, os transistores p1 e p2 estão conduzindo, n1 e n2 estão em corte. A saída Z está ligada à alimentação através de p1 e p2 , sendo portanto +VDD. Quando A = 0V e B = +VDD, o transistor p1 está conduzindo, p2 está em corte, n1 está em corte e n2 conduzindo. A saída está ligada à alimentação através de p1, sendo portanto +VDD. Quando A = +VDD e B = 0V, o transistor p1 está em corte, p2 está conduzido, n1 está conduzindo e n2 em corte. A saída está ligada à alimentação através de p2, sendo portanto +VDD. Quando A = +VDD e B = +VDD, os transistores p1 e p2 estão em corte, n1 e n2 estão conduzindo. A saída está ligada à terra através de n1 e n2, sendo portanto 0V.

+VDD

p

n

Entrada Saída

p

n

0V

p

n

0V +VDD

+VDD +VDD

+VDD

Page 31: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 31

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Porta Lógica NAND

A tabela verdade do circuito está mostrada abaixo e corresponde à tabela verdade da operação lógica NAND.

A B Z 0V 0V +VDD

0V +VDD +VDD +VDD 0V +VDD +VDD +VDD 0

A B AB 0 0 1 0 1 1 1 0 1 1 1 0

O circuito CMOS que implementa a porta lógica NOR está mostrado na figura abaixo:

Porta Lógica NOR

Quando A = 0V e B = 0V, os transistores p1 e p2 estão conduzindo, n1 e n2 estão cortados. A saída está ligada à alimentação através de p1 e p2 , sendo portanto +VDD. Quando A = 0V e B = +VDD, o transistor p1 está conduzindo, p2 está cortado, n1 está cortado e n2 conduzindo. A saída está ligada à terra através de n2, sendo portanto 0V. Quando A = +VDD e B = 0V, o transistor p1 está cortado, p2 está conduzido, n1 está conduzindo e n2 cortado. A saída está ligada à terra através de n2, sendo portanto 0V. Quando A = +VDD e B = +VDD, os transistores p1 e p2 estão cortados, n1 e n2 estão conduzindo. A saída está ligada à terra através de n1 e n2, sendo portanto 0V.

p1

p2

n2 n1

A

B Z

+VDD

p1 p2

n1

n2

A

B

Z

+VDD

Page 32: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 32

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

3.6.2 - Simbologia das portas lógicas Na representação de um circuito digital cada porta lógica possui uma simbologia. Existe a simbologia padrão ANSI/IEEE bem como a simbologia usual utilizada no mercado. 3.6.2.1 - Porta lógica NÃO: Simbologia: Símbolo usual Padrão ANSI/IEEE

Na porta NÃO, também chamada porta inversora, o sinal de saída representa a negação (ou inversão ou complementação) do sinal de entrada. No diagrama de tempo abaixo, é mostrado um exemplo de sinais de entrada e saída de uma porta lógica NÃO.

3.6.2.2 - Porta lógica E:

Simbologia:

Símbolo usual Padrão ANSI/IEEE

3.6.2.3 - Porta lógica OU: Simbologia: Símbolo usual Padrão ANSI/IEEE

1

A

B

AB

A

B

AB

≥1

A

A

A A

&

Page 33: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 33

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

3.6.2.4 - Porta Lógica Ou-Exclusivo

Simbologia: Símbolo usual Padrão ANSI/IEEE

3.6.2.5 - Porta Lógica NAND

Simbologia: Símbolo usual Padrão ANSI/IEEE

3.6.2.6 - Porta Lógica NOR

Simbologia: Padrão usual Padrão ANSI/IEEE

A

B

A

B

AB

AB

≥1

&

=1

A

B

A+B

A

B

AB

A

B

A

B

BA ⊕

BA ⊕

Page 34: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 34

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

3.7 - FUNÇÕES LÓGICAS E CIRCUITOS LÓGICOS Utilizando a simbologia das portas lógicas pode-se, a partir de uma função lógica qualquer, representar o circuito que realiza esta função. Da mesma forma, a partir de um circuito lógico, é possível determinar qual é a função lógica realizada pelo circuito. Exemplos:

Determinar qual a função lógica realizada pelos circuitos abaixo:

f(A,B,C)A

B

C

Função lógica: CBA)C,B,A(f +=

f(A,B,C)

A

B

C

Função lógica: CBB)CA()C,B,A(f ⋅++=

Uma representação alternativa para o circuito acima é:

f(A,B,C)

A

B

C

Função lógica: CBB)CA()C,B,A(f ⋅++=

O pequeno “círculo” colocado na entrada ou na saída de uma porta lógica, indica uma operação lógica NÃO na entrada ou na saída da porta.

A

B

A

B

A+B

A+B

Page 35: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 35

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Representar o circuito que realiza a função: BAC)BA()C,B,A(f ++=

f(A,B,C)

A

B

C

Exercícios:

a) Determinar a função lógica realizada pelos circuitos mostrados abaixo.

A

B

C

D

f(A,B,C,D)

)DCB(A)D,C,B,A(f ++=

A

B

C

Df(A,B,C,D)

)CB)(DA(CBA)DCCB(A)D,C,B,A(f ++⋅+++⋅= b) Desenhar o circuito que realiza cada uma das funções abaixo:

b.1) DCBA)D,C,B,A(f ++=

A

B

C

D

f(A,B,C,D)

Page 36: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 36

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

b.2) BDCA)DCB(ADCAB)DCB(A)D,C,B,A(f +⋅+++⋅+⋅+++=

f(A,B,C,D)

A

B

C

D

3.8 - FUNDAMENTOS DA ÁLGEBRA LÓGICA Neste tópico são apresentados alguns princípios, propriedades, postulados e teoremas envolvendo as operações lógicas E, OU e NÃO, os quais serão aplicados no processo de simplificação das expressões lógicas. 3.8.1 - Princípio da Dualidade:

O princípio da dualidade diz que, “se uma expressão lógica é válida, a sua expressão dual também é válida”. A expressão dual é obtida trocando operações “E” por “OU”, operações “OU” por “E”, os valores lógicos “0” por “1” e “1” por “0”.

É necessário um certo cuidado ao aplicar o princípio da dualidade, pois o mesmo diz que as duas expressões lógicas são “válidas” porém, não diz que as duas expressões são “equivalentes”. 3.8.2 - Propriedades: Como já foi visto anteriormente, as operações lógicas “E” e “OU” possuem as propriedades comutativa, associativa e distributiva. Estas propriedades estão mostradas abaixo, na forma de pares duais: Comutativa: x + y = y + x ⇒ xy = yx

Page 37: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 37

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Associativa: x + (y + z) = (x + y) + z ⇒ x(yz) = (xy)z Distributiva : x(y + z) = xy + xz ⇒ x + yz = (x + y)(x + z) 3.8.3 - Postulados: xx =+ 0 1=+ xx Aplicando o princípio da dualidade, temos as respectivas expressões duais dos dois postulados: xx =+ 0 ⇒ xx =⋅1

1=+ xx ⇒ 0=⋅ xx 3.8.4 - Teoremas Alguns teoremas estão mostrados abaixo, também na forma de pares duais:

a) Teorema da involução: xx = b) Teorema da idempotência: xxx =+ ⇒ xxx =⋅

Verificação:

xxxxx

)xx()xx()xx(xx

=+=⋅+=

+⋅+=⋅+=+

0

1

c) x + 1 = 1 ⇒ x.0 = 0

Verificação:

11

1

11111

=+=⋅+=

+⋅+=

+⋅=⋅+=+

xxxx

)x()xx(

)x()x(x

d) x + xy = x ⇒ x(x + y) = x (absorção)

Verificação:

xx)y(x

)y(xyxxyxx

=⋅=+⋅=+⋅=⋅+⋅=⋅+

11

11

e) yxyxx +=⋅+ ⇒ yxyxx ⋅=+⋅ )(

Verificação:

yx

)yx(

)yx()xx(yxx

+=+⋅=

+⋅+=⋅+

1

Page 38: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 38

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

f) xyxyx =⋅+⋅ ⇒ xyxyx =+⋅+ )()(

Verificação: xx)yy(xyxyx =⋅=+⋅=⋅+⋅ 1

g) zxyxzyzxyx ⋅+⋅=⋅+⋅+⋅ ⇒ )()()()()( zxyxzyzxyx +⋅+=+⋅+⋅+

Verificação:

zxyx

zyzxzyyx

zyxzyxzxyx

zyxxzxyx

zyzxyxzyzxyx

⋅+⋅=

⋅+⋅+⋅+⋅=

⋅⋅+⋅⋅+⋅+⋅=

⋅⋅++⋅+⋅=

⋅⋅+⋅+⋅=⋅+⋅+⋅

)()(

)(

1

h) )()( yxzxzxyx +⋅+=⋅+⋅ ⇒ yxzxzxyx ⋅+⋅=+⋅+ )()(

Verificação:

zxyxzyzxyx

zyzxyx

zyzxyxxx)yx()zx(

⋅+⋅=⋅+⋅+⋅=

⋅+⋅+⋅+=

⋅+⋅+⋅+⋅=+⋅+

0

3.8.5 – Teoremas de DeMorgan

zyxzyx ⋅⋅=++ ⇒ zyxzyx ++=⋅⋅ 3.8.6 - Resumo: x + y = y + x ⇒ x.y = y.x x + (y + z) = (x + y) + z ⇒ x.(y.z) = (x.y).z x.(y + z) = x.y + x.z ⇒ x + (y.z) = (x + y).(x + z) xx =+ 0 ⇒ xx =⋅1 11=+x ⇒ 00 =⋅x xxx =+ ⇒ xxx =⋅

1=+ xx ⇒ 0=⋅ xx xxyx =+ ⇒ xyxx =+ )(

xyxxy =+ ⇒ xyxyx =++ ))((

yxyxx +=+ ⇒ xyyxx =+ )(

))(( zxyxyzx ++=+ ⇒ xzxyzyx +=+ )(

zxxyyzzxxy +=++ ⇒ ))(())()(( zxyxzyzxyx ++=+++

))(( yxzxzxxy ++=+ ⇒ yxxzzxyx +=++ ))((

zyxzyx ⋅⋅=++ ⇒ zyxzyx ++=⋅⋅

Page 39: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 39

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Page 40: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 40

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

3.9 - DIAGRAMAS DE VENN O estudo dos princípios básicos da álgebra lógica pode ser feito utilizando conceitos da teoria dos conjuntos. Neste aspecto os Diagramas de Venn representam uma ferramenta muito útil para se entender os princípios da álgebra booleana. Na figura abaixo, é mostrada a representação do diagrama de Venn para uma variável lógica (x). No diagrama, o círculo representa o conjunto correspondente à variável x, enquanto o retângulo vazado

representa o conjunto correspondente à negação da variável x ou seja x .

No contexto do Diagrama de Venn, o valor lógico “0” representa um conjunto vazio, enquanto o valor lógico “1” representa todo o universo de interesse. O diagrama de Venn para duas variáveis está mostrado na figura abaixo:

A operação lógica “OU” (x+y) corresponde, no diagrama de Venn, à união dos conjuntos x e y, enquanto a operação lógica “E” corresponde à intersecção dos conjuntos, conforme está mostrado na figura abaixo.

x + y ⇒ x ∪ y x.y ⇒ x ∩ y

x y

x.y

x y

x + y

x y

x

x

Page 41: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 41

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

3.9.1 - UTILIZAÇÃO DO DIAGRAMA DE VENN Através do Diagrama de Venn, é possível a verificação dos princípios vistos acima. A seguir estão apresentados alguns exemplos.

a) Verificar o teorema: yxyxx +=+

x yx

yxyxx +=+ Exercício: Verificar o teorema de DeMorgan. (negação da soma e negação do produto)

b) Verificar o teorema zxxyyzzxxy +=++

xy zx yz

yzzxxy ++

xy zx

zxxy +

Exercício: Verificar, o teorema )zx)(yx()zy)(zx)(yx( ++=+++

Page 42: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 42

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Exercícios: Simplificar as expressões lógicas abaixo:

a) ABCCB)CB(A)C,B,A(f +++=

CBA)B(CBACBCBA

CBC)AA(BAACCBCABA

C)AB(CABAC)ABB(CABA

+=++=++=

+++=+++=

+++=+++=

1

b) BABACAC)C,B,A(f +++⋅=

BCA

B)AA(CCCABABAC)CA(

+=

+++=+⋅++=

c) )CB)(CA)(BA()C,B,A(f +++=

c.1) )CBCACAB)(BA()C,B,A(f ++++=

CABC)BA(

C)BA(CBCA

CBBABCAABA

)CAB)(BA(

+=++=

+=+=

+++=

++=

c.2) CBCABA)C,B,A(f +++++=

CABCABAB

C)BA(AB

CBCAAB

+=⋅+=

++=

⋅+⋅+=

d) DBDCCBBA)D,C,B,A(f ++++=

CDBCDBBA

CD)CD(BBA

CD)DC(BBA

CD)DC(BBA

+=++=

++=

+++=

+++=

e) )DB)(BA)(BA()CA)(BA()C,B,A(f ++++++=

ACDAB)CDB(A)CDBB(A

CDBAABDCBABA

)BDCA)(BA(

)DBBDAABCA)(BA(

)]DB)(BA(CA)[BA(

+=+=+=

+=+++++=

++++=

++++++=

+++++=

Page 43: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 43

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

f) CDBADCBADCBADCBADCBA)D,C,B,A(f ++⋅+⋅+⋅⋅⋅=

f.1) )DD(CBADCBA)CC(DBA)D,C,B,A(f ++⋅++⋅⋅=

CBADCADBA

CBA)CB(DA

CBA)CBB(DA

CBADCBADBA

+⋅⋅+⋅⋅=

++⋅=

++⋅=

+⋅+⋅⋅=

f.1) )DD(CBA)BB(DCADCBA)D,C,B,A(f +++⋅⋅+⋅=

CBADCBDCA

CB)AD(DCA

CB)ADA(DCA

CBADCADCBA

++⋅⋅=

++⋅⋅=

+⋅+⋅⋅=

+⋅⋅+⋅=

A função possui duas expressões mínimas!

Exercícios: Simplificar as funções:

a) DCBACBABAADCBAf )()(),,,( ++++++=

b) ))(()()(),,,( CBDACABCDBCADCBAf ++⋅+++=

c) )()()(),,,( DCADCBADCABDCBADCBAf ++++⋅++++=

d) )CAB()CACD)(BA()CDB(A)D,C,B,A(f +⋅++++=

e) DCBACDBAABCDDCBA

DCBADCABDCBADCBA)D,C,B,A(f

+++

++++=

f) ABBABDCACADBADBCDBADCBAf +⋅+++++++= )()())((),,,(

g) ABCDDABCDCAB

DCABDCBADCBABCDACDBA)D,C,B,A(f

++

+⋅+⋅+⋅⋅++⋅=

Page 44: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 44

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

3.10 - FORMAS DE REPRESENTAÇÃO DE UMA FUNÇÃO LÓGICA Uma função lógica qualquer pode ser representada através de duas formas:

• Soma de produtos • Produto de somas

Seja por exemplo, a função lógica )(),,( CBACBACBAf +⋅⋅⋅= . É possível expressar a função como uma soma de produtos, utilizando os princípios vistos anteriormente:

ACABCBA

CBCACCBBABCBAAA

)CBA)(CBA(

)CB(ACBA)C,B,A(f

++⋅⋅=

⋅++⋅++⋅⋅+=

⋅+++=

+⋅⋅⋅=

Como pode-se observar, a função f(A,B,C) foi representada como uma soma(operação OU) de parcelas, onde cada uma das parcelas é um produto(operação E) de variáveis individuais (denominadas literais), que podem ser negadas ou não. Essa mesma função pode ser representada como um produto de somas.

))((

)(),,(

CBACBA

CBACBACBAf

⋅+++=

+⋅⋅⋅=

Aplicando o teorema ))(( zxyxyzx ++=+ temos:

))()((),,( CABACBACBAf ++++= Neste caso, a função foi expressa como um produto(operação E) de termos, onde cada termo é representado por uma soma(Operação OU) de variáveis individuais, negadas ou não.

Assim, a mesma função ( )(),,( CBACBACBAf +⋅⋅⋅= ) foi representada de duas formas distintas: como uma soma de produtos e como um produto de somas. Este procedimento pode ser aplicado para qualquer função lógica. Exemplo: Expressar a função abaixo na forma de soma de produtos e produto de somas.

CABDCA)D,C,B,A(f ⋅⋅+⊕⋅= a) soma de produtos:

BCBACDADCA

CABCDDCADCBAf

+++⋅⋅=

+++⋅=

)()(),,,(

Page 45: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 45

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

b) Produto de somas:

)CA(B)CDDC(A)D,C,B,A(f +++⋅= Aplicando a propriedade distributiva: ))(( zxyxyzx ++=+

[ ] [ ]

)CA)(DCB)(DCB)(BA(

)CA)(BCD)(BDC)(BA(

)CA)(BCDD)(BCDC)(BA(

)CA)(BCDDC)(BA(

CA)CDDC(AB)CDDC(A)D,C,B,A(f

++++++=

++++++=

++++++=

+++⋅+=

+++⋅⋅++⋅=

Portanto:

)CA)(DCB)(DCB)(BA(

BCBACDADCA

CABDCA)D,C,B,A(f

++++++=

+++⋅⋅=

⋅⋅+⊕⋅=

É importante observar que, as duas expressões estão representando a mesma função, de formas diferentes.

Exercícios: Representar as funções abaixo como uma soma de produtos e como um produto de

somas.:

a) CBBDA)D,C,B,A(f ++=

b) )DB)(CA(CBA)D,C,B,A(f ++++⋅= 3.11 - ESTRUTURAS DE DOIS NÍVEIS DE PORTAS LÓGICAS Como foi visto anteriormente, qualquer função pode ser expressa tanto na forma de soma de produtos como na forma de produto de somas. Se representarmos o circuito correspondente a qualquer uma das duas formas, a estrutura de portas correspondentes é denominada “estrutura de dois níveis de portas”. Tomemos como exemplo, a função vista anteriormente:

ACABCBA

CBACBACBAf

++⋅⋅=

+⋅⋅⋅=

)(),,(

Cada um dos produtos componentes da função é gerado por uma porta E, sendo que as saídas das portas E são concentradas numa porta OU para produzir a saída final do circuito. O circuito correspondente é:

Page 46: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 46

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

A'B'C'

AB

AC

A'B'C'+AB+AC

Estrutura AND-OR

Observe que não foi considerada a negação das variáveis de entrada como parte da estrutura de dois níveis. Genericamente, se uma função for representada como uma soma de n produtos, a estrutura de dois níveis de portas lógicas que realiza esta função é composta de n portas E e uma porta OU. Esta estrutura é denominada estrutura AND-OR. O mesmo raciocínio é válido quando a função é representada na forma de um produto de somas. Neste caso a função pode ser realizada por uma estrutura de dois níveis composta por n portas OU seguidas de uma porta E. Tomando como exemplo a mesma função vista acima:

))()((

))((

)(),,(

CABACBA

CBACBA

CBACBACBAf

++++=

⋅+++=

+⋅⋅⋅=

O circuito que realiza esta função está representado abaixo, numa estrutura de dois níveis, onde podemos observar o conjunto de 3 portas OU seguida de uma porta E. Esta estrutura é denominada estrutura OR-AND.

A'BC

AB'

AC'

(A'+B+C)(A+B')(A+C')

Estrutura OR-AND

As estruturas vistas acima são chamadas estruturas de dois níveis de portas, porque qualquer sinal de entrada deve passar por somente duas portas lógicas para produzir o sinal de saída do circuito.Esta característica é importante, quando consideramos que o tempo de resposta de uma porta não é imediato, ou seja, quando ocorre alteração em um sinal de entrada, o efeito desta mudança não é observado imediatamente na saída do circuito. Na prática, existe um tempo decorrido entre a mudança no sinal de entrada e a respectiva alteração na saída do circuito. Este tempo é denominado “tempo de propagação” ou “tempo de retardo”.

Page 47: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 47

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Na documentação de especificação do fabricante (data sheet) das portas lógicas, estão indicados dois tempos de propagação:

tPHL: tempo necessário para que o sinal de saída de uma porta passe do nível alto para o nível baixo.

tPLH: tempo necessário para que o sinal de saída de uma porta passe do nível baixo para o nível alto.

Na figura abaixo está mostrado o tempo de propagação para uma porta NÃO.

Tempo de propagação

Nas estruturas de portas aqui mostradas, o tempo decorrido entre uma alteração no sinal de entrada e a respectiva alteração no sinal de saída do circuito, corresponde ao tempo de propagação de duas portas somente, daí o nome “estruturas de dois níveis”. Como vimos, qualquer função pode ser representada como uma soma de produtos ou um produto de somas, podendo assim ser realizada através de uma estrutura de dois níveis do tipo AND-OR ou do tipo OR-AND. Nada impede no entanto, que uma função seja realizada por circuitos que contenham mais de dois níveis de portas

Por exemplo, a função )(),,( CBACBACBAf +⋅⋅⋅= vista anteriormente, pode ser realizada de diversas maneiras:

a) )(),,( CBACBACBAf ++⋅⋅=

A'B'C'

A

BC

A'B'C'+A(B+C)

Entrada Saída

Entrada

Saída

50%

50%

tPHL tPLH

Page 48: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 48

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

b) )()(),,( CBACBACBAf +++=

A'

BC

A

A'(B+C)'+A(B+C)

c) ACABCBA)C,B,A(f ++⋅⋅= A'B'C'

AB

AC

A'B'C'+AB+AC

Em resumo, dada uma função lógica, a mesma pode ser realizada através de um circuito envolvendo um número qualquer de níveis de portas lógicas. O tempo de propagação total do sinal, depende do número de níveis de portas existentes no circuito. A estrutura de dois níveis é a que proporciona o menor tempo de propagação total para a realização da função. 3.11.1 – SUFICIÊNCIA DAS FUNÇÕES NAND e NOR Conforme foi visto, as funções E, OU e NÃO são denominadas funções básicas ou funções fundamentais, pois a partir delas pode-se representar qualquer função lógica. Será visto a seguir, que as funções NAND ou NOR são suficientes para representar qualquer função lógica.

Utilizando o teorema da involução xx = e o teorema de DeMorgan, podemos representar as funções E e OU da seguinte forma:

BAABAB +==

BABABA ⋅=+=+ Ou seja, a função E pode ser representada a partir das funções OU e NÃO, do mesmo modo que a função OU pode ser representada a partir de funções NÃO e E. Pode-se concluir que, qualquer uma das combinações acima, NÃO/E ou NÃO/OU, são suficientes para representar qualquer função lógica. Considerando que, x + x = x e que x⋅x = x, podemos escrever:

AAA ⋅=

AAA +=

Page 49: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 49

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Concluímos então que, a função NÃO pode ser realizada a partir da função NAND ou da função NOR, bastando para isso que as duas entradas sejam iguais. Continuando o raciocínio temos:

BBAABABABA ⋅=⋅=+=+

BBAABABABA +++=+=⋅=⋅ Assim, repetidas aplicações da função NAND realizam uma função OU, assim como repetidas aplicações da função NOR realizam uma função E. Como pode ser observado, a partir de uma combinação das funções NÃO e OU é possível representar qualquer função lógica e, a partir da função NAND é possível realizar as funções NÃO e OU, concluímos que, somente a função NAND é suficiente para representar qualquer função lógica. Da mesma forma, observa-se que, a partir de uma combinação das funções NÃO e E é possível representar qualquer função lógica e que, a partir da função NOR pode-se realizar as funções NÃO e E. Assim, conclui-se que a função NOR também é suficiente para representar qualquer função lógica. A suficiência das funções NAND e NOR é importante no projeto e fabricação de circuitos integrados, tendo em vista que é possível elaborar o projeto de um circuito utilizando um array de dispositivos idênticos (NAND ou NOR). 3.11.2 - ESTRUTURAS DE DOIS NÍVEIS UTILIZANDO UM SÓ TIPO DE PORTA Considerando que as funções NAND e NOR são auto-suficientes, ou seja, a partir de qualquer uma delas, podemos representar qualquer função lógica, veremos a seguir, como projetar um circuito utilizando uma estrutura de dois níveis com somente um tipo de porta, que pode ser a porta NAND ou a porta NOR.

Seja por exemplo, a função ACABCBACBAf ++⋅⋅=),,( já vista anteriormente:

considerando que, xx = , podemos negar duas vezes a expressão.

Assim, ⋅++⋅⋅= ACABCBACBAf ),,( Aplicando o teorema de DeMorgan:

ACABCBACBAf ⋅⋅⋅⋅=),,( Observamos que, na expressão acima, existem somente operações NAND envolvidas. Assim, a

função ACABCBACBAf ++⋅⋅=),,( pode ser realizada pelo circuito mostrado abaixo, onde são utilizadas somente portas NAND, em uma estrutura de dois níveis.

Page 50: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 50

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

A'B'C'

AB

AC

A'B'C'+AB+AC

Estrutura NAND

É importante observar, que esta estrutura é idêntica à estrutura de dois níveis AND-OR vista anteriormente, onde temos todas as portas E e OU substituídas por portas NAND. Portanto, para representar o circuito como uma estrutura de dois níveis utilizando somente portas NAND, deve-se adotar o seguinte procedimento a) Representar a função na forma de soma de produtos; b) Negar duas vezes a expressão; c) Aplicar o teorema de DeMorgan. Do mesmo modo, podemos observar que uma estrutura do tipo OR-AND pode nos conduzir a um circuito onde sejam utilizadas somente portas NOR. Como exemplo, vejamos a mesma função utilizada anteriormente:

)CA)(BA)(CBA()C,B,A(f ++++= Aplicando o mesmo procedimento que vimos para a soma de produtos, temos:

)CA()BA()CBA()CA)(BA)(CBA()C,B,A(f ++++++=++++= Como podemos observar, na expressão acima, temos somente operações NOR, sendo portanto a função realizada pelo circuito abaixo, onde temos somente portas NOR.

A'BCAB'

AC'

(A'+B+C)(A+B')(A+C')

Estrutura NOR

Portanto, se desejarmos representar o circuito como uma estrutura de dois níveis utilizando somente portas NOR, temos que adotar o seguinte procedimento a) Representar a função na forma de produto de somas; b) Negar duas vezes a expressão; c) Aplicar o teorema de DeMorgan.

Page 51: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 51

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Exercício: Considere as funções abaixo:

1) DB)CA()DC(B)DCB(A)D,C,B,A(f ⋅+++⋅+⋅=

2) )DC(BA)DC)(DAC)(CB()D,C,B,A(f +++++=

Representar os circuitos que realizam essas funções, como uma estrutura de dois níveis de portas:

a) Utilizando somente portas NAND; b) Utilizando somente portas NOR.

4 - FUNÇÕES LÓGICAS 4.1 - Formas canônicas(padrões) de representação de uma função lógica Como já foi visto, existem duas formas padrões para representar uma função lógica qualquer:

Soma de Produtos: CDDCBADBCBADCBAf +++=),,,(

Produto de Somas:

))()()((),,,( CADCBADCDCADCBAf +++++++= Com objetivo de desenvolver um procedimento para encontrar a expressão mínima de uma função lógica(minimizar a função), serão analisadas duas formas padrões, também denominadas Formas Canônicas, utilizadas para representar as funções lógicas, que são:

Forma Canônica de Soma de Produtos:

ABCDDCABCDBADCBADBCADCBADCBAf +++++=),,,(

Forma Canônica de Produto de Somas:

))()()((),,,( DCBADCBADCBADCBADCBAf ++++++++++++= Observando cada uma das expressões acima, pode-se ver que, cada componente da soma de produtos ou do produto de somas, contém todas as variáveis da função, negadas ou não. 4.1.1 - Forma canônica de Soma de Produtos Qualquer função lógica pode ser representada na forma canônica de Soma Produtos. Tomemos como exemplo, a função já vista:

)(),,( CBACBACBAf +⋅⋅⋅= Como já foi visto, é possível representar a função como uma soma de produtos:

ACABCBACBAf ++⋅⋅=),,(

Page 52: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 52

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Na expressão acima, é importante observar que, embora a função esteja representada como uma soma de produtos, ela não está na forma canônica, pois nem todas as parcelas componentes da soma possuem as três variáveis da função (A, B e C). Para se chegar à forma canônica de soma de produtos, é necessário que todas as variáveis estejam presentes em todas as parcelas da soma. Na segunda parcela não aparece a variável C enquanto na terceira parcela não aparece a variável B. O objetivo é re-escrever a função de modo que as três variáveis apareçam em todas as parcelas.

Para isto, serão utilizados os teoremas: 1=+ xx e xx =⋅1 Como na segunda parcela da soma, não aparece a variável C, deve-se multiplicar (operação lógica E)

esta parcela por CC + . O valor da expressão não é alterado, considerando que 1=+ CC e AB.1 = AB. Do mesmo modo, na terceira parcela não aparece a variável B. Assim, multiplica-se esta parcela

por BB + .

A expressão fica então, CBBACCABCBACBAf )()(),,( ++++⋅⋅=

Desenvolvendo tem-se, ABCCBAABCCABCBACBAf ++++⋅⋅=),,( Como o produto ABC está em duplicidade, pode-se eliminar um deles, pois x + x = x.

Portanto, CBAABCCABCBACBAf +++⋅⋅=),,( A função ),,( CBAf está representada agora na sua “forma canônica” de Soma de Produtos, onde as três variáveis, negadas ou não, aparecem em todas as parcelas da soma. Cada um dos produtos componentes da forma canônica da soma de produtos recebe a denominação de “Minterm” . Podemos então dizer que, a função está representada na forma de “Soma de Minterms”. Exemplo:

Representar a função CABDCADCBAf ⋅⋅+⊕⋅=),,,( como uma soma de minterms: Inicialmente deve-se representar a função como uma soma de produtos, aplicando os teoremas e princípios já vistos:

BCBACDADCA

CABCDDCADCBAf

+++⋅⋅=

+++⋅=

)()(),,,(

Seguindo o procedimento visto anteriormente, tem-se,

)()( ))(()()(),,,( DDBCAADDCCBACDBBADCBBADCBAf ++++++++⋅+= Aplicando a propriedade distributiva:

ABCDDABCBCDADBCABCDA

DBCADCBADCBABCDACDBADCBADCBADCBAf

++++

+++⋅++⋅+⋅+⋅⋅⋅=

),,,(

Eliminando os produtos duplicados, tem-se a soma de minterms:

Page 53: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 53

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

ABCDDABCBCDADBCADCBADCBACDBADCBADCBAf +++++⋅+⋅+⋅⋅⋅=),,,(

4.1.2 - Forma canônica de Produto de Somas

Considerando a mesma função analisada anteriormente: )(),,( CBACBACBAf +⋅⋅⋅= a qual, como já foi visto, pode ser expressa através do seguinte Produto de Somas:

))()((),,( CABACBACBAf ++++= Como se observa, tem-se um produto de somas que não está na forma canônica, tendo em vista que as três variáveis da função não aparecem em todas as somas. Na segunda soma não aparece a variável C e na terceira soma não aparece a variável B. É possível reescrever a expressão, de modo que as três variáveis, negadas ou não, apareçam em todas as somas.

Para isto, serão utilizados os teoremas: xx =+ 0 e 0=⋅ xx

Como na segunda soma não aparece a variável C, é possível adicionar o produto CC , o que não

altera seu valor, uma vez que 0=CC . Do mesmo modo, deve-se adicionar o produto BB na terceira soma.

Assim: ))()((),,( CBBACCBACBACBAf ++++++= Aplicando a propriedade distributiva: x + y⋅z = (x + y)⋅(x + z),

))()()()((),,( CBACBACBACBACBACBAf ++++++++++= Eliminando somas repetidas, tem-se:

))()()((),,( CBACBACBACBACBAf ++++++++= Chegamos portanto, à forma canônica de produto de somas, onde as três variáveis da função aparecem, negadas ou não, em todas as somas. Cada uma das somas componentes do produto é denominada “Maxterm”. A forma canônica de produto de somas é portanto um Produto de Maxterms. Exemplo: Representar como um produto de maxterms a função:

CABDCADCBAf ⋅⋅+⊕⋅=),,,( Representando a função como um produto de somas:

Page 54: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 54

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

[ ] [ ]

))()()((

))()()((

))()()((

))()((

)()(

)()(),,,(

CADCBDCBBA

CABCDBDCBA

CABCDDBCDCBA

CABCDDCBA

CACDDCABCDDCA

CABCDDCADCBAf

++++++=

++++++=

++++++=

+++⋅+=

+++⋅⋅++⋅=

+++⋅=

Inserindo as variáveis faltantes em cada soma:

))()()((

))()()((

))()()((),,,(

DCBBADCBBADCBADCBA

DCBADCBADCCBADCCBA

DDCBBADCBAADCBAADDCCBADCBAf

++++++++++++

++++++++++++=

++++++++++++=

Aplicando a propriedade distributiva: x + y⋅z = (x + y)⋅(x + z),

))()()((

))()()((

))()()((),,,(

DCBADCBADCBADCBA

DCBADCBADCBADCBA

DCBADCBADCBADCBADCBAf

++++++++++++

++++++++++++

++++++++++++=

Eliminando somas duplicadas:

))()()((

))()()((),,,(

DCBADCBADCBADCBA

DCBADCBADCBADCBADCBAf

++++++++++++

++++++++++++=

4.1.3 - Identificação dos Minterms Com objetivo de facilitar a representação de uma função lógica através da soma de minterms, veremos a seguir uma forma de identificar cada um dos minterms componentes da função. Seja por exemplo a função abaixo, representada pela soma de minterms:

ABCCABCBACBACBACBAf ++++⋅=),,( Para identificar um minterm, representamos o produto de variáveis como um número binário, associando o bit “0” à variável negada e o bit “1” à variável não negada. Para o minterm CBA , tem-se a seguinte associação: CBA 0 1 0 O número binário 010 corresponde a 2 no sistema decimal. Assim, o minterm CBA é denominado minterm 2 e representado por m2. Para a função especificada acima, temos então:

Page 55: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 55

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

ABCCABCBACBACBACBAf ++++⋅=),,( 0 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 2 5 6 7 Portanto, CBA ⋅ = m1, CBA = m2,

CBA = m5, CAB = m6, ABC = m7, A função pode ser escrita como: 76521),,( mmmmmCBAf ++++=

ou de forma mais resumida: f(A,B,C) = Σm(1,2,5,6,7)

ou simplesmente f(A,B,C) = Σ(1,2,5,6,7) 4.1.4 - Identificação dos Maxterms Para o caso da função representada através de um produto de maxterms, adota-se um procedimento similar, com a diferença que, é associado o bit “1” à variável negada e o bit “0” à variável não negada. Seja por exemplo a função: ))()()((),,( CBACBACBACBACBAf ++++++++= Se tomarmos por exemplo, o maxterm )( CBA ++ e fizermos as associações especificadas, temos:

CBA ++ 0 1 1 O número binário 011 é equivalente a 3 no sistema decimal, portanto, CBA ++ corresponde ao maxterm 3, sendo representado por M3. ))()()((),,( CBACBACBACBACBAf ++++++++= 0 0 1 0 1 1 1 0 0 1 1 1 1 3 4 7 Então, CBA ++ = M1, CBA ++ = M3,

CBA ++ = M4, CBA ++ = M7 Pode-se escrever a função como: 7431),,( MMMMCBAf ⋅⋅⋅=

ou ainda, f(A,B,C) = ΠM(1,3,4,7)

Ou, de forma mais resumida: f(A,B,C) = Π(1,3,4,7)

Page 56: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 56

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Exemplos: a) Representar a soma de produtos correspondente à função abaixo:

f(A,B,C,D) = Σ(0,1,4,8,10,12,13,15)

m0 = DCBA ⋅⋅⋅ m1 = DCBA ⋅⋅

m4 = DCBA ⋅⋅ m8 = DCBA ⋅⋅

m10 = DCBA m12 = DCAB ⋅

m13 = DCAB m13 = ABCD

ABCDDCABDCABDCBA

DCBADCBADCBADCBADCBAf

++⋅+

+⋅⋅+⋅+⋅⋅+⋅⋅⋅=

),,,(

b) Representar o produto de somas correspondente à função abaixo:

f(A,B,C,D) = Π(2,3,5,6,7,9,11,14)

M2 = DCBA +++ M3 = DCBA +++

M5 = DCBA +++ M6 = DCBA +++

M7 = DCBA +++ M9 = DCBA +++

M11 = DCBA +++ M14 = DCBA +++

))()()((

))()()((),,,(

DCBADCBADCBADCBA

DCBADCBADCBADCBADCBAf

++++++++++++

++++++++++++=

Exercícios:

Considere a função lógica: )DC(BA)DC)(DAC)(CB()D,C,B,A(f +++++=

Representar a função como: a) Uma soma de Minterms; b) Um produto de Maxterms.

Page 57: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 57

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

4.2 - Síntese de uma função lógica Nos tópicos anteriores, as funções lógicas foram apresentadas, na forma de soma de minterms ou produto de maxterms, sem qualquer preocupação no sentido de saber como as mesmas foram obtidas. Será abordado a seguir, o processo de síntese de uma função lógica, ou seja, de que maneira são encontrados os minterms ou maxterms de uma função. Consideremos como exemplo, um sistema de alarme no qual existam quatro sensores, identificados por: A, B, C e D. O diagrama em blocos do sistema de alarme está mostrado na figura abaixo:

Nosso objetivo é determinar qual é a lógica necessária para disparar o alarme, em função dos sinais gerados pelos sensores. O alarme deverá ser disparado caso qualquer uma das seguintes condições seja satisfeita:

a) Se somente o sensor C for ativado; b) Se os sensores A e C forem ativados; c) Se somente o sensor B for ativado; d) Se os sensores B e C forem ativados; e) Se os sensores C e D forem ativados.

Determinar a função lógica f(A,B,C,D), responsável pelo acionamento do alarme, considerando os seguintes valores lógicos: x = 0 ⇒ sensor “x” não ativado x = 1 ⇒ sensor “x” ativado f(A,B,C,D) = 0 ⇒ Não disparar o alarme f(A,B,C,D) = 1 ⇒ Disparar o alarme O primeiro passo para a síntese da função, é a construção da tabela verdade, na qual são representadas todas as possíveis combinações das variáveis de entrada (sensores) e qual é a saída correspondente à cada uma das combinações, saídas essas que são obtidas a partir das condições estabelecidas para o sistema.

A

f(A,B,C,D)

Sensor A

Sensor B

Sensor D

Sensor C

B

C

D

Alarme

Page 58: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 58

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

A tabela verdade para o sistema de alarme, está mostrada abaixo:

A B C D f(A,B,C,D) 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1

Uma vez obtida a tabela verdade, é necessário definir a forma de representação da função: soma de minterms ou produto de maxterms. No nosso exemplo, serão abordadas ambas as alternativas. 4.2.1 – Soma de minterms Nesta forma de representação, a função é representada como uma soma de produtos, onde cada produto contém todas as variáveis da função, negadas ou não. Analisando a tabela verdade, observa-se que, na linha 3, quando A = 0, B = 0, C = 1 e D = 0, o valor da função deve ser f(A,B,C,D) = 1. É necessário então, incluir na soma de produtos, o produto

DCBA ⋅⋅⋅ , cujo resultado será 1 para a combinação especificada. Como o resultado deste produto é 1, e considerando que 11 =+ x , teremos f(A,B,C,D) = 1, independentemente do valor assumido pelos demais produtos componentes da função. Da mesma forma, para a linha 4 da tabela verdade, quando A = 0, B = 0, C = 1 e D = 1, devemos

incluir na soma, o produto DCBA ⋅⋅⋅ , de modo a termos f(A,B,C,D) = 1 para a combinação especificada. Generalizando o procedimento, deve-se incluir na soma, um produto para cada linha da tabela verdade onde o valor da função deve ser 1. Desta forma, garantimos que, para cada uma destas combinações temos um produto que assegura o valor 1 para a função nestas linhas. Assim, para a tabela verdade acima, temos a seguinte soma de minterms:

ABCDDABCCDBADCBA

BCDADBCADCBACDBADCBA)D,C,B,A(f

+++

+++⋅+⋅+⋅=

Portanto, para determinar a função como uma soma de minterms, deve-se incluir na função um minterm para cada linha da tabela verdade onde o valor da função deve ser 1.

Page 59: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 59

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

4.2.2 – Produto de maxterms Nesta forma de representação, a função é representada como um produto de somas, onde cada soma contém as quatro variáveis da função, negadas ou não. Analisando a tabela verdade, vemos que na linha 1, quando A = 0, B = 0, C = 0 e D = 0, o valor da função deve ser f(A,B,C,D) = 0. Deve-se então incluir no produto, a soma DCBA +++ , cujo resultado será 0 para a combinação especificada. Como o resultado desta soma é 0, e considerando que 00 =⋅ x , teremos f(A,B,C,D) = 0, independentemente do valor assumido pelas demais somas componentes da função. Da mesma forma, para a linha 2 da tabela verdade, quando A = 0, B = 0, C = 0 e D = 1, devemos

incluir no produto, a soma DCBA +++ , de modo a termos f(A,B,C,D) = 0 para a combinação especificada. Generalizando, é necessário incluir no produto, uma soma para cada linha da tabela verdade onde o valor da função deve ser 0. Desta forma, é assegurado que, para cada uma destas combinações temos uma soma que garante o valor 0 para a função nestas linhas. Assim, para a nossa função temos o seguinte produto de maxterms:

)DCBA)(DCBA)(DCBA(

)BCBA)(DCBA)(DCBA)(DCBA()D,C,B,A(f

+++++++++

++++++++++++=

Resumindo, a função lógica a ser implementada para acionar o alarme, pode ser escrita como: f(A,B,C,D) = Σ(2,3,4,6,7,10,11,14,15), ou então, f(A,B,C,D) = Π(0,1,5,8,9,12,13) Exercício: Simplificar a função lógica encontrada para acionamento do alarme.

CDBADBAC)AA(ACDBA)BB(CA

ACDBA)BB(CAAC)CD(BACBA

)BB(AC)CDD(BACBA

ABCCBABCDADBACBA

)DD(ABC)DD(CBABCDA)CC(DBA)DD(CBA

ABCDDABC

CDBADCBABCDADBCADCBACDBADCBA)D,C,B,A(f

+=++=+++=

+++=+++⋅=

++++⋅=

++++⋅=

++++++++⋅=

+

+++++⋅+⋅+⋅=

Page 60: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 60

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

4.3 - Funções mínimas e suas propriedades Existe uma distinção entre “expressão mínima” e “expressão irredutível” de uma função lógica, sendo que nenhuma delas é necessariamente única. Seja por exemplo a função f(A,B,C,D) = Σ(1,2,3,4,5,6,8,12).

DCABDCBADBCADCBA

DCBACDBADCBADCBA)D,C,B,A(f

⋅+⋅⋅++

+⋅+⋅+⋅+⋅⋅=

Para simplificar uma soma de produtos, agrupam-se pares de produtos que tenham somente uma variável diferente entre os dois. No caso dessa função, pode-se fazer isso de várias formas diferentes. Alternativa 1:

DCACBADCACBADCA

)BB(DCA)DD(CBA

)BB(DCA)DD(CBA)BB(DCA)D,C,B,A(f

⋅+++⋅+⋅=

+⋅++

++++⋅++⋅=

1

Alternativa 2:

DCADCBDCADCADBA

)BB(DCA)AA(DCB

)BB(DCA)BB(DCA)CC(DBA)D,C,B,A(f

⋅+⋅++⋅+⋅=

+⋅++⋅

++++⋅++⋅=

2

Alternativa 3:

DCACBADCADBA

)BB(DCA)BB(CBA)BB(DCA)CC(DBA)D,C,B,A(f

⋅+++⋅=

+⋅++++++⋅=

3

Alternativa 4:

DCADBACBADCA

)BB(DCA)CC(DBA)DD(CBA)BB(DCA)D,C,B,A(f

⋅++⋅+⋅=

+⋅++++⋅++⋅=

4

As quatro expressões obtidas, DCACBADCACBADCA ⋅+++⋅+⋅

DCADCBDCADCADBA ⋅+⋅++⋅+⋅

DCACBADCADBA ⋅+++⋅

DCADBACBADCA ⋅++⋅+⋅ são expressões irredutíveis da função, ou seja, não podem ser mais simplificadas utilizando os teoremas e princípios vistos anteriormente. No entanto, as expressões

DCACBADCACBADCA ⋅++⋅+⋅+ e

DCADCBDCADBADCA ⋅+⋅+⋅+⋅+ não são expressões mínimas da função, ao passo que as expressões,

DCACBADCADBA ⋅+++⋅ e

DCADCADBACBA ⋅+⋅++⋅ são expressões mínimas da função. Conclui-se portanto que, toda “expressão mínima” de uma função é irredutível porém, nem toda “expressão irredutível” é mínima.

Page 61: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 61

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

4.3.1 - Conceito de Implicante Uma função lógica f(A,B,C,...) cobre outra função g(A,B,C,...) se f assume o valor 1 sempre que g o fizer. Esta situação é representada por f ⊇ g. Assim, se f cobre g, existe um “1” na sua tabela verdade em cada linha onde g também tiver “1”, como pode-se observar no exemplo a seguir:

BACBCACBAf ++=),,(

CBCACBAg +=),,(

A B C f(A,B,C)= BACBCA ++ g(A,B,C)= CBCA +

0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0

Como pode-se observar da tabela, a função f(A,B,C) cobre a função g(A,B,C). Seja f(A,B,C,...) uma função lógica qualquer e h(A,B,C,...) um produto de variáveis. Se f cobre h, então h implica f, ou h é um implicante de f. A implicação é representada por h → f. Portanto, um implicante de uma função lógica é todo o produto de variáveis que é coberto pela função. se: f = CDAB + e

h = CAB , então h é um implicante de f.

Obs.: De acordo com a definição, fica claro que todos os minterms de uma função, bem como todas as possíveis combinações com estes minterms, são implicantes da função.

Exemplo: encontrar os implicantes da função f(A,B,C,D) = Σ(1,5,8,9,13,15).

Minterms:

1: DCBA ⋅⋅

5: DCBA

8: DCBA ⋅⋅

9: DCBA ⋅

13: DCAB 15: ABCD

Combinações com 2 minterms:

1,5: DCA ⋅

1,9: DCB ⋅

5,13: DCB

8,9: CBA ⋅ 13,15: ABD

Combinações com 4 minterms:

1,5,9,13: DC

Todos os produtos acima, são implicantes da função.

Page 62: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 62

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

4.3.2 - Implicante Primo Um “Implicante Primo” p de uma função f é um produto de variáveis coberto por f, de tal forma que a retirada de qualquer variável de p resulta em um novo produto não coberto pela função f. O conjunto de todos os implicantes primos de f é representado por P.

Por exemplo, na função: CDAABDCBAf +=),,,( ,

CABh =1 é um implicante e

CDAh =2 é um implicante primo. Teorema: “ Qualquer soma de produtos irredutível equivalente à função f é uma união de

implicantes primos da função f” . Desta forma, para encontrar a expressão mínima de uma função f, a primeira etapa consiste em gerar o conjunto de todos os implicantes primos da função f e, deste conjunto, selecionar aqueles implicantes primos cuja união produz a expressão mínima para a função.

Se a função f for representada pela soma de minterms, a aplicação do teorema xyxxy =+ entre pares de minterms produz um implicante de f. Aplicações repetidas deste teorema entre produtos que possuem somente uma variável diferente, produz um conjunto de implicantes de f. Um produto que não pode mais ser combinado com nenhum outro, é um “ implicante primo” da função f. Assim, a primeira etapa na determinação da expressão mínima de uma função é a combinação sistemática dos produtos, de modo a encontrar os implicantes primos da função. A segunda etapa é selecionar o conjunto mínimo de implicantes primos que representa a expressão mínima. Exemplo: Determinar o conjunto P de todos os implicantes primos da função:

f(A,B,C,D) = Σ(0,4,5,6,7,8,9,13,15)

Minterms:

0: DCBA ⋅⋅⋅ √

4: DCBA ⋅ √

5: DCBA √

6: DBCA √

7: BCDA √

8: DCBA ⋅⋅ √

9: DCBA ⋅ √

13: DCAB √ 15: ABCD √

Combinações com 2 minterms:

0,4: DCA ⋅⋅

0,8: DCB ⋅⋅

4,5: CBA √

4,6: DBA √

5,7: BDA √

5,13: DCB √

6,7: BCA √

8,9: CBA ⋅

9,13: DCA 13,15: ABD √

Combinações com 4 minterms:

4,5,6,7: BA

5,7,13,15: BD

O símbolo √ indica que aquele produto entrou em uma combinação com um número maior de minterms e portanto, o mesmo não é um implicante primo da função. Assim, o conjunto dos implicantes primos da função é:

BDBAABDDCACBADCBDCAP ++++⋅+⋅⋅+⋅⋅=

Page 63: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 63

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

4.3.3 - Encontrando expressões mínimas de uma função Uma inspeção no conjunto de implicantes primos P da função f(A,B,C,D) = Σ(0,4,5,6,7,8,9,13,15)

vista acima, mostra que o implicante primo BA é o único que cobre o minterm 6 e o implicante primo BD é o único que cobre o minterm 15. Qualquer outro minterm da função é coberto por dois ou mais implicantes primos, sendo que nenhum deles é essencial para a especificação de uma expressão irredutível. Um implicante primo p de uma função f é denominado “implicante primo essencial” se ele cobre pelo menos um minterm de f que não é coberto por nenhum outro implicante primo.

Portanto, na função anterior, os implicantes primos BA e BD são implicantes primos essenciais e devem obrigatoriamente serem incluídos em qualquer expressão mínima da função.

Analisando a função, verifica-se que os implicantes primos essenciais BA e BD cobrem os minterms 4, 5, 6 ,7, 13 e 15, não estando cobertos os minterms 0, 8 e 9. Para cobrir os minterms 8 e 9

é necessário o implicante primo CBA ⋅ e para cobrir o minterm 0 é necessário o implicante primo

DCA ⋅⋅ ou o implicante primo DCB ⋅⋅ . Portanto, a função f(A,B,C,D) = Σ(0,4,5,6,7,8,9,13,15) admite duas expressões mínimas, que são:

CBADCABDBA)D,C,B,A(f ⋅+⋅⋅++= e

DCBDCABDBA)D,C,B,A(f ⋅⋅+⋅⋅++= As etapas para a obtenção da expressão mínima de uma função f são as seguintes:

a) Encontrar o conjunto dos implicantes primos da função; b) Identificar os implicantes primos essenciais da função e incluí-los na expressão mínima; c) Remover da lista de implicantes primos, aqueles que são cobertos pelos implicantes

primos essenciais; d) Se o conjunto obtido na etapa b cobrir todos os minterms da função f, então esta é a

expressão mínima única. Senão, selecionar implicantes primos adicionais, de forma que todos os minterms seja cobertos, e o número de implicantes primos seja mínimo.

A execução dessas etapas nem sempre é uma tarefa simples. Para um número pequeno de variáveis (até 6), isto pode ser feito através do mapa de Karnaugh, que será visto na seqüência. Para um número maior de variáveis o método de tabulação torna-se necessário. Posteriormente será abordado o método de Quine-McKluskey.

Page 64: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 64

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

4.4 - MAPA DE KARNAUGH O mapa de Karnaugh é uma ferramenta útil para encontrar os implicantes primos de uma função e, consequentemente, sua expressão mínima. O mapa de Karnaugh é representado por uma figura geométrica, na qual existe uma célula correspondente à cada linha da tabela verdade que define a função. Como já foi visto, a síntese de uma função lógica inicia com a montagem da Tabela Verdade. A partir da tabela verdade são extraídos os minterms ou os maxterms da função. Existe portanto, uma correspondência entre as linhas da tabela verdade e os minterms e maxterms da função. Da mesma forma, existe uma correspondência entre os minterms e maxterms da função com as células do mapa de Karnaugh. 4.4.1 - Mapa de Karnaugh para funções de 2 variáveis

Considere, por exemplo, a função de duas variáveis, cuja tabela verdade está representada abaixo:

A B f(A,B) 0 0 0 0 1 1 1 0 0 1 1 1

O mapa de Karnaugh para uma função de duas variáveis, é composto de quatro células:

Inicialmente, é necessário identificar cada uma das células, ou seja, qual célula corresponde à qual minterm da função. Para isto, deve-se associar à cada coluna do mapa um dos valores da variável A e à cada linha os valores da variável B, ficando portanto com a seguinte representação:

Portanto, o mapa correspondente à função mostrada na tabela verdade acima é:

Existem outras formas de representar a identificação das células no mapa:

A

B

0 0

1 1 B

A

0 0

1 1

A

B

B A

0 1

0

1

0 0

1 1

B A

0 1

0

1

Page 65: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 65

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Nos exemplos acima, estão representados no mapa de Karnaugh tanto os minterms (“ 1”) como os maxterms (“0”) da função. Na prática, considerando que os valores são mutuamente exclusivos, basta representar um deles, ou seja, somente os 1’s ou somente os 0’s da função. Assim, a função acima pode ser representada pelos mapas abaixo:

f(A,B) = Σ(1,3) f(A,B) = Π(0,2)

Se a função for representada como uma soma de minterms, são colocados 1’s nas células correspondentes aos minterms e se a função for representada como um produto de maxterms, são colocados 0’s nas células correspondentes aos maxterms. 4.4.2 - Mapa de Karnaugh para funções de 3 variáveis Seja uma função de 3 variáveis, cuja tabela verdade está mostrada abaixo:

A B C f(A,B,C) 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1

A função representada na tabela é: f(A,B,C) = Σ(2,4,6,7) ou, f(A,B,C) = Π(0,1,3,5) O mapa de Karnaugh para uma função de três variáveis é formado por oito células:

Como se observa, nas colunas foram colocados os valores para as variáveis A e B e nas linhas os valores para a variável C. Observe que os valores para as variáveis A e B seguem a seqüência do código Gray, o qual já foi visto anteriormente.

0

C AB

1

11 01 00 10

B

A

1 1 B

A

0 0

Page 66: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 66

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Para a função representada pela tabela verdade acima, temos os seguintes minterms no mapa:

Caso seja utilizada a representação dos maxterms da função o mapa é o seguinte:

4.4.3 - Mapa de Karnaugh para 4 variáveis O mapa para uma função de quatro variáveis possui 16 células, que podem ser identificadas colocando nas colunas os valores das variáveis A e B e nas linhas os valores das variáveis C e D, utilizando a seqüência do código Gray, como foi visto. Na figura abaixo está mostrada a representação de um mapa para função de quatro variáveis:

Seja por exemplo, a função:

f(A,B,C,D) = Σ(0,1,2,4,6,7,10,12) ou, f(A,B,C,D) = Π(3,5,8,9,11,13,14,15)

CD AB

11 01 00 10

00

01

11

10

0

0 0 0

A

C

B

A A

B B

0

0 0 0 C

C

A A

B B

1 1 1

1

A

C

B

A A

B B

1 1 1

1 C

C

A A

B B

Page 67: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 67

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

A representação do mapa para esta função, utilizando os minterms é:

Utilizando os maxterms da função, o mapeamento é:

É importante salientar que, a disposição dos minterms / maxterms no mapa de Karnaugh depende da forma como as variáveis da função são dispostas no mapa. Se for alterada a disposição das variáveis, será alterada também a disposição dos minterms / maxterms. Nos exemplos que serão vistos aqui, será utilizada sempre a disposição de variáveis apresentada acima. 4.4.4 - Minimização de funções utilizando o mapa de Karnaugh A característica fundamental do mapa de Karnaugh é resultado da utilização da seqüência do código Gray para representar os valores das variáveis no mapa. Como já foi visto no capítulo que trata de códigos binários, o código Gray possui a característica de ter somente um bit diferente entre dois valores consecutivos. Assim duas células adjacentes do mapa, na horizontal ou na vertical (na diagonal esta característica não é observada), possuem somente uma variável com valor diferente entre as duas. Esta característica se observa também em células que estão nas extremidades do mapa. Portanto, se existirem dois minterms em células adjacentes no mapa (na horizontal ou na vertical), estes dois minterms terão todas as variáveis idênticas, com exceção de uma, que será negada em um minterm e não negada em outro. Seja por exemplo, a função: f(A,B,C,D) = Σ(2,4,7,10,12,15)

0

0 0 0

A

C

B

0

0 0 0

00

0 0 0

0

D 0 0 0

0

AB CD 01 11 10

00

01

11

10

1 1 1

1

A

C

B

1 1 1

1

00

1

1 1 1

D 1

1 1 1

AB CD 01 11 10

00

01

11

10

Page 68: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 68

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

O mapa para esta função, utilizando os minterms, está mostrado abaixo.

Conforme é possível observar no mapa, os minterms m4 e m12 são adjacentes(na horizontal). Estes dois minterms diferem somente pela variável A, que aparece negada no minterm m4 e não negada no minterm m12. Assim:

DCB)AA(DCBDCABDCBAmm ⋅=+⋅=⋅+⋅=+ 124 Observa-se portanto, que os dois minterms podem ser combinados, resultando em um Implicante Primo. Observe que a variável A que aparece negada em um minterm e não negada em outro, foi eliminada. O principal mérito do mapa de Karnaugh, é que o mesmo permite um reconhecimento visual rápido dos Implicantes Primos da função. Assim, qualquer par de minterms adjacentes (na horizontal ou na vertical) podem ser combinados, resultando em um produto, onde é eliminada a variável que aparece negada em um minterm e não negada em outro. As chaves que indicam os valores das variáveis nas diversas células do mapa, permitem identificar rapidamente qual é a variável que muda de uma célula para outra. Para a função mostrada acima, é possível identificar no mapa, três pares de minterms adjacentes, conforme mostrado no mapa abaixo:

Para extrair do mapa os Implicantes Primos correspondentes a cada combinação, deve-se analisar a posição dos minterms em relação às chaves. Se todos os minterms da combinação estão cobertos pela chave, a variável correspondente aparece não negada e se os minterms estão fora da abrangência da chave, a variável correspondente aparece negada.

Assim: DCBmm ⋅=+ 124

BCDmm =+ 157

DCBmm =+ 102

1 1

1 1

1 1

A

B

C

D

m4 m12

1 1

1 1

1 1

A

B

C

D

Page 69: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 69

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Como todos os Implicantes Primos obtidos são essenciais, a expressão mínima para a função é representada pelo conjunto dos Implicantes Primos obtidos:

DCBBCDDCBDCBAf ++⋅=),,,( Exemplo:

Encontrar a expressão mínima da função: f(A,B,C,D) = Σ(0,4,11,14,15). O mapa de Karnaugh para a função está mostrado abaixo, onde observa-se que é possível combinar os minterms 0 e 4, assim como os minterms 14 e 15, combinações estas que estão indicadas no mapa. Também é possível observar que os minterms 11 e 15 também podem ser combinados. Porém, o minterm 15 já foi combinado com o minterm 14. A questão é, um minterm pode ser combinado mais de uma vez? A resposta é afirmativa, sendo a explicação apresentada a seguir.

Analisando somente os minterms 11, 14 e 15 temos:

ABCDDABCCDBAmmm ++=++ 151411

Pode-se notar que, o produto ABCD pode ser combinado

tanto com produto CDBA como com produto DABC . Considerando que, x + x = x, fica claro que é possível duplicar o minterm ABCD na expressão, sem alterar seu valor. Assim, ABCDABCDDABCCDBAmmm +++=++ 151411

Podemos então combinar uma das ocorrências do minterm 15 com o minterm 11 e a outra com o minterm 14.

Portanto: ABCACD

DDABCACDBBmmm

+=+++=++

)()(151411

Seguindo a mesma linha de raciocínio, podemos notar que um minterm qualquer pode ser replicado quantas vezes for necessário, de forma a ser combinado com outros produtos. Isto significa que, qualquer minterm no mapa de Karnaugh pode ser combinado quantas vezes for necessário. Na figura abaixo está mostrado o mapa com todos os Implicantes Primos possíveis.

1 1

1

1 1

A

B

C

D

Page 70: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 70

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Como todos os Implicantes Primos são essenciais, a expressão mínima da função é:

ACDABCDCA)D,C,B,A(f ++⋅⋅=

Considere a função f(A,B,C,D) = Σ(2,3,8,10,12), mapeada abaixo, onde estão indicadas todas as possíveis combinações com os minterms, ou seja, todos os Implicantes Primos da função.

Os Implicantes Primos DCAeCBA ⋅⋅ são essenciais e devem ser incluídos na expressão mínima da função. Já os

Implicantes Primos DBAeDCB ⋅ não são essenciais. Assim, os minterms 2, 3 8 e 12 são cobertos pelos Implicantes Primos essenciais. O minterm 10 pode ser

coberto pelo Implicante Primo . DCB ou pelo DBA ⋅ . Portanto, a função admite duas expressões mínimas:

DCADBACBADCBAf ⋅+⋅+⋅=),,,(

DCADCBCBADCBAf ⋅++⋅=),,,( Na figura abaixo estão mostradas as duas configurações possíveis para o mapa:

DCADCBCBA ⋅++⋅ DCADBACBA ⋅+⋅+⋅ 4.4.5 - Combinações envolvendo mais de dois minterms Nos exemplos vistos até aqui, foram analisadas as combinações envolvendo dois minterms adjacentes no mapa, sendo que, cada combinação resulta em um Implicante Primo. De modo geral, é possível efetuar combinações com 2n minterms, desde que as condições necessárias sejam satisfeitas. Uma combinação com 2n minterms, resulta em um produto onde são eliminadas n variáveis. Combinações típicas com quatro minterms estão mostradas a seguir:

1 1

1 1

1

A

B

C

D

1 1

1 1

1

A

B

C

D

1 1

1 1

1

A

B

C

D

1 1

1

1 1

A

B

C

D

Page 71: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 71

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Seja por exemplo, a função: f(A,B,C,D) = Σ(10,11,14,15) No mapa estão indicadas duas alternativas para as combinações com os pares de minterms.

Na alternativa indicada pela linha cheia, combinamos os minterms m10+m14 e m11+ m15.

Tem-se portanto: DACmm =+ 1410

ACDmm =+ 1511

Assim, ACDDACDCBAf +=),,,( Como pode-se observar, esta expressão pode ser simplificada.

ACDDACDCBAf =+= )(),,,( Na alternativa indicada pela linha tracejada, são combinados os minterms m10+m11 e m14+ m15. Temos portanto: ABCmm =+ 1110

CBAmm =+ 1514

Assim, CBAABC)D,C,B,A(f += Tal como no caso anterior, pode-se observar que esta expressão pode ser simplificada.

ACBBACDCBAf =+= )(),,,( Isto significa, que é possível efetuar uma única combinação com os quatro minterms, combinação esta que está indicada no mapa abaixo:

Para extrair do mapa o Implicante Primo correspondente à combinação com os quatro minterms, observa-se o seguinte:

1 1

1 1

A

B

C

D

1 1

1 1

A

B

C

D

Page 72: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 72

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

• Como as combinações são de 22 = 4 minterms, duas variáveis serão eliminadas no produto; • Duas variáveis têm valores diferentes entre os quatro minterms (B e D). Estas variáveis serão

eliminadas; • Duas variáveis têm o mesmo valor para os quatro minterms (A e C). Estas variáveis são as que

formarão o produto a ser extraído do mapa; • Como os quatro minterms estão na região do mapa onde A = 1, esta variável aparece não

negada. Do mesmo modo, como os quatro minterms estão na região do mapa onde C = 1, esta variável também aparece não negada

Assim, é possível extrair diretamente do mapa o Implicante Primo correspondente às combinações dos 4 minterms: ACDCBAf =),,,( Nos mapas de Karnaugh abaixo, estão mostradas outras situações onde é possível combinações com quatro minterms:

DCABDCBAf +=),,,( DBDBDCBAf +=),,,( DBDCBAf ⋅=),,,( Da mesma forma, podem ser feitas combinações com 23 = 8 minterms, desde que satisfeitas as condições necessárias. Numa combinação com 8 minterms são eliminadas 3 variáveis. Observe que, para que a combinação seja possível, uma das variáveis deve ter o mesmo valor nos oito minterms e três variáveis devem ter valor diferente.

CBDCBAf +=),,,( DBDCBAf +=),,,( 4.4.6 - Utilização do Mapa de Karnaugh

1 1 1 1

1 1 1 1

1 1

1 1

A

B

C

D 1 1

1 1 1 1

1 1 1 1

1 1

A

B

C

D

1 1 1 1

1

1

1

A

B

C

D 1 1

1 1

1 1

1 1

A

B

C

D

1 1

1 1

A

B

C

D

Page 73: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 73

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

De acordo com o que foi visto anteriormente, as etapas para a obtenção da expressão mínima de uma função f são as seguintes:

a) Encontrar o conjunto dos implicantes primos da função; b) Identificar os implicantes primos essenciais da função e incluí-los na expressão mínima; c) Remover da lista de implicantes primos, aqueles que são cobertos pelos implicantes

primos essenciais; d) Se o conjunto obtido na etapa b cobrir todos os minterms de f, então esta é a expressão

mínima única. Senão, selecionar implicantes primos adicionais, de forma que todos os minterms seja cobertos, e o número de implicantes primos seja mínimo.

Encontrar a expressão mínima da função: f(A,B,C,D) = Σ(0,5,8,9,11,12,13,14)

O conjunto de Implicantes Primos da função é:

CADBADABDCBDCBP ++++⋅⋅=

Implicantes Primos essenciais:

DCB ⋅⋅ , DCB , DAB e DBA

Como os Implicantes Primos essenciais cobrem todos os

minterms da função, o Implicante Primo CA não é necessário para a expressão mínima da função.

Portanto, a expressão mínima da função é:

DBADABDCBDCB)D,C,B,A(f +++⋅⋅= De modo a evitar combinações desnecessárias, pode-se obedecer a seguinte a seqüência de etapas no uso do mapa:

1) Identificar os minterms que só podem fazer parte de um Implicante Primo essencial; 2) Se os Implicantes Primos essenciais não cobrirem todos os minterms da função, selecionar

outros Implicantes Primos, de forma a cobrir todos os minterms da função. Exemplos: a) Minimizar a função: f(A,B,C,D) = Σ(1,2,4,5,6,7,11,12,13,14). Os Implicantes Primos essenciais são:

CDBA , DCA ⋅ , DCA , BA , CB e DB ⋅

1 1 1

1 1 1

1

1

A

B

C

D

Page 74: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 74

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Como os Implicantes Primos essenciais cobrem todos os minterms da função, a expressão mínima é:

DBCBBADCADCACDBA)D,C,B,A(f ⋅++++⋅+=

1 1 1

1 1

1 1 1

1 1

A

B

C

D

Page 75: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 75

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

b) Minimizar a função: f(A,B,C,D) = Σ(0,2,3,4,5,7,10,13,14,15).

O único Implicante Primo essencial é BD , que cobre os minterms 5,7,13 e 15. O conjunto mínimo de Implicantes Primos para cobrir os minterms 0,2,3,4,10 e 14 é:

DACDCACBA +⋅⋅+⋅

Portanto, a expressão mínima da função é: DACDCACBABD)D,C,B,A(f +⋅⋅+⋅+= c) Minimizar a função: f(A,B,C,D) = Σ(1,3,4,5,6,7,10,11,12,14,15).

Os Implicantes Primos essenciais cobrem todos os minterms da função, portanto

ACDBDA)D,C,B,A(f ++= d) Minimizar a função: f(A,B,C,D) = Σ(0,2,3,5,7,8,10,12,13,14).

1 1

1 1 1

1 1 1

1 1

A

B

C

D

1 1

1 1

1 1 1

1 1 1 1

A

B

C

D

1 1

1 1

1 1 1

1 1 1

A

B

C

D

Page 76: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 76

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Implicantes Primos essenciais: DADB +⋅

Para cobrir os minterms 3,5,7 e13, o conjunto mínimo de Implicantes Primos é: DCBCDA +

Assim: DCBCDADADB)D,C,B,A(f +++⋅= 4.4.7 - Utilização do mapa quando a função é representada como soma de maxterms Até aqui foi vista a utilização do mapa de Karnaugh quando a função é representada pela soma de minterms. Quando a função é representada pelo produto de maxterms, as regras para as combinações são exatamente as mesmas já vistas para os minterms. Deve-se apenas tomar cuidado no mapeamento da função e na extração da expressão mínima, lembrando que, no caso dos maxterms a variável negada é associada ao bit 1 e variável não negada é associada ao bit 0. Exemplos: a) Encontrar a expressão mínima da função: f(A,B,C,D) = Π(0,3,7,8,9,10,12,13,14) O mapeamento dos maxterms está mostrado abaixo:

)DCA)(DCB)(CA)(DA()D,C,B,A(f ++++++=

b) Obter a expressão mínima da função: f(A,B,C,D) = Π(2,3,4,6,7,9,11,12,13,15)

)DCB)(DA)(CA()D,C,B,A(f ++++=

0 0

0 0

0 0

0 0 0 0

A

B

C

D

0 0

0 0 0

0 0

0 0

A

B

C

D

Page 77: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 77

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Exercícios: Minimizar as funções abaixo:

a) f(A,B,C,D) = Σ(1,2,3,7,9,12,13,14,15) b) f(A,B,C,D) = Σ(0,2,4,5,6,7,8,10,11) c) f(A,B,C,D) = Σ(0,2,3,4,7,8,10,11,12,13,14,15) d) f(A,B,C,D) = Σ(0,1,2,4,6,7,8,9,10,12,13,14) e) f(A,B,C,D) = Σ(1,5,6,7,8,9,10,12,13,14,15) f) f(A,B,C,D) = Σ(0,1,2,3,7,8,9,10,13,15) g) f(A,B,C,D) = Π(2,3,6,7,8,10,12,13,15) h) f(A,B,C,D) = Π(0,2,3,6,7,8,10,12,13,15) i) f(A,B,C,D) = Π(0,1,3,4,5,7,8,10,11,15) j) f(A,B,C,D) = Π(0,1,2,5,7,8,9,10,12,13,14,15)

Page 78: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 78

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

4.4.8 - Mapa de Karnaugh para funções de 5 variáveis A construção de um mapa de Karnaugh para funções de 5 variáveis segue o mesmo procedimento já visto para os mapas de 2, 3 e 4 variáveis. Considerando que o mapa é formado por 32 células, que podem ser dispostas em uma matriz de 4 linhas por 8 colunas, colocamos nas colunas os valores de três destas variáveis (A, B e C) e nas linhas os valores das outras duas variáveis (D e E), utilizando a seqüência do código Gray, conforme mostrado na figura abaixo.

Utilizando a representação através das chaves, temos o mapa abaixo:

Analisando o mapa, é possível perceber que a linha tracejada divide o mesmo em dois mapas de quatro variáveis. No mapa da esquerda temos A = 0 e no mapa da direita temos A = 1. Além disto, é possível notar que o mapa da direita está invertido em relação ao original. Isto significa que, todos os critérios já vistos para utilização de um mapa de quatro variáveis são válidos para cada uma das partes que compõem o mapa de cinco variáveis. Além disso, pode-se observar que os minterms simétricos em relação à linha tracejada central, são logicamente adjacentes, ou seja, possuem somente uma variável diferente entre os dois (variável A). Desta forma, minterms simétricos também podem ser combinados. Seja por exemplo, a função f(A,B,C,D,E) = Σ(0,5,8,10,11,20,21,22,23,26,27), mapeada no mapa de cinco variáveis abaixo:

B

C

D

A

C

E

DE

ABC

000

00

01

11

10

001 011 010 110 111 101 100

Page 79: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 79

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Os minterms 0 e 8, assim como os minterms 20, 21, 22 e 23 podem ser combinados da mesma forma que são feitas as combinações em um mapa de 4 variáveis. É possível observar também, que os minterms 5 e 21 são simétricos e podem ser combinados. Além disso, os pares de minterms (10, 11) e (26, 27) também são simétricos podendo ser combinados no quadrado mostrado no mapa. A expressão mínima da função é portanto:

EDCACBAEDCBDCBEDCBAf ⋅⋅⋅+++=),,,,( . Uma representação alternativa para o mapa de cinco variáveis está mostrada na figura abaixo, onde foi mapeada a mesma função do exemplo anterior.

Nesta representação, o mapa da direita foi girado 180 graus em torno de um eixo vertical, de modo a ficar na posição normal de um mapa de quatro variáveis. Neste caso, ao invés de trabalhar com minterms simétricos, trabalha-se com minterms correspondentes nos dois mapas. Exemplos: Minimizar as funções de 5 variáveis a seguir:

a) f(A,B,C,D,E) = Σ(0,5,7,8,10,15,16,21,23,26,31)

1

1

1 1

1 1

1

1 1

1

1

B

C

D

E

B

C

A

D

1

1 1

1

1

B

C

D

1

1

1 1

1 1

A

C

E

Page 80: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 80

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

EDCBEDCBECBACEBCDE)E,D,C,B,A(f +⋅⋅⋅+⋅⋅++=

b) f(A,B,C,D,E) = Σ(0,1,4,5,6,12,14,16,19,20,22,28,29,30,31)

DEBAABCEDBDBAEC)E,D,C,B,A(f ++⋅⋅+⋅⋅+= Exercícios Minimizar as funções:

a) f(A,B,C,D,E) = Σ(0,2,4,6,9,10,13,14,15,16,18,21,24,26,28,29,30,31) b) f(A,B,C,D,E) = Σ(0,2,4,5,6,7,8,10,12,13,16,18,21,23,24,25,26,29) c) f(A,B,C,D,E) = Π (0,1,2,5,7,8,9,10,13,15,16,17,19,21,22,24,25,26,29,30) c) f(A,B,C,D,E) = Π(1,2,4,5,8,15,18,20,21,24,29)

4.4.9 - Mapa de Karnaugh para funções de 6 variáveis O mapa de Karnaugh para uma função de 6 variáveis é composto por 64 células, dispostos em uma matriz de 8 linhas por 8 colunas. A identificação de cada uma das células está mostrada na figura abaixo.

1

1 1 1

1 1

1 1 1

1 1

1 1 1

1 1

B

C

D

E

B

C

A

D

1

1

1

1 1

1

1 1

1

1 1

B

C

D

E

B

C

A

D

Page 81: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 81

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Na figura abaixo temos representadas as chaves que definem o posicionamento das variáveis, além do mapeamento de uma função. Pode-se observar que, o mapa para 6 variáveis é formado por quatro mapas de 4 variáveis simétricos.

FEDCAEFCBAEACEDCBAFECBFEDCBAf ⋅⋅⋅+⋅⋅+++=),,,,,( 4.4.10 - Mapeamento quando a função não é expressa em minterms Até agora foi visto como mapear uma função no mapa de Karnaugh quando são conhecidos os minterms ou os maxterms da mesma. É possível mapear a função bem como encontrar sua expressão mínima, mesmo sem conhecer previamente os seus minterms ou maxterms.

B

C

E

A

C

F 1

1

1

1 1

1 1

1 1

1

1

1 1

1 1

1 D F

DEF

ABC

000

000

001

011

010

001 011 010 110 111 101 100

110

111

101

100

Page 82: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 82

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Seja por exemplo a função: )DC)(DCA(BCBDBDCA)D,C,B,A(f +⋅++++⋅+= Para mapear os minterms da função, é necessário representar a mesma como uma soma de produtos.

)DC)(DCA(BCBDBDCA)D,C,B,A(f +⋅+⋅++⋅⋅=

DCDCABCBDBDC(A ++⋅+⋅++++=

)DC)DC(A(BCBDBADACA ++++++⋅=

Assim: DCBDBACBACBDBADACADCBAf ++++++⋅=),,,( Para mapear a função deve-se efetuar um procedimento contrário ao processo de minimização, ou seja, cada produto componente da soma, corresponde a uma combinação de minterms. Assim,

CA ⋅ corresponde à combinação: 5410 mmmm +++

DA corresponde à combinação: 7531 mmmm +++

DBA corresponde à combinação: 64 mm +

CB corresponde à combinação: 131254 mmmm +++

CBA corresponde à combinação: 1110 mm +

DBA corresponde à combinação: 119 mm +

DCB corresponde à combinação: 102 mm +

No mapa abaixo temos o mapeamento completo da função, com as respectivas combinações que podem ser efetuadas para extrair a expressão mínima.

Assim, DCCBCBADCBAf +++=),,,( Exercício: Mapear e obter a expressão mínima da função abaixo.

BCDCBABADCBADCBAf +⋅++++= )(),,,(

1 1 1 1

1 1 1

1 1 1

1 1 1

A

B

C

D 1 1 1 1

1 1 1

1 1 1

1 1 1

A

B

C

D

Page 83: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 83

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

4.4.11 - Funções não especificadas completamente De acordo com o que foi visto, uma função lógica qualquer f é definida especificando o valor (f = 0 ou f = 1), para cada combinação possível das variáveis independentes, através da tabela verdade. A partir desta especificação, são determinados os minterms ou maxterms da função e, através do mapa de Karnaugh, encontrada sua expressão mínima. No entanto, existem situações em que o valor da função f não é especificado para todas as combinações possíveis das variáveis. Neste caso, diferentes funções são possíveis, todas elas satisfazendo as especificações. Estas funções, aparecem em duas situações. Às vezes não interessa qual o valor que a função assume para certas combinações de variáveis. Em outros casos, é sabido de antemão que certas combinações de variáveis nunca ocorrem. Seja por exemplo, o circuito apresentado abaixo.

A saída do circuito deve ser S=1 quando o valor registrado pelo contador for 0, 1, 2, 6, 7 e 8. Para os demais valores do contador, a saída do circuito deve ser S=0.

Considerando que o contador decimal conta de 0 a 9 e que existem 16 combinações possíveis com quatro bits, existem 6 combinações que nunca irão ocorrer na entrada do nosso circuito. Como temos certeza que estas combinações nunca ocorrerão, o valor da função para estas combinações é irrelevante. Pode-se fazer tanto f = 0 como f = 1 nestas situações. Neste caso é colocado x na tabela verdade para estas situações de forma a indicar que o valor assumido pela função neste caso é irrelevante (don´t care). Temos então, para o exemplo, a seguinte tabela verdade:

A B C D S 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 x 1 0 1 1 x 1 1 0 0 x 1 1 0 1 x 1 1 1 0 x 1 1 1 1 x

Contador Decimal Lógica

B

A

C

D

S

Page 84: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 84

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Nessa situação, a função é representada por: f(A,B,C,D) = Σ(0,1,2,6,7,8) + d(10,11,12,13,14,15) Como x pode assumir tanto o valor 0 como 1, é possível ter várias funções distintas. Como o objetivo é encontrar a expressão mais simples para a função (expressão mínima), assume-se um valor 1 para aqueles x que contribuem para simplificar a função. Os demais valores são iguais a 0, conforme mostrado no mapa abaixo.

A expressão mínima para a função neste caso é:

CBADBBCDCBAf ⋅⋅+⋅+=),,,( Exercícios: Minimizar as funções abaixo:

a) f(A,B,C,D) = Σ(1,4,5,6,8) + d(10,11,12,13,14,15)

b) f(A,B,C,D,E) = Σ(0, 2,3,16,21) + d(4,5,6,7,8,11,13,15,18,19,22,23,24, 25,26,29,30,31

4.5 – Minimização de funções por tabulação (Método de Quine-McCluskey) O mapa de Karnaugh é uma ferramenta útil para a minimizar funções de até 5 ou no máximo 6 variáveis. Para funções com um número maior de variáveis, o uso mapa de Karnaugh acaba se tornando complexo. Para estas situações, deve-se utilizar algum tipo de procedimento sistemático, preferencialmente um que possa ser automatizado. O processo minimização de funções por tabulação, também conhecido como método de Quine-McCluskey, satisfaz os requisitos acima, ou seja, pode ser utilizado tanto manualmente como programável em computador. Seja, por exemplo, a função de 7 variáveis: f(A,B,C,D,E,F,G) = Σ(66,74,75,79,98,99,107,111)

1 x

1 x 1

1 1 x x

1 x x

A

B

C

D

Page 85: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 85

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Representando a função através da soma de produtos, temos:

DEFGCABFGEDCABFGEDCABGFEDCAB

DEFGCBAFGEDCBAGFEDCBAGFEDCBAGFEDCBAf

++⋅⋅+⋅⋅

+⋅+⋅+⋅+⋅⋅⋅=

),,,,,,(

As combinações com 2 minterms que podem ser efetuadas são:

GFECBADDGFECBAGFEDCBAGFEDCBAmm ⋅⋅=+⋅⋅=⋅+⋅⋅⋅=+ )(7466

GFEDCABBGFEDCAGFEDCABGFEDCBAmm ⋅⋅=+⋅⋅=⋅⋅+⋅⋅⋅=+ )(9866

FEDCBAGGFEDCBAFGEDCBAGFEDCBAmm ⋅=+⋅=⋅+⋅=+ )(7574

DFGCBAEEDFGCBADEFGCBAFGEDCBAmm ⋅=+⋅=⋅+⋅=+ )(7975

FGEDCABBFGEDCAFGEDCABFGEDCBAmm =+=+⋅=+ )(10775

DEFGCABBDEFGCADEFGCABDEFGCBAmm =+=+⋅=+ )(11179

FEDCABGGFEDCABFGEDCABGFEDCABmm ⋅⋅=+⋅⋅=⋅⋅+⋅⋅=+ )(9998

FGECABDDFGECABFGEDCABFGEDCABmm =+=+⋅⋅=+ )(10799

DFGCABEEDFGCABDEFGCABFGEDCABmm =+=+=+ )(111107

É possível ainda efetuar uma combinação com 4 minterms:

DFGCABBDFGCADFGCABDFGCBAmmmm =+=+⋅=+++ )(1111077975

O conjunto de Implicantes Primos da função é:

DFGCAFGECABFEDCABFEDCBAGFEDCAGFECBAP +⋅+⋅⋅+⋅+⋅⋅+⋅⋅=

Nesse conjunto, existem Implicantes Primos que podem ser eliminados, como podemos ver abaixo:

GFECBADFGCAFEDCBAGFECBADFGCA ⋅⋅+=⋅+⋅⋅+

FEDCABDFGCAFGECABFEDCABDFGCA ⋅⋅+=⋅+⋅⋅+

GFECBAFEDCABGFEDCAGFECBAFEDCAB ⋅⋅+⋅⋅=⋅⋅+⋅⋅+⋅⋅

Em todos os casos acima, foi aplicado o teorema: zxxyyzzxxy +=++ Assim, a expressão mínima da função é:

DFGCAFEDCABGFECBAGFEDCBAf +⋅⋅+⋅⋅=),,,,,,( Analisando o exemplo acima, fica evidente a necessidade de um procedimento formal e sistemático para encontrar a expressão mínima de função lógica, que conduza de forma direta ao resultado final. Este procedimento, que será visto a seguir, é o método tabular de Quine-McCluskey.

Page 86: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 86

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

4.5.1 – Método de Quine-McCluskey Como visto no capítulo 4.3.2, a primeira etapa na determinação da expressão mínima de uma função é a combinação sistemática dos produtos, de modo a encontrar os implicantes primos. Determinar o conjunto P de todos os Implicantes Primos da função:

f(A,B,C,D) = Σ(0,2,4,5,6,7,8,11,13,14)

Minterms:

0: DCBA ⋅⋅⋅ √

2: DCBA ⋅ √

4: DCBA ⋅ √

5: DCBA √

6: DBCA √

7: BCDA √

8: DCBA ⋅⋅ √

11: CDBA

13: DCAB √

14: DABC √

Combinações com 2 minterms:

0,2: DBA ⋅⋅ √

0,4: DCA ⋅⋅ √

0,8: DCB ⋅⋅

2,6: DCA √

4,5: CBA √

4,6: DBA √

5,7: BDA √

5,13: DCB

6,7: BCA √

6,14: DBC

Combinações com 4 minterms:

0,2,4,6: DA ⋅

4,5,6,7: BA

O símbolo √ indica que aquele produto entrou em uma combinação maior. O conjunto dos Implicantes Primos da função é:

BADADBCDCBDCBAP +⋅++⋅⋅+= Analisando a representação binária dos minterms observa-se que, a condição necessária e suficiente para que dois minterms possam ser combinados é que suas representações em binário difiram em somente uma posição. Para que a representação binária de dois minterms sejam diferentes em somente uma posição, é necessário que os dois minterms possuam somente um bit “1” diferente. Desta forma, para facilitar o processo de combinação, os minterms são arranjados em grupos, de acordo com o número de bits “1” existentes na sua representação em binário. Para que o processo seja sistemático, os seguintes passos devem ser seguidos:

1) Arranjar todos os minterms em grupos, de tal forma que os minterms de um mesmo grupo tenham o mesmo número de bits “1” na sua representação binária. O número de bits “1”em um produto é denominado índice do mesmo. Deve-se agrupar os produtos em ordem crescente de seu índice;

2) Comparar cada produto de um grupo com todos os outros do grupo sucessivo, combinando os produtos sempre que possível. Repetir este processo, comparando cada produto de um grupo de índice i com os produtos do grupo de índice i+1, até que todas as combinações sejam efetuadas. Dois produtos de grupos adjacentes são combináveis se diferirem em somente um bit na sua representação binária. O termo resultante consiste nos bits idênticos, sendo o bit diferente substituído por um traço (-). Cada produto que foi combinado pelo menos uma vez, deve ser marcado;

Page 87: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 87

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

3) Os termos gerados no passo 2 são comparados de acordo com o mesmo procedimento. Um novo termo é gerado pela combinação de dois termos que difiram em somente um bit e que tenham o traço na mesma posição. O processo continua até que nenhuma combinação seja mais possível. Aqueles termos que não foram marcados formam o conjunto dos implicantes primos da função.

Este procedimento consiste em um processo mecanizado de comparação e redução de todos os pares de produtos adjacentes. Exemplo: Determinar os implicantes primos da função: f(A,B,C,D) = Σ(0,1,2,5,6,7,8,9,10,13,15) Inicialmente os minterms são arranjados em ordem crescente do seu índice:

minterm A B C D 0 0 0 0 0 √ 1 0 0 0 1 √ 2 0 0 1 0 √ 8 1 0 0 0 √ 5 0 1 0 1 √ 6 0 1 1 0 √ 9 1 0 0 1 √ 10 1 0 1 0 √ 7 0 1 1 1 √ 13 1 1 0 1 √ 15 1 1 1 1 √

Obs.: a marca “√” indica que o minterm faz parte de, pelo menos, uma combinação com 2 minterms.

Aplicando o processo descrito no passo 2 temos:

A B C D 0,1 0 0 0 - √ 0,2 0 0 - 0 √ 0,8 - 0 0 0 √ 1,5 0 - 0 1 √ 1,9 - 0 0 1 √ 2,6 0 - 1 0 DCA 2,10 - 0 1 0 √ 6,7 0 1 1 - BCA 8,9 1 0 0 - √ 8,10 1 0 - 0 √ 5,7 0 1 - 1 √ 5,13 - 1 0 1 √ 9,13 1 - 0 1 √ 7,15 - 1 1 1 √ 13,15 1 1 - 1 √

Page 88: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 88

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Repetindo novamente o processo com os grupos formados na etapa anterior:

A B C D 0,1,8,9 - 0 0 - → CB ⋅

0,2,8,10 - 0 - 0 → DB ⋅ 1,5,9,13 - - 0 1 → DC

5,7,13,15 - 1 - 1 → BD

Portanto, os Implicantes Primos da função são: DCA , BCA , CB ⋅ , DB ⋅ , DC e BD 4.5.2 - Mapa de Implicantes Primos O mapa de implicantes primos mostra o relacionamento de cobertura entre os Implicantes Primos e os minterms da função. Este mapa consiste em uma tabela com m linhas e n colunas, onde n representa respectivamente o número de minterms e m o número de Implicantes Primos. As entradas na iésima linha do mapa consiste de x’s colocados nas intersecções das colunas correspondentes aos minterms cobertos pelo iésimo implicante primo. O mapa de Implicantes Primos correspondente à função vista acima, está mostrado abaixo.

minterms implicantes 0 1 2 5 6 7 8 9 10 13 15

CB ⋅ × × × ×

DB ⋅ × × × x

DC × × × ×

BD × × × x

DCA × ×

BCA × × O problema agora consiste em selecionar um conjunto mínimo de Implicantes Primos tal que, cada coluna contenha pelo menos um x nas linhas correspondentes ao conjunto selecionado e que, o número total de literais (variáveis) nos implicantes primos seja o menor possível. Estes requisitos garantem que a união dos Implicantes Primos selecionados é equivalente à função f, e que nenhuma outra expressão contendo um número menor de literais, equivalente a f, possa ser encontrada. 4.4.7 - Linha essenciais Se uma coluna do mapa de implicantes contiver somente um ”x”, o Implicante Primo correspondente à linha em que este x aparece é essencial e, portanto, deve ser incluído em qualquer expressão

mínima de f. No exemplo acima, os Implicantes Primos DB ⋅ e BD são essenciais. Este x é identificado no mapa, assim como o Implicante Primo correspondente ao mesmo. A linha correspondente a um Implicante Primo essencial é denominada linha essencial. Uma vez determinados os Implicantes Primos essenciais, todos os minterms cobertos pelos mesmos são marcados.

Page 89: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 89

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

No exemplo acima, o implicante primo essencial DB ⋅ cobre, além do minterm 10, também os minterms 0,2 e 8. Assim, os minterms 0, 2, 8 e 10 são marcados. Se, após todos os Implicantes Primos essenciais, bem como os respectivos minterms terem sido marcados, a função inteira estiver coberta, isto é, todos os minterms foram marcados, então a união dos Implicantes Primos essenciais corresponde à expressão mínima da função. Caso contrário, Implicantes Primos adicionais serão necessários.

Os dois Implicantes Primos essenciais DB ⋅ e BD do exemplo acima, cobrem os minterms 0, 2, 5, 7, 8, 10, 13 e 15. Os minterms 1, 6 e 9 não são cobertos pelos Implicantes Primos essenciais. Para encontrar quais são os Implicantes Primos não essenciais necessários para cobrir os demais minterms, construímos um mapa de implicantes primos reduzido, contendo somente os Implicantes Primos não essenciais e os minterms que não foram cobertos pelos Implicantes Primos essenciais, conforme mostrado abaixo.

implicantes 1 6 9

CB ⋅ × ×

DC × ×

DCA ×

BCA ×

Através do novo mapa de Implicantes Primos, observa-se que os minterms 1 e 9 são cobertos tanto

pelo Implicante Primo CB ⋅ como pelo implicante primo DC . Da mesma forma, o minterm 6 é

coberto pelos Implicantes Primos DCA e BCA . Como pode-se observar, existem 4 combinações de Implicantes Primos que cobrem os minterms 1, 6 e 9, que são:

DCACB +⋅ ; BCACB +⋅ ;

DCADC + ; BCADC + Dessa forma, observa-se que a função possui 4 expressões mínimas que são:

DCACBBDDB)D,C,B,A(f +⋅++⋅=

BCACBBDDB)D,C,B,A(f +⋅++⋅=

DCADCBDDB)D,C,B,A(f +++⋅=

BCADCBDDB)D,C,B,A(f +++⋅= Exemplos: Minimizar as funções abaixo, através do método de Quine-McCluskey: a) f(A,B,C,D) = Σ(0,2,3,4,5,7,8,9,13,15)

Page 90: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 90

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Determinação dos implicantes primos:

0: 0000 √ (0,2): 00-0 (5,7,13,15): -1-1 2: 0010 √ (0,4): 0-00 4: 0100 √ (0,8): -000 8: 1000 √ (2,3): 001- 3: 0011 √ (4,5): 010- 5: 0101 √ (8,9): 100- 9: 1001 √ (3,7):: 0-11 7: 0111 √ (5,7): 01-1 √

13: 1101 √ (5,13): -101 √ 15: 1111 √ (9,13): 1-01

(7,15): -111 √ (13,15): 11-1 √

Obs.: Todas as combinações que não estão assinaladas(√) são implicantes primos. Mapa dos implicantes primos:

implicante 0 2 3 4 5 7 8 9 13 15 DBA ⋅⋅ × × DCA ⋅⋅ × ×

DCB ⋅⋅ × ×

CBA ⋅ × ×

CBA × ×

CBA ⋅ × ×

CDA × ×

DCA × ×

→ BD × × × x

Como pode-se observar no mapa, BD é um implicante primo essencial e cobre os minterms 5, 7, 13 e 15.

Mapa dos implicantes primos não essenciais:

implicante 0 2 3 4 8 9 DBA ⋅⋅ × × DCA ⋅⋅ × ×

DCB ⋅⋅ × ×

CBA ⋅ × ×

CBA ×

CBA ⋅ × ×

CDA ×

DCA ×

Considerando que, no momento, o objetivo é encontrar uma expressão mínima qualquer para a função, é possível simplificar o mapa de implicantes primos, visto que:

Page 91: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 91

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

O implicante primo CBA (minterm 4) é coberto por DCA ⋅⋅ (minterms 0 e 4);

O implicante primo CDA (minterm 3) é coberto por CBA ⋅ (minterms 2 e 3);

O implicante primo DCA (minterm 9) é coberto por CBA ⋅ (minterms 8 e 9). Portanto, estes implicantes primos podem ser extraídos do mapa, o que resulta em:

implicante 0 2 3 4 8 9 DBA ⋅⋅ × × DCA ⋅⋅ × x

DCB ⋅⋅ × ×

CBA ⋅ × x

CBA ⋅ × x

E uma expressão mínima para a função é:

CBACBADCABDDCBAf ⋅+⋅+⋅⋅+=),,,( b) f(A,B,C,D) = Σ(0,2,3,4,5,7,8,10,11,13,15) Determinação dos implicantes primos:

0: 0000 √ (0,2): 00-0 √ (0,2,8,10): -0-0 2: 0010 √ (0,4): 0-00 (2,3,10,11): -01- 4: 0100 √ (0,8): -000 √ (3,7,11,15): --11 8: 1000 √ (2,3): 001- √ (5,7,13,15): -1-1 3: 0011 √ (2,10): -010 √ 5: 0101 √ (4,5): 010-

10: 1010 √ (8,10): 10-0 √ 7: 0111 √ (3,7): 0-11 √

11: 1011 √ (3,11): -011 √ 13: 1101 √ (5,7): 01-1 √ 15: 1111 √ (5,13): -101 √

(10,11): 101- √ (7,15): -111 √ (11,15): 1-11 √ (13,15): 11-1 √

Page 92: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 92

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Mapa dos implicantes primos:

implicante 0 2 3 4 5 7 8 10 11 13 15 DCA ⋅⋅ × ×

CBA × ×

→ DB ⋅ × × x × CB × × × ×

CD × × × × → BD × × x ×

Mapa de implicantes primos reduzido:

implicante 3 4 11 DCA ⋅⋅ ×

CBA ×

CB × ×

CD × × Existem 4 combinações de Implicante Primos que cobrem os três minterms. Portanto, a função possui 4 expressões mínimas:

CBDCADBBDDCBAf +⋅⋅+⋅+=),,,(

CDDCADBBD)D,C,B,A(f +⋅⋅+⋅+=

CBCBADBBD)D,C,B,A(f ++⋅+=

CDCBADBBD)D,C,B,A(f ++⋅+=

Observe que os implicantes primos essenciais BD e DB ⋅ aparecem em todas as expressões mínimas

Page 93: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 93

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

4.4.8 - Aplicação do método de Quine-McCluskey para funções não especificadas completamente:

Na minimização de funções não especificadas completamente (funções que envolvem condições irrelevantes), o procedimento de tabulação para determinar os implicantes da função segue os mesmos procedimentos já vistos para as funções contendo somente minterms. Exemplo: Minimizar a função f(A,B,C,D) = Σ(0,2,5,6,8) + d(10,11,12,13,14,15) Determinação dos implicantes primos: Na etapa de tabulação e combinação, tanto os minterms e as condições irrelevantes são tratados da mesma maneira, ou seja, tratamos todas as condições irrelevantes como se fossem minterms.

0: 0000 √ (0,2): 00-0 √ (0,2,8,10): -0-0 2: 0010 √ (0,8): -000 √ (2,6,10,14): --10 8: 1000 √ (2,6): 0-10 √ (8,10,12,14): 1--0 5: 0101 √ (2,10): -010 √ (10,11,14,15): 1-1- 6: 0110 √ (8,10): 10-0 √ (12,13,14,15): 11--

10: 1010 √ (8,12): 1-00 √ 12: 1100 √ (5,13): -101 11: 1011 √ (6,14): -110 √ 13: 1101 √ (10,11): 101- √ 14: 1110 √ (10,14): 1-10 √ 15: 1111 √ (12,13): 110- √

(12,14): 11-0 √ (11,15): 1-11 √ (13,15): 11-1 √ (14,15): 111- √

Mapa de implicantes primos: Na construção do mapa de implicantes primos, são considerados somente os minterms da função. As condições irrelevantes são ignoradas. Da mesma forma, os implicantes primos que envolvem somente condições irrelevantes são desconsiderados.

0 2 5 6 8 → DCB x

→ DB x × ×

→ DC × x

DA × Como os implicantes primos AC e AB cobrem somente condições irrelevantes, eles não são necessários, podendo ser eliminados. No mapa de implicantes primos podemos observar que os implicantes primos essenciais cobrem todos os minterms da função, sendo a expressão mínima portanto, composta somente pelos implicantes primos essenciais.

DCDBDCBEDCBAf ++=),,,,(

Page 94: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 94

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Exercício: Minimizar a função f(A,B,C,D) = Σ(1,2,3,5,6,8) + d(10,11,12,13,14,15) Determinação dos implicantes primos:

1: 0001 √ (1,3): 00-1 (2,3,10,11): -01- 2: 0010 √ (1,5): 0-01 (2,6,10,14): --10 8: 1000 √ (2,3): 001- √ (8,10,12,14): 1--0 3: 0011 √ (2,6): 0-10 √ (10,11,14,15): 1-1- 5: 0101 √ (2,10): -010 √ (12,13,14,15): 11-- 6: 0110 √ (8,10): 10-0 √

10: 1010 √ (8,12): 1-00 √ 12: 1100 √ (3,11): -011 √ 11: 1011 √ (5,13): -101 13: 1101 √ (6,14): -110 √ 14: 1110 √ (10,11): 101- √ 15: 1111 √ (10,14): 1-10 √

(12,13): 110- √ (12,14): 11-0 √ (11,15): 1-11 √ (13,15): 11-1 √ (14,15): 111- √

Como os implicantes primos AC e AB cobrem somente condições irrelevantes, podem ser eliminados.

1 2 3 5 6 8 DBA × × DCA × ×

DCB ×

CB × ×

→ DC × x

→ DA x Mapa de implicantes primos reduzido

1 3 5 DBA × × DCA × × DCB × CB ×

Para cobrir os minterms 1, 3 e 5, três combinações de Implicante Primos são possíveis:

a) DBA e DCA b) DBA e DCB c) DCA e CB

A alternativa que leva à expressão mais simples (mínima) é

DCA e CB . Portanto, a expressão mínima da função é:

DCACBDADC)D,C,B,A(f +++=

Page 95: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 95

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Exercícios: Minimizar as funções abaixo: f(A,B,C,D) = Σ(1,2,4,6,8,9) + d(10,11,12,13,14,15) f(A,B,C,D) = Σ(1,8,10,13,15) + d(0,2,5,7,11,12,14) f(A,B,C,D) = Σ(1,3,6,7,8) + d(10,11,12,13,14,15) 4.4.9 - Algorítmo de Petrick Nos exemplos vistos até agora, o objetivo foi o de encontrar uma expressão mínima qualquer para a função. É possível no entanto, que seja de interesse a obtenção de todas as possíveis expressões mínimas da função. Neste caso o algoritmo de Petrick é uma ferramenta que permite determinar todas estas expressões mínimas, através de um processo sistemático. Seja por exemplo a função: f(A,B,C,D) = Σ(0,2,3,4,7,8,10,12,14,15) Desenvolvendo o procedimento para encontrar os Implicante Primos, chegamos ao seguinte mapa:

implicante 0 2 3 4 7 8 10 12 14 15 CBA ⋅ × ×

CDA × ×

BCD × × ABC × × DB ⋅ × × × × DC ⋅ × x × × DA × × × ×

DC ⋅ é implicante primo essencial. Eliminando o implicante primo essencial e os respectivos minterms coberto por ele, temos o seguinte mapa de implicantes primos reduzido:

implicante 2 3 7 10 14 15 a CBA ⋅ × × b CDA × × c BCD × × d ABC × × e DB ⋅ × × f DA × ×

É necessário agora, identificar quais combinações de implicantes primos que cobrem esses minterms, utilizando o menor número possível de implicantes primos. De modo a simplificar a representação, identificamos os implicantes primos por a, b, c, d, e e f conforme pode ser observado no mapa de implicantes.

Page 96: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 96

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Para se obter os implicantes primos restantes que formam a expressão mínima da função, é necessário que os minterms 2, 3, 7, 10, 14 e 15 sejam todos cobertos por alguma combinação destes implicantes primos. Assim temos a seguintes situação:

• O minterm 2 é coberto pelo implicante primo a ou pelo implicante primo e. Representamos esta situação por: a + e

• O minterm 3 é coberto pelo implicante primo a ou pelo implicante primo b. Portanto, representamos por: a + b.

• O minterm 7 é coberto pelo implicante primo b ou pelo implicante primo c, ou seja: b + c. • O minterm 10 é coberto pelos implicantes primos e ou f, ou seja: e + f. • O minterm 14 é coberto pelos implicantes primos d ou f, ou seja: d + f. • O minterm 15 é coberto pelos implicantes primos c ou d, ou seja: c + d

Considerando que todos os minterms devem ser cobertos, é necessário realizar uma operação lógica E entre todas estas condições. Denominando P a união de todos os implicantes primos que cobrem estes minterms, temos: P = (a + e)(a+ b)(b + c)(e + f)(d + f)(c + d) Efetuando as distribuições e simplificando a expressão, temos: P = (ae+af+e+ef)(ab+ac+b+bc)(cd+d+cf+df) P = (af+e)(ac+b)(d+cf) P = acdf + acf +abdf + abcf +acde + acef + bde +bcef P = acf + abdf + acde + bde + bcef Cada um dos produtos da soma de produtos acima, representa uma combinação de implicantes primos necessária para cobrir todos os minterms. As combinações que produzem a expressão mínima são: acf e bde Portanto, as expressões mínimas da função são:

DCDBABCCDA

DCDABCDCBA)D,C,B,A(f

⋅+⋅++=

⋅+++⋅=

Observe que o implicante primo essencial DC ⋅ aparece em ambas as expressões mínimas.

Page 97: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 97

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Exercício: Determinar todas as expressões mínimas possíveis para a função: f(A,B,C,D) = Σ(0,1,2,3,5,7,8,9,10,12,13,14,15) Seguindo as etapas vistas anteriormente, chegamos ao seguinte mapa de implicantes primos:

implicante 0 1 2 3 5 7 8 9 10 12 13 14 15 a BA ⋅ × × × × b AB × × × ×

c CA × × × ×

d DA × × × × e BD × × × × f DA × × × × g CB ⋅ × × × ×

h DB ⋅ × × × × i DC × × × ×

Como pode-se observar no mapa acima, não existe nenhum implicante primo essencial na função. É necessário portanto, selecionar quais implicantes primos acima são necessários para formar a expressão mínima da função. O conjunto de implicantes primos para cobrir todos os minterms é: P = (a+g+h)(a++f+g+i)(a+h)(a+f)(e+f+i)(e+f)(c+d+g+h)(c+g+i) (d+h)(b+c+d)(b+c+e+i)(b+d)(b+e) Simplificando temos: P = (a+h)(a+f)(e+f)(c+g+i)(d+h)(b+d)(b+e) Distribuindo os produtos temos: P = (a+fh)(e+bf)(c+g+i)(d+bh) = acde + abceh +adeg +abegh +adei + abehi +abcdf + abcfh + abdfg +abfgh +abdfi +abfhi + cdefh + bcefh + defgh + befgh + defhi + befhi + bcdfh + bcfh + bdfgh + bfgh + bfhi Considerando que todos os implicantes primos possuem o mesmo número de variáveis, devemos selecionar as combinações que envolvam o menor número de implicante primos.

Page 98: Notas de Aula TE050 2017 2 Algebra Lógica - eletrica.ufpr.breletrica.ufpr.br/~pastro/TE050/Notas de Aula TE050_2017_2_Algebra... · Quando se trabalha com sistemas de numeração

ELETRÔNICA DIGITAl I 98

Ademar Luiz Pastro UFPR-Departamento de Engenharia Elétrica / 2017

Portanto, as expressões mínimas para a função são:

acde = BDDACABA +++⋅

adeg = CBBDDABA ⋅+++⋅

adei = DCBDDABA +++⋅ bcfh = CADBDAAB +⋅++ bfgh = CBDBDAAB ⋅+⋅++ bfhi = DCDBDAAB +⋅++ Exercícios: Obter as expressões mínimas da função, através do Algorítmo de Petrick: f(A,B,C,D) = Σ(0,2,4,5,9,10,11,13) f(A,B,C,D) = Σ(0,2,4,5,9,10,11,13) f(A,B,C,D) = Σ(0,3,6,11,13) +d(1,5,9,10,12,14) f(A,B,C,D,E) = Σ(4,5,6,7,12,14,18,20,21,22,26,29,31) f(A,B,C,D,E) = Σ(0,5,7,8,12,14,15,20,22,28,29,30,31)