Vous êtes sur la page 1sur 21

SISTEMAS DIGITAIS

FUNÇÕES LÓGICAS

Setembro de 10 H. Neto, N. Horta


FUNÇÕES LÓGICAS - 2

SUMÁRIO:
FUNÇÕES LÓGICAS
CIRCUITOS COM PORTAS NAND
CIRCUITOS COM PORTAS NOR
REPRESENTAÇÕES NORMALIZADAS
SOMA DE PRODUTOS
MINTERMOS
PRODUTO DE SOMAS
MAXTERMOS
FUNÇÕES INCOMPLETAMENTE ESPECIFICADAS

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 3

EXISTEM 16 FUNÇÕES DE 2 VARIÁVEIS BOOLEANAS

x y f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15


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

Funções já conhecidas
f 0 ( x, y ) = 0 f10 ( x, y ) = y
f 3 ( x, y ) = x f12 ( x, y ) = x
f 5 ( x, y ) = y f14 ( x, y ) = x + y OR
f 8 ( x, y ) = x . y AND f15 ( x, y ) = 1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 4

FUNÇÕES NOR e NAND

x y f1 f7
0 0 1 1
f1 ( x, y ) = x . y = x + y NOR
0 1 0 1 f 7 ( x, y ) = x + y = x . y NAND
1 0 0 1 funcionam como uma porta OR (ou uma porta AND)
1 1 0 0 seguida de uma porta NOT

Simbologia
Nas tecnologias mais comuns (p.ex. CMOS), as
≥1 & portas NOR e NAND (portas inversoras) requerem
menos transistores que as portas OR e AND (portas
não inversoras).
De facto, as portas OR e AND é que são
habitualmente realizadas com um porta NOR ou
NAND seguida de uma porta NOT.
NOR NAND

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 5

FUNÇÕES OU-EXCLUSIVO

x y f6 f9
0 0 0 1 f 6 ( x, y ) = x ⋅ y + x ⋅ y = x ⊕ y XOR
0 1 1 0
f 9 ( x, y ) = x ⋅ y + x ⋅ y = x ⊕ y XNOR
1 0 1 0
1 1 0 1 XOR é verdadeira se uma e apenas uma das 2
entradas for verdadeira.

Simbologia

=1 =1

XOR XNOR

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 6

FUNÇÕES BASEADAS NO OPERADOR BOOLEANO IMPLICAÇÃO

x y f2 f4 f11 f13
f11 ( x, y ) = x + x . y = x + y = x → y : x implica y
0 0 0 0 1 1
0 1 1 0 1 0 f13 ( x, y ) = y + x . y = y → x
1 0 0 1 0 1 f 2 ( x, y ) = y → x
1 1 0 0 1 1
f 4 ( x, y ) = x → y

Simbologia

Estas funções não estão ≥1 ≥1


habitualmente disponíveis
como portas lógicas básicas
para realização de sistemas
digitais.

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 7

PORTAS COM MAIS DE 2 ENTRADAS

As operações AND e OR (e consequentemente as portas NAND e NOR) são facilmente


generalizáveis para N-entradas.
Uma porta AND de N entradas tem a saída a 1 sse todas as entradas estiverem a 1.
Uma porta OR de N entradas tem a saída a 1 se pelo menos uma entrada estiver a 1.

Simbologia

& & ≥1 ≥1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 8

FUNÇÃO OU-EXCLUSIVO COM MAIS DE 2 ENTRADAS

0 =1
1 1
0

x ⊕ y ⊕ z = (x ⊕ y ) ⊕ z
0 =1
1
A XOR de 3 entradas é verdadeira se uma e apenas =1
1 1
uma das 3 entradas for igual a 1, ou se as 3 entradas 0
forem iguais a 1. 0

x1 ⊕ x2 ⊕ x3 ⊕ L ⊕ x N = ((( x1 ⊕ x2 ) ⊕ x3 ) ⊕ L) ⊕ x N
A XOR de N entradas é verdadeira se o número de entradas iguais a 1 for ímpar.
De facto e embora usada genericamente, a designação OU-exclusivo só é estritamente correcta
para a função de 2 variáveis.
As funções de paridade são muito utilizadas em sistemas de comunicação que requerem detecção
de erros: um bit de paridade é habitualmente usado para detectar erros de transmissão.

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 9

CIRCUITOS COM PORTAS NAND

A porta NAND é considerada uma porta universal porque qualquer circuito digital
pode ser realizado apenas com portas NAND.

Qualquer função booleana é realizável apenas com portas NOT


NAND por substituição directa das operações NOT, AND e
OR. AND

OR
A operação NOT é normalmente considerada, em sentido
lato, como uma NAND de 1 entrada.

Nalgumas tecnologias (p.ex. TTL) as portas NAND são as portas mais simples
(portanto mais baratas), pelo que é vantajosa a realização de circuitos só com
NANDs.

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 10

CIRCUITOS COM PORTAS NAND (cont.)

Uma função representada na forma de uma soma de produtos, pode ser transformada numa
forma directamente realizável apenas com portas NAND por simples aplicação da lei de
DeMorgan.

f = x1 x2 + x3 x2 = x1 x2 + x3 x2 = x1 x2 ⋅ x3 x2
= ( x1 nand x2 ) nand ( x3 nand x2 )

A estrutura do circuito
x1 mantém-se inalterada. x1
x2 x2

x3 x3
x1
x2

x3

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 11

CIRCUITOS COM PORTAS NOR

Dual: NOT

Qualquer circuito pode ser realizado apenas com portas


NOR. OR

No caso de a função estar representada como um AND


produto de somas, a transformação mantém a estrutura.

g = ( x1 + x2 ) ⋅ ( x3 + x2 ) = ( x1 + x2 ) ⋅ ( x3 + x2 ) = ( x1 + x2 ) + ( x3 + x2 )
= ( x1 nor x2 ) nor ( x3 nor x2 )

x1 x1
x2 x2

x3 x3

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 12

REPRESENTAÇÃO NORMALIZADA: SOMA DE PRODUTOS

Designa-se por forma normal disjuntiva de uma função booleana simples completamente
especificada, y=f(x1,x2,...,xN), uma expressão lógica representativa da função com a estrutura
de uma soma de produtos.
Por esta razão designa-se habitualmente uma forma normal disjuntiva simplesmente por soma
de produtos.
Se cada parcela for constituída por um produto lógico envolvendo n literais distintos, diz-se que
a função se encontra representada em primeira forma canónica ou forma canónica
disjuntiva.

Exemplos

f ( x1 , x2 , x3 ) = x1. x2 + x1. x2 . x3 ← forma não canónica


f ( x1 , x2 , x3 ) = x1. x2 . x3 + x1. x2 . x3 + x1. x2 . x3 ← forma canónica

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 13

MINTERMOS
Designa-se por mintermo (também produto canónico, implicante canónico ou termo minimal)
um termo de produto em que todas as variáveis aparecem exactamente uma vez,
complementadas ou não.

Mintermos para 3 variáveis


x3 x2 x1 mintermo Um mintermo representa exactamente uma
combinação das variáveis binárias na tabela de
0 0 0 x3 . x2 . x1 m0
verdade da função.
0 0 1 x3 . x2 . x1 m1
Uma função de n variáveis tem 2n mintermos.
0 1 0 x3 . x2 . x1 m2
Cada mintermo é também designado por mi em que
0 1 1 x3 . x2 . x1 m3
o índice i indica o número decimal equivalente à
1 0 0 x3 . x2 . x1 m4 combinação binária por ele representada.
1 0 1 x3 . x2 . x1 m5 O mintermo vale 1 para a combinação representada
1 1 0 x3 . x2 . x1 m6 e 0 para todas as outras.
1 1 1 x3 . x2 . x1 m7

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 14

REPRESENTAÇÃO NORMALIZADA: PRODUTO DE SOMAS

Designa-se por forma normal conjuntiva de uma função booleana simples completamente
especificada, y=f(x1,x2,...,xN), uma expressão lógica representativa da função com a estrutura
de um produto de somas.
Por esta razão designa-se habitualmente uma forma normal conjuntiva simplesmente por
produto de somas.
Se cada parcela for constituída por uma soma lógica envolvendo n literais distintos, diz-se que a
função se encontra representada em segunda forma canónica ou forma canónica conjuntiva.

Exemplos

f ( x1 , x2 , x3 ) = ( x1 + x2 ). (x1 + x2 + x3 ) ← forma não canónica


f ( x1 , x2 , x3 ) = ( x1 + x2 + x3 ). (x1 + x2 + x3 ). (x1 + x2 + x3 ) ← forma canónica

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 15

MAXTERMOS
Designa-se por maxtermo (também soma canónica, implicado canónico ou termo maximal) um
termo de soma em que todas as variáveis aparecem exactamente uma vez, complementadas ou
não.

Maxtermos para 3 variáveis


x3 x2 x1 maxtermo Um maxtermo representa exactamente uma
0 0 0 x3 + x2 + x1 M0 combinação das variáveis binárias na tabela de
verdade da função.
0 0 1 x3 + x2 + x1 M1
Uma função de n variáveis tem 2n maxtermos.
0 1 0 x3 + x2 + x1 M2
Cada maxtermo é também designado por Mi em
0 1 1 x3 + x2 + x1 M3
que o índice i indica o número decimal equivalente
1 0 0 x3 + x2 + x1 M4 à combinação binária por ele representada.
1 0 1 x3 + x2 + x1 M5 O maxtermo vale 0 para a combinação representada
1 1 0 x3 + x2 + x1 M6 e 1 para todas as outras.
1 1 1 x3 + x2 + x1 M7

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 16

MINTERMOS E MAXTERMOS

O mintermo corresponde a uma função ≠ 0 com o número mínimo de 1’s na tabela da verdade.
O maxtermo corresponde a uma função ≠ 1 com o número máximo de 1’s na tabela da
verdade.
Um mintermo e um maxtermo com o mesmo índice são complementos um do outro:

mj = M j

Exemplo

m3 = x3 . x2 . x1 = x3 . x2 . x1 = x3 + x2 + x1 = M 3

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 17

TABELA DA VERDADE ↔ SOMA DE PRODUTOS

Uma função booleana pode ser expressa algebricamente, como uma soma de produtos, directamente
a partir da tabela de verdade.
A soma inclui todos os mintermos para os quais a função vale 1.

x3 x2 x1 f
f ( x3 , x2 , x1 ) = ∑ m(0,1,3,5,7 )
0 0 0 1
0 0 1 1 f ( x3 , x2 , x1 ) = x3 . x2 . x1 ← m0
0 1 0 0
+ x3 . x2 . x1 ← m1
0 1 1 1
1 0 0 0 + x3 . x2 . x1 ← m3
1 0 1 1 + x3 . x2 . x1 ← m5
1 1 0 0 + x3 . x2 . x1 ← m7
1 1 1 1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 18

SOMA DE PRODUTOS ↔ PRODUTO DE SOMAS

Conversão entre formas canónicas: o produto de somas utiliza os maxtermos


correspondentes aos mintermos não utilizados na soma de produtos.
É equivalente a aplicar a lei de DeMorgan ao complemento da função.

x3 x2 x1 f f f ( x3 , x2 , x1 ) = m0 + m1 + m3 + m5 + m7
0 0 0 1 0
f ( x3 , x2 , x1 ) = m2 + m4 + m6
0 0 1 1 0
f ( x3 , x2 , x1 ) = m2 + m4 + m6 = m2 . m4 . m6
0 1 0 0 1
0 1 1 1 0 = M 2. M 4. M 6
1 0 0 0 1
1 0 1 1 0 f = x3 . x2 . x1 + x3 . x2 . x1 + x3 . x2 . x1
1 1 0 0 1 = ( x3 . x2 . x1 ). ( x3 . x2 . x1 ). ( x3 . x2 . x1 )
1 1 1 1 0 = ( x3 + x2 + x1 ). ( x3 + x2 + x1 ). ( x3 + x2 + x1 )

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 19

TABELA DA VERDADE ↔ PRODUTO DE SOMAS

Uma função booleana pode ser expressa algebricamente, como um produto de somas, directamente a
partir da tabela de verdade.
O produto inclui todos os maxtermos para os quais a função vale 0.

x3 x2 x1 f
0 0 0 1 f ( x3 , x2 , x1 ) = ∏ M (2,4,6 )
0 0 1 1
0 1 0 0
f ( x3 , x2 , x1 ) = ( x3 + x2 + x1 ) ← M2
0 1 1 1
. ( x3 + x2 + x1 ) ← M4
1 0 0 0
. ( x3 + x2 + x1 ) ← M6
1 0 1 1
1 1 0 0
1 1 1 1

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 20

FUNÇÕES INCOMPLETAMENTE ESPECIFICADAS

Exemplo Função que detecta se um número, no intervalo [1,6], é múltiplo de 3.


A função toma o valor ‘X’ (às vezes também representado por ‘-’) para
x3 x2 x1 f
cada uma das combinações das entradas que nunca ocorrerão.
0 0 0 X
Realidade Física: ‘X’ não existe, apenas existem ‘0’ ou ‘1’.
0 0 1 0
X – “don´t care”: não nos preocupamos com o comportamento do circuito
0 1 0 0
para os valores fora do intervalo, portanto podemos escolher para cada ‘X’
0 1 1 1 o mais adequado entre ‘0’ ou ‘1’.
1 0 0 0 Representação: f ( x3 , x2 , x1 ) = ∑ m(3,6 ) + ∑ md (0,7 )
1 0 1 0
= m3 + m6 + md 0 + md 7
1 1 0 1
f ( x3 , x2 , x1 ) = ∏ M (1,2,4,5) ⋅ ∏ M d (0,7 )
1 1 1 X
= M 1.M 2 .M 4 .M 5 .M d 0 .M d 7

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta


FUNÇÕES LÓGICAS - 21

FUNÇÕES INCOMPLETAMENTE ESPECIFICADAS (cont.)

Exemplo Estratégia: para cada ‘X’ escolhemos ‘0’ ou ‘1’ de acordo com os
objectivos do projecto, habitualmente maior simplificação.
x3 x2 x1 f →g Neste caso, a solução mais simples corresponde a substituir o
0 0 0 X →0 primeiro ‘X’ por ‘0’ e o segundo por ‘1’.
0 0 1 0 0
0 1 0 0 0 f → g ( x3 , x2 , x1 ) = ∑ m(3,6,7 ) = ∏ M (0,1,2,4,5)
0 1 1 1 1 = x2 x1 + x3 x2
1 0 0 0 0 = x2 ( x1 + x3 )
1 0 1 0 0
1 1 0 1 1
x2
1 1 1 X →1 x1 f
x3

Setembro de 10 SISTEMAS DIGITAIS H. Neto, N. Horta

Vous aimerez peut-être aussi