funções lógicas - octaviodiasblog.files.wordpress.com · sistemas digitais 15-05-2016 octávio...

52
Sistemas Digitais 15-05-2016 Octávio Dias Sistemas Digitais/1 De facto, os circuitos electrónicos que são a base dos sistemas digitais exibem em cada momento um valor de tensão que representa um de dois estados possíveis. Essa situação pode ser interpretada como uma grandeza que pode assumir dois valores, os quais são habitualmente referidos como 0e 1. Porém, a grandeza não tem qualquer significado numérico, pelo que, os símbolos 0e 1não representam números, mas sim estados. 6 Funções lógicas Para o estudo das funções lógicas usa-se a álgebra de Boole, assim chamada em homenagem ao seu criador George Boole. A álgebra de Boole opera com relações lógicas e não com relações quantitativas como acontece na álgebra tradicional.

Upload: lamkhue

Post on 20-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/1

De facto, os circuitos electrónicos que são a base dos sistemas digitais exibem

em cada momento um valor de tensão que representa um de dois estados

possíveis. Essa situação pode ser interpretada como uma grandeza que pode

assumir dois valores, os quais são habitualmente referidos como “0” e “1”.

Porém, a grandeza não tem qualquer significado numérico, pelo que, os

símbolos “0” e “1” não representam números, mas sim estados.

6 – Funções lógicas

Para o estudo das funções lógicas usa-se a álgebra de Boole, assim chamada

em homenagem ao seu criador George Boole. A álgebra de Boole opera com

relações lógicas e não com relações quantitativas como acontece na álgebra

tradicional.

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/2

Uma grandeza que apenas pode assumir um de dois valores é representada

por uma variável binária, também designada por variável booleana.

Deste modo, os valores “0” e “1” que a variável booleana pode assumir,

chamam-se valores booleanos, valores binários ou valores lógicos.

Em vez do conjunto B={0, 1} poderia usar-se outro conjunto de duas

designações diferentes, como por exemplo {F (false), T (true)} ou {L (low), H

(high}. 0 F L

1 T H

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/3

O universo de partida das funções lógicas é portanto B= {0, 1}. Trata-se de um

conjunto finito de dois elementos, o que permite uma abordagem algébrica

simples. Sobre esta conjunto podem ser definidas funções que se designam

por funções lógicas ou funções booleanas.

Como o conjunto B= {0, 1}, é finito, e tem apenas dois elementos, as

possibilidades dos valores que as funções lógicas podem assumir, são

limitadas, o que permite definir estas funções lógicas por intermédio de uma

tabela, designada por tabela de verdade ou simplesmente por tabela da função.

Estudaremos de seguida as funções, e as portas lógicas que as implementam,

de maior relevância no contexto da disciplina.

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/4

Função NOT – Porta lógica NOT (negação, inversora, complementação)

Funções lógicas de uma variável

A S

S=1 S=0

Símbolos da função NOT.

Para além da função NOT, podem também definir-se as funções identidade e constante.

Tabela de verdade da função NOT A

0 1

1 0

S=𝐴

𝑓 𝐴 = 𝑆 = A

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/5

Função AND (E) – Porta lógica AND (conjunção)

Funções lógicas de duas ou mais variáveis

𝑓 𝐴, 𝐵 = 𝑆 = 𝐴. 𝐵

Símbolos da função AND.

Tabela de verdade da função AND

A B S=A.B

0 0 0

0 1 0

1 0 0

1 1 1

A

B S

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/6

Função OR (OU) – Porta lógica OR (disjunção)

Funções lógicas de duas ou mais variáveis

𝑓 𝐴, 𝐵 = 𝑆 = 𝐴 + 𝐵

Símbolos da função OR.

Tabela de verdade da função AND A B S=A+B

0 0 0

0 1 1

1 0 1

1 1 1

A

B S

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/7

Função NAND - Porta lógica NAND (não E)

Funções lógicas de duas ou mais variáveis

𝑓 𝐴, 𝐵 = 𝑆 = 𝐴. 𝐵

A

B S

A

B S

Símbolos da função NAND.

Tabela de verdade da função NAND

A B

0 0 1

0 1 1

1 0 1

1 1 0

S=𝐴. 𝐵

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/8

Função NOR - Porta lógica NOR (não OU)

Funções lógicas de duas ou mais variáveis

𝑓 𝐴, 𝐵 = 𝑆 = 𝐴 + 𝐵

A

B S

A

B S

Símbolos da função NOR.

Tabela de verdade da função NOR

A B

0 0 1

0 1 0

1 0 0

1 1 0

S=𝐴 + 𝐵

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/9

Função XOR - Porta lógica XOR (OU Exclusivo)

Funções lógicas de duas ou mais variáveis

S A

B

A

B S

Símbolos da função XOR.

𝑓 𝐴, 𝐵 = 𝑆 = 𝐴⊕ 𝐵

Tabela de verdade da função XOR

A B

0 0 0

0 1 1

1 0 1

1 1 0

𝑆 = 𝐴⊕ 𝐵

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/10

Função XNOR - Porta lógica XNOR (Não OU Exclusivo)

Funções lógicas de duas ou mais variáveis

𝑓 𝐴, 𝐵 = 𝑆 = 𝐴⊕ 𝐵

A

B S

A

B S

Símbolos da função XNOR.

Tabela de verdade da função XNOR

A B

0 0 1

0 1 0

1 0 0

1 1 1

𝑆 = 𝐴⊕ 𝐵

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/11

Postulados da álgebra de Boole

Postulados mais significativos da álgebra de Boole.

A+0=A (disjunção)

A.1=A (conjunção)

Elemento neutro

Elemento absorvente

A.0=0 (conjunção)

A+1=1 (disjunção)

Idempotência

A.A=A (conjunção)

A+A=A (disjunção)

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/12

Postulados da álgebra de Boole

A . A = 0 (conjunção)

Complemento

A + A = 1 (conjunção)

Dupla negação

A = A

Inversão dos dois membros de uma igualdade

S= A.B S =A. B (conjunção)

S= A+B S =A + B (disjunção)

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/13

Propriedades da álgebra de Boole

Propriedades mais significativas da álgebra de Boole.

Comutativa

A.B = B.A (conjunção)

A+B = B+A (disjunção)

Associativa

A.B.C = A.(B.C)= (A.B).C (conjunção)

A+B+C = A+(B+C)= (A+B)+C (disjunção)

Distributiva

A.(B+C) = A.B+A.C (conjunção)

A+(B.C) = A+B.C = (A+B).(A+C) (disjunção)

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/14

Teoremas da álgebra de Boole

Teoremas mais significativos da álgebra de Boole.

Absorção

A+A.B = A

A.(A+B) = A

A + A .B = A+B

Redundância

A. A + B = A.B

Consenso

A.B+B.C+A .C = A.B+A C

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/15

Teoremas da álgebra de Boole

Teoremas mais significativos da álgebra de Boole com operadores XOR.

A⊕B⊕C = (A⊕B)⊕C = A⊕(B⊕C)

A⊕B = B⊕A

A⊕B = A .B+A. B

A⊕B = (A+B).(A + B )

A⊕0 = A

A⊕1 =A

A⊕ B = A ⊕B = A⊕B

A ⊕ B = A⊕B

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/16

Leis de Morgan

A + B = A . B

As leis de Morgan são de grande utilidade na simplificação de funções, uma

vez que permitem transformar expressões construídas com base em somas em

expressões construídas com base em produtos, e vice-versa, como se

exemplifica na expressão lógica abaixo.

A. B = A + B

)).(()).((....... ADCBADCBADCBADCBADCB

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/17

Principio da dualidade

Pelos postulados e teoremas relativos às funções AND (conjunção) e OR

(disjunção), conclui-se que para cada expressão válida para a função AND,

existe uma expressão válida, isto é uma igualdade verdadeira, para a função

OR, que pode ser obtida da primeira, trocando entre si o par de valores “0” e

“1” e o par de operadores AND e OR.

Como exemplo, considerem-se os postulados abaixo explicitados.

A . A = 0

A + A = 1

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/18

Precedência das operações

• Parêntesis;

O uso de parêntesis altera a precedência “normal” das operações.

• NOT (negação);

• AND (E);

• OR, XOR (OU e OU Exclusivo).

S1=A .B+C S2=A . (B+C)

A B C S1 S2

0 0 0 0 0

0 0 1 1 1

0 1 0 1 1

0 1 1 1 1

1 0 0 0 0

1 0 1 1 0

1 1 0 0 0

1 1 1 1 0

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/19

Forma canónica normal disjuntiva de uma função booleana

Diz-se que uma expressão lógica está na forma canónica normal disjuntiva, ou

primeira forma canónica, quando está representada por uma soma de

produtos, onde cada um deles contém todas as variáveis da expressão. Cada

um dos produtos é designado por minitermo, ou termo mínimo

f(A, B, C) =S = A.B.C + A.B . C + A . B . C

A primeira forma canónica obtém-se da tabela de verdade da função, por

intermédio da soma dos seus minitermos. Cada minitermo corresponde a uma

linha da tabela da verdade onde a função toma o valor “1”. Conclui-se assim,

que o número de minitermos da expressão é igual ao número de linhas com o

valor 1 da tabela de verdade da função.

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/20

Forma canónica normal disjuntiva de uma função booleana

Exemplo 1 – Explicite a primeira forma canónica da função lógica com a

seguinte tabela de verdade.

A B C S

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

Resolução

f(A, B,C) =S = A .B.C + A.B. C +A.B.C f(A, B,C) =m(2, 7,6)

(minitermos)

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/21

Diz-se que uma expressão lógica está na forma canónica normal conjuntiva, ou

segunda forma canónica, quando está representada por um produto de somas,

onde cada uma delas contém todas as variáveis da expressão. Cada uma das

somas é designada por maxitermo ou termo máximo.

f(A, B. C) =S=(A+B+C) . (A+B + C ) . (A + B + C )

A primeira forma canónica obtém-se da tabela de verdade, por intermédio da

soma dos seus maxitermos. Cada maxitermo corresponde a uma linha da

tabela da verdade onde a função toma o valor “0”. A variável deve ser negada

nos maxitermos onde toma o valor 1. O número de maxitermos da expressão é

igual ao número de linhas com o valor 0 da tabela de verdade da função.

Forma canónica normal conjuntiva de uma função booleana

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/22

Forma canónica normal conjuntiva de uma função booleana

Exemplo 2 – Explicite a segunda forma canónica da função lógica com a

seguinte tabela de verdade.

A B C S

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 0

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

Resolução

f(A, B,C) =S =(A+B+C) . (A+B+C ) . (A+B +C ) . (A +B+C) . (A +B+C ) M(0,1,3,4,5)

(Maxitermos)

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/23

Diagramas lógicos

Os diagramas lógicos ou logigramas são representações de funções por

intermédio da interligação adequada de portas lógicas, de forma a ilustrar o

funcionamento de alto nível da função lógica. Ou seja, os diagramas lógicos

são representações do funcionamento lógico dos circuitos que implementam a

função, sem conterem detalhes eléctricos ou da tecnologia utilizada.

Diagrama lógico da função S=𝐴𝐵 + 𝐶𝐷 (Fonte: Digital Fundamentals, T. Floyd, 2006)

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/24

Representação de funções lógicas

Uma função lógica pode ser representada por intermédio da expressão

booleana, da tabela de verdade ou do diagrama lógico.

S=A.B+C

A B C S

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

A

B

C S

Diagrama lógico

Expressão booleana

Tabela de verdade

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/25

Conjuntos completos de portas lógicas

Habitualmente, nem todos os tipos de portas lógicas são usadas para implementação dos

circuitos, uma vez que o projecto e a implementação são simplificadas se forem usadas

apenas um ou dois tipos de portas lógicas. Deste modo, é importante identificar os

conjuntos de portas lógicas funcionalmente completos, ou seja, os conjuntos de portas

lógicas que, asseguram a realização de todas as funções.

• AND, OR, NOT;

• AND, NOT;

• OR, NOT;

• NAND;

• NOR.

Conjuntos de portas lógicas funcionalmente completos:

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/26

Conjuntos completos de portas lógicas

Conjunto NAND.

NOT

OR

AND

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/27

Conjuntos completos de portas lógicas

Conjunto NOR.

NOT

OR

AND

6 – Funções lógicas

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/28

7 – Simplificação de funções lógicas

Mapas de Karnaugh

A simplificação das expressões lógicas tem por objectivo implementar a função

lógica com circuitos lógicos menos complexos. Esta simplificação pode ser

realizada por intermédio da utilização dos axiomas, postulados e teoremas da

álgebra de Boole, como se constatou através dos exercícios já realizados.

Porém, a simplificação de funções lógicas pode ser conseguida por métodos

mais expeditos como é o caso da técnica, conhecida por método de Karnaugh,

desenvolvida em 1953 por Maurice Karnaugh, engenheiro de telecomunicações

dos laboratórios Bell.

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/29

7 – Simplificação de funções lógicas

Mapas de Karnaugh

Para simplificar uma função lógica pelo método de Karnaugh é de interesse

representá-la na forma canónica disjuntiva (soma de minitermos), e identificar

as linhas adjacentes da tabela de verdade cuja soma tem o valor “1”,

entendendo-se por linhas adjacentes as que diferem apenas pelo valor de uma

das variáveis.

Tome-se como exemplo a tabela de verdade, Linha A B C S

0 0 0 0 0

1 0 0 1 0

2 0 1 0 0

3 0 1 1 0

4 1 0 0 1

5 1 0 1 0

6 1 1 0 1

7 1 1 1 1

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/30

7 – Simplificação de funções lógicas

Mapas de Karnaugh

Constata-se que as linhas 4 e 6 são adjacentes e que as linhas 6 e 7 são

também adjacentes.

Linhas 6 e 7

Da análise das linhas adjacentes 6 e 7, conclui-se que para S=1 basta ter A=1

e B=1; a variável C não tem influência em S, pois varia nestas duas linhas.

Linhas 4 e 6

Da análise das linhas adjacentes 4 e 6, conclui-se que para S=1 basta ter A=1;

e C=0; a variável B não tem influência em S, pis varia nestas duas linhas.

Conclui-se assim, que a função pode ser expressa por,

𝐒 = 𝐀.𝐁 + 𝐀. 𝐂

𝐒 = 𝐀. 𝐁 +⋯

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/31

7 – Simplificação de funções lógicas

Mapas de Karnaugh

Este exemplo evidencia o facto de ser vantajoso que as linhas logicamente

adjacentes sejam também fisicamente adjacentes, o que na forma tabular não

é possível.

Reorganizando a tabela de verdade na forma de um mapa que faça com que

as linhas logicamente adjacentes sejam também graficamente adjacentes,

consegue-se visualizar com maior facilidade a simplificação de funções. Os

mapas assim conseguidos têm a designação de mapas de Karnaugh. No caso

do exemplo será, BC

A 0 0 0 1 1 1 1 0

0 0 0 0 0

1 1 0 1 1

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/32

7 – Simplificação de funções lógicas

Mapas de Karnaugh

A figura abaixo, ilustra um mapa de Karnagh genérico para uma função de três

variáveis.

Repare-se que, para cada posição do mapa, existem três minitermos

adjacentes. Por exemplo para a posição P tem os minitermos adjacentes A1,

A2 e A3.

P 101 A1 100

A2 001

A3 111

De facto,

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/33

7 – Simplificação de funções lógicas

Mapas de Karnaugh

Repare-se qua os minitermos laterais também são logicamente adjacentes, o

que corresponde a uma adjacência gráfica que se conseguiria se o mapa

estivesse desenhado sobre um cilindro de eixo vertical.

P 110 A1 111

A2 010

A3 100

De facto,

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/34

7 – Simplificação de funções lógicas

Mapas de Karnaugh

BC

A 0 0 0 1 1 1 1 0

0 m0 m1 m3 m2

1 m4 m5 m7 m6

Adjacências lógicas periféricas do mapa de Karnaugh

Três variáveis

CD

AB 0 0 0 1 1 1 1 0

0 0 m0 m1 m3 m2

0 1 m4 m5 m7 m6

1 1 m12 m13 m15 m14

1 0 m8 m9 m11 m10

Quatro variáveis

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/35

7 – Simplificação de funções lógicas

Mapas de Karnaugh

Para explicitar a expressão de uma função lógica a partir do mapa de

Karnaugh, procede-se do modo seguinte,

• A expressão de cada agrupamento contém apenas as variáveis que mantêm

o valor constante dentro do agrupamento;

• A expressão da função é constituída pela soma das expressões de cada um

dos agrupamentos;

• Deve ter-se o cuidado de não formar agrupamentos em que todas as suas

células já estejam incluídas noutros agrupamentos.

• Identificam-se os agrupamentos formados por 2n, (número par) minitermos

adjacentes, correspondentes aos minitermos (células com o valor “1”);

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/36

7 – Simplificação de funções lógicas

Mapas de Karnaugh

Uma função lógica com a tabela de verdade,

Exemplo para duas variáveis

B

A 0 1

0 1 0

1 1 0

Corresponde o mapa de Karnaugh,

Portanto, a expressão da função é dada por,

A B S

0 0 1

0 1 0

1 0 1

1 1 0

S = B

Sistemas Digitais

BC

A 0 0 0 1 1 1 1 0

0 0 0 0 0

1 1 0 1 1

15-05-2016 Octávio Dias Sistemas Digitais/37

7 – Simplificação de funções lógicas

Mapas de Karnaugh

Considere-se a uma função lógica com a tabela de verdade,

Da tabela obtém-se o mapa de Karnaugh,

Do qual se retira a função,

S = A. B + A. C

A B C S

Exemplo para três variáveis

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/38

7 – Simplificação de funções lógicas

Cada um dos dois agrupamentos é lido do seguinte modo:

• Grupo AB – esta expressão contém as variáveis A e B porque elas mantêm o

valor dentro do grupo; a variável C, não é incluída na expressão porque o

seu valor não se mantém constante dentro do grupo;

• Grupo AC – esta expressão contém as variáveis A e C uma vez que elas

mantêm o mesmo valor dentro do grupo; já a variável B, não é incluída na

expressão uma vez que não se mantém constante dentro do grupo.

Mapas de Karnaugh

Exemplo para três variáveis

Sublinha-se que, a expressão correspondente a cada agrupamento só contém

as variáveis que mantêm o valor constante dentro do grupo.

Sistemas Digitais

BC

A 0 0 0 1 1 1 1 0

0 1 0 0 1

1 1 1 0 1

15-05-2016 Octávio Dias Sistemas Digitais/39

7 – Simplificação de funções lógicas

Considere-se uma função lógica f=m(0, 2, 4, 5, 6) com o mapa de Karnaugh,

Do mapa de Karnaugh retira-se a expressão,

f = AB + B C +BC

A expressão f = AB + B C +BC , pode ainda ser simplificada. De facto,

f = AB + B C +BC =AB + C (B + B)= AB + C (1)f= AB + C

Os agrupamentos de minitermos100/110, 000/ 010 e 000/100/010/110 não são

considerados porque esses minitermos já estão incluídos noutros grupos.

Mapas de Karnaugh

Exemplo para três variáveis

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/40

7 – Simplificação de funções lógicas

A expressão f(A, B, C) = AB + C poderia ser retirada directamente do mapa de

Karnaugh se tivéssemos optado pelos agrupamentos,

De facto, a opção por estes agrupamentos permite encontrar a expressão,

f= AB + C

Pode assim concluir-se que, a escolha dos agrupamentos de minitermos é de

grande importância para a obtenção da expressão mais simples para a função.

Mapas de Karnaugh

BC

A 0 0 0 1 1 1 1 0

0 1 0 0 1

1 1 1 0 1

Exemplo para três variáveis

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/41

Mapas de Karnaugh

7 – Simplificação de funções lógicas

Considere-se a função lógica de quatro variáveis com o mapa de Karnaugh, CD

AB 0 0 0 1 1 1 1 0

0 0 0 1 0 0

0 1 0 1 1 1

1 1 1 1 1 0

1 0 0 0 1 0

Do mapa de Karnaugh retira-se a expressão,

f(A, B, C, D) = ABC +ACD + A BC + A C D

Repare-se que, o agrupamento dos minitermos 0101/0111/1101/1111 não foi

considerado porque esses minitermos já se encontram incluídas nos outros

agrupamentos, o que torna o agrupamento redundante.

Exemplo para quatro variáveis

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/42

Mapas de Karnaugh

7 – Simplificação de funções lógicas

Designa-se por implicante de uma função lógica, um agrupamento de

minitermos que satisfaz as regras da associação, ou seja, que só agrupa

minitermos adjacentes e que os agrupamentos contêm 2n minitermos.

Implicantes, implicantes primos e implicantes essenciais

Designa-se por implicante primo de uma função lógica, um agrupamento de

minitermos que satisfaz as regras da associação e agrupa o maior número

possível de minitermos.

Designa-se por implicante primo essencial de uma função lógica, um implicante

primo que inclui um ou mais minitermos que apenas podem estar contidos

nesse agrupamento.

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/43

Mapas de Karnaugh

7 – Simplificação de funções lógicas

Implicantes, implicantes primos e implicantes primos essenciais

A B D - é um implicante primo essencial, por ser o único que pode incluir o minitermo 0010;

A BD - é um implicante primo essencial, por ser o único que pode incluir o minitermo 0111;

AB CD - é um implicante primo essencial, por ser o único que pode incluir o minitermo 1011;

A B C - é um implicante primo não essencial, porque os minitermos 0000 e 0001 podem ser agrupados

de outras formas;

A B C - é um implicante primo não essencial, porque os minitermos 0001 e 0101 podem ser agrupados

de outras formas;

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/44

Mapas de Karnaugh

7 – Simplificação de funções lógicas

Implicantes, implicantes primos e implicantes primos essenciais

A função lógica do slide anterior, que como se constatou tem dois implicantes

primos não essenciais, pode ser representada por intermédio de duas

expressões mínimas diferentes, contendo cada uma delas todos os implicantes

primos essenciais e um dos não essenciais.

f=A B D +A BD+AB CD+A B C f=A B D +A BD+AB CD+A C D

Sistemas Digitais

Mapas de Karnaugh

15-05-2016 Octávio Dias Sistemas Digitais/45

7 – Simplificação de funções lógicas

Implicantes, implicantes primos e implicantes primos essenciais

Existem funções sem implicantes primos essenciais. Por exemplo a função,

f=m(0, 1, 5, 7, 8, 10, 14, 15)

não tem quaisquer implicantes mínimos essenciais e pode ser representada

por duas expressões mínimas

f=A B C +A BD+A B C +AB D f=A C D+BCD+ACD +B C D

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/46

8 – Circuitos combinatórios

Circuitos combinatórios são circuitos cujas saídas num dado instante

dependem unicamente da combinação dos sinais de entrada nesse instante.

Conceito de circuito combinatório

Análise de circuitos combinatórios

X=(A+B)+C

A análise de um circuito combinatório corresponde a determinar o seu

funcionamento a partir da informação existente num diagrama lógico.

Como exemplo, o circuito abaixo,

implementa a função,

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/47

8 – Circuitos combinatórios

Análise de circuitos combinatórios

E 8.1 – Determine a expressão da função implementada pelo circuito,

X=A BC(A + B)

E 8.2 – Explicite a função que o circuito abaixo implementa.

X=(D+(A + B)C)E

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/48

8 – Circuitos combinatórios

A síntese de circuitos combinatórios é o processo inverso da análise. Assim, o

processo de síntese parte de uma descrição da função pretendida, para obter o

circuito lógico correspondente.

Síntese de circuitos combinatórios

A descrição da função do circuito pode ser feita por intermédio de texto, da

tabela de verdade, da expressão da função, ou de um exemplo ilustrativo.

Por exemplo a expressão X=(A+B)(B + C) é implementada pelo circuito,

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/49

8 – Circuitos combinatórios

Síntese de circuitos combinatórios

E 8.3 – Desenhe o circuito que implementa a função Y=AC+BC +A BC

E 8.4 – Desenhe o circuito que implementa a função X=(A+B)(B +C)

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/50

8 – Circuitos combinatórios

Síntese de circuitos combinatórios

E 8.5 – Considere a tabela de verdade abaixo e construa o circuito lógico mais simples

que a implementa. A B C F

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 0

1 1 1 1

A construção do circuito mais simples implica a identificação da expressão lógica mais

simples, pelo devemos usar o mapa de Karnaugh para a obter.

BC

A 0 0 0 1 1 1 1 0

0 0 1 1 1

1 0 1 1 0

S=A B + C

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/51

Síntese de circuitos combinatórios

8 – Circuitos combinatórios

F=A B + C

Basta agora desenhar o circuito lógico que implementa a função,

E 8.6 – Construa o circuito lógico mais simples para detectar a votação da maioria de um

júri constituído por três elementos. O primeiro passo consiste em obter a tabela de verdade para a função “detector de

votação”. A B C S

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

Sistemas Digitais

15-05-2016 Octávio Dias Sistemas Digitais/52

Síntese de circuitos combinatórios

8 – Circuitos combinatórios

A partir da tabela de verdade obtida, constrói-se o mapa de Karnaugh correspondente. BC

A 0 0 0 1 1 1 1 0

0 0 0 1 0

1 0 1 1 1

S=AC+AB+BC

A B C

S=AC+AB+BC