Академический Документы
Профессиональный Документы
Культура Документы
Digital
Sistemas Numéricos
A representação de qualquer número na
base 10 é posicional, isto é, cada dígito
que o compõe assume um “peso”
dependendo da posição que ocupa na
representação.
2 1 0
794 = 7 x 10 + 9 x 10 + 4 x 10
Propriedade dos sistemas numéricos:
O número de dígitos usados no sistema é
sempre igual a base.
O maior digito é igual ao valor da base –1.
O valor que cada dígito assume na
notação de um número é ponderado e é
igual ao seu valor absoluto multiplicado pela
base elevada à posição relativa do dígito
menos 1.
Exemplos:
2 1 0
a) 4267 = (4 x 7 )+(2 x 7 )+(6 x 7 ) = 21610
3 2 1
b) 77778 = (7 x 8 ) + (7 x 8 ) + (7 x 8 )
0
+ (7 x 8 ) = 409510
3 2 1
c) 11012 = (1 x 2 ) + (1 x 2 ) + (0 x 2 )
0
+(1 x2 ) = 1310
CONVERSÃO ENTRE BASES:
Nm-1 r
Bm-1 Nm r
Bm 0
Bm = Nm
Se s>r os restos B obtidos já são os dígitos
procurados, ou Nr = Bm Bm-1 Bm-2 ..... B0
Nm = 0 . r + B m
2
Ns = (N2. r + B1) r + B0 = N2. r + B1. r + B0
2
Ns = (N3. r + B2 ) r + B1. r + B0
m m-1
Ns = Bm. r + Bm-1. r .....+ B1. r + B0 = Nr
Exemplos:
a) s = 10 , Ns = 69 , r = 2 Nr = ?
69 2
1 34 2 Nr = 10001012
0 17 2
1 8 2
0 4 2
0 2 2
0
1 2
1 0
b) s = 2 , N2 = 1000101 , r = 10, Nr = ?
r = 1010 = 10102
‟ ‟ ‟ 1010
1000101
-1010 1 1 0 1010
111 0 0
-1010
Nr=(110)2(1001)2 = 6910
1001
110
b)Desenvolvimento posicional:
a) s = 2 , Ns = 1110101 , r = 10 , Nr = ?
6 5 4 2
Nr = 1 x 2 + 1 x 2 +1 x 2 + 1 x 2 + 1 = 117
b) s = 10 , Ns = 117 , r = 2 , Nr = ?
2 1
Nr = 1 x (102) + 1 x (102) + 72
2
Nr = 1010 + 1010 + 111
Nr = 1100100 + 10001 = 1110101
Mudança de base de números reais:
Nr = NI + NF , onde
NI = An rn + ..... + A1 r1 + A0
-1 -2 -3
NF = A-1 r + A-2 r + A-3 r + ....
62,71 = 111110,1011012
(7 6 , 5 5)8
62,71 = 00111110,101101002
(3 E , B 4)16
Sistema Decimal
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 A B C D E F
Sistema Hexadecimal
Fundamentos da Computação
Digital
Adição e Subtração em
diversas bases
Adição:
Base 10:
Ex: (1)
6 7
+8 4
1 5 1
Base 10 : (1) (1)
Ex: (1)
6 7
6 7 + 8 4
+8 4 1 (15) (11)
1 5 1 - 10 10
1 5 1
Base 7 :
Ex: (1) (1)
2 57
+ 5 47
1 (8) (9)
- 7 7
(1 1 2)7
Base 8 :
Ex: (1) (1)
7 78
+ 7 78
1 (15) (14)
- 8 8
(1 7 6)8
Base 16 :
1000
-734
2 6 6 é o complemento a 10 de 734
Ex: Base 2 Complemento a 2.
4
Número 1011 Próxima Potência 2 =16=10000
10000
-1011
1 0 1 é o complemento a 2 de 1011
Ex:Base 2:Complemento a 2 de 101101
999
-734
2 6 5 (complemento a 9 de 734)
+1
2 6 6 (complemento a 10 de 734)
Ex:Base 2 “Complemento a 1” de 1011
1111
-1011
1 0 0 (complemento a 1 de 1011)
Ex: Base 2: Complemento a 1 de 1101011
Observação importante:
Para obter o complemento a 1 de um
número basta inverter o número bit a bit.
Operações de subtração em qualquer base
podem ser feitas usando complemento à
base.
Ex: Base 10 913 - 734
91 3
-734
179
Ex: Base 10 913 - 734
91 3 999
-734 -734
179 265
+1
266
Ex: Base 10 913 - 734
91 3 999
-734 -734 91 3
+ 266
179 265
+1 1) 1 7 9
266
Ex: Base 2 11001–10011
Complemento a 2 do subtraendo 1 0 0 1 1
0 1 1 0 0 ( complemento a 1)
+1
0 1 1 0 1 (Complemento a 2)
Ex: Base 2 11001–10011
Complemento a 2 do subtraendo 1 0 0 1 1
0 1 1 0 0 ( complemento a 1)
+1 11001
0 1 1 0 1 (Complemento a 2) +01101
1)0 0 1 1 0
(Resultado)
Ex: Base 2 110110–101101
7 0
MSB LSB
Bit de sinal
{ 0 - n º positivo
1 - n º negativo(em
comp. à 2)
Em 8 bits é possível representar
256 diferentes números: de 00000000 a
8
11111111, já que 2 = 256.
Com o bit mais significativo
representando o sinal, a gama de
números possíveis de serem
representados permanece a mesma
(256), só que agora metade negativa e
metade positiva.
(maior no positivo em 8 bits)
+127 0 1 1 1 1 1 1 1
-128 1 0 0 0 0 0 0 0
(menor no negativo em 8 bits)
Operações aritméticas com números com sinal
Ex:
+ 4
(+) + 9
+13
Exemplos: Números 4 e 9:
Ex:
+ 4 00000100
(+) + 9 00001001
+13 0 0 0 0 1 1 0 1 (positivo)
Exemplos: Números 4 e 9:
Ex:
- 4
(+) - 9
-13
Exemplos: Números 4 e 9:
Ex:
- 4 11111100
(+) - 9 11110111
-13 1) 1 1 1 1 0 0 1 1 (negativo)
Exemplos: Números 4 e 9:
Ex:
- 4
(+) + 9
+ 5
Exemplos: Números 4 e 9:
Ex:
- 4 11111100
(+) + 9 00001001
+ 5 1) 0 0 0 0 0 1 0 1 (positivo)
Exemplos: Números 4 e 9:
Ex:
+ 4
(+) - 9
- 5
Exemplos: Números 4 e 9:
Ex:
+ 4 00000100
(+) - 9 11110111
- 5 1 1 1 1 1 0 1 1 (negativo)
Exemplos: Números 4 e 9:
Ex:
+ 9
(-) + 4
+ 5
Exemplos: Números 4 e 9:
Ex:
+ 9 00001001
(-) + 4 00000100
+ 5
Exemplos: Números 4 e 9:
Ex:
+ 9 00001001 00001001
(-) + 4 00000100 11111100
+ 5
1) 0 0 0 0 0 1 0 1
Exemplos: Números 4 e 9:
Ex:
+ 4
(-) + 9
- 5
Exemplos: Números 4 e 9:
Ex:
+ 4 00000100
(-) + 9 00001001
- 5
Exemplos: Números 4 e 9:
Ex:
+ 4 00000100 00000100
(-) + 9 00001001 11110111
- 5
11111011
Exemplos: Números 4 e 9:
Ex:
+ 4
(-) - 9
+13
Exemplos: Números 4 e 9:
Ex:
+ 4 00000100
(-) - 9 11110111
+13
Exemplos: Números 4 e 9:
Ex:
+ 4 00000100 00000100
(-) - 9 11110111 00001001
+13
00001101
Exemplos: Números 4 e 9:
Ex:
- 4
(-) + 9
- 13
Exemplos: Números 4 e 9:
Ex:
- 4 11111100
(-) + 9 00001001
- 13
Exemplos: Números 4 e 9:
Ex:
- 4 11111100 11111100
(-) + 9 00001001 11110111
- 13
1) 1 1 1 1 0 0 1 1
Overflow em operações aritméticas:
O maior número positivo que se pode ser
armazenado em um registro de 8 bits é
+ 127 ( 0 1 1 1 1 1 1 1 ).
Nas mesmas condições o menor
negativo é –128 (1 0 0 0 0 0 0 0).
Se o resultado de alguma operação
aritmética exceder um dos números acima é
dito que uma condição de overflow ocorreu.
Esta se não detectada, acarreta erro.
A detecção de overflow
é simples e consiste em:
Álgebra de Boole
Álgebra de Boole
+ B F(A,B) = A + B
I
V
-
Símbolo Lógico: A
7432 F
B
(3 variáveis)
Tabela Verdade: A B C F
A B F 0 0 0 0
0 0 1 1
0 0 0 0 1 0 1
0 1 1 0 1 1 1
1 0 1 1 0 0 1
1 1 1 1 0 1 1
1 1 0 1
1 1 1 1
Função NOT (inversor)
F(A) = A
{ F(A) = 0 se A = 1
F(A) = 1 se A = 0
7404
Símbolo Lógico:
A B F
0 0 1
0 1 1
1 0 1
1 1 0
Função NOR
Símbolo Lógico: A
7402 F
B
Tabela Verdade NOR:
A B F
0 0 1
0 1 0
1 0 0
1 1 0
Função Ou-Exclusivo
F(A, B) = A + B
{ F(A, B) = 1 se A = B
F(A, B) = 0 se A = B
A B F
0 0 0
0 1 1
1 0 1
1 1 0
Por inspeção na tabela verdade:
F = 1 se A = 0 e B = 1 ou se A = 1 e B = 0
A.B + A .B
F = AB + AB
Relações da Álgebra Booleana:
Postulados:
1a. A = 1 (se A = 0) 1b. A = 0 (se A = 1)
2a. 0 . 0 = 0 2b. 0 + 0 = 0
3a. 1 . 1 = 1 3b. 1 + 1 = 1
4a. 1 . 0 = 0 4b. 1 + 0 = 1
5a. 1 = 0 5b. 0 = 1
Teoremas:
6a. A . 0 = 0 6b. A + 0 = A
7a. A . 1 = A 7a. A + 1 = 1
8a. A . A = A 8a. A + A = A
9a. A . A = 0 9a. A + A = 1
10a. A = A 10a. A = A
Propriedades Algébricas:
Comutativa:
11a. AB = BA 11b. A + B = B + A
Associativa:
12a. A(BC) = AB(C) 12b. A+(B+C) = (A+B)+C
Distributiva:
13a. A(B+C) = AB + AC 13b. A + BC = (A + B) (A + C)
Teorema da Absorção:
14a. A (A + B) = A 14b. A + AB = A
15a. A (A + B) = AB 15a. A + AB = A + B
Teorema de DeMorgan:
16a. A . B . C = A + B + C
16b. A + B + C = A . B . C
Consequências imediatas das Leis de DeMorgan:
1. A + B = A . B
A A
B B
2. A . B = A + B
A A
B B
Consequências imediatas da Lei de Morgan:
A A
B B
2. A . B = A + B A.B= A+ B A.B= A+ B
A A
B B
Simplificação de expressões booleanas:
Métodos:
Por manipulações algébricas
F(A,B,C) = ∑ (3,5,6,7)
F = ABC + ABC+ ABC+ ABC
F = ABC + ABC+ ABC+ ABC
1
F = ABC+ ABC+ AB(C + C)
F = B(A + C) + ABC
F = AB + BC +ABC
F = AB + C(B + BA)
F = AB + C(B + A)
F = AB + AC + BC
a.2) Simplificar F = ABC + ABC + ABC + ABC
1 1
F = AB(C + C) + AB(C + C) =
AB + AB =
A(B +1 B) = A
a.3) Simplificar F(A,B,C) = ∑ (3, 7)
F= AC(B + B) + AC( B + B)
F= AC + AC = C(A + A)
F= C
Minitermos e Maxtermos:
Considere a A B C F F
tabela verdade 0 0 0 0 1
ao lado que 0 0 1 0 1
expressa a
0 1 0 0 1
função votador
majoritário: 0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 0
Por inspeção na tabela verdade pode-se
escrever :
F = m3 + m5 + m6 + m7 = ∑ (3, 5, 6,7)
(notação compacta)
F = (A + B + C) . (A + B + C) . (A + B + C) .
. (A + B + C)
F acha-se representada por um
produto de somas onde cada soma
contém as 3 variáveis a que F se refere.
Cada uma destas somas é denominada
maxtermo.
A descrição de uma função
booleana por meio de uma expressão
produto de somas (maxtermos)
corresponde à implementação da função
nos pontos onde ela é “0”.
F = (A + B + C) . (A + B + C) . (A + B + C) . ( A + B + C)
F= M3 . M5 . M6 . M7
F = ¶ (3, 5, 6, 7)
Para achar F representada por maxtermos aplicamos
DeMorgan à expressão de F descrita por mintermos.
F = (A + B + C) (A + B + C) (A + B + C) (A + B + C)
b)Represente a função F por meio de somas de
mintermos e produtos de maxtermos:
A B C F
F = ABC + ABC + ABC
0 0 0 0
0 0 1 1 F= (A + B + C) . (A + B + C).
0 1 0 1 (A + B + C) . (A + B + C).
0 1 1 0 (A + B + C)
1 0 0 1
1 0 1 0 F = ∑(1,2,4) = m1 + m2 + m4
1 1 0 0 F = ¶ (0,3,5,6,7) =
1 1 1 0
= M0.M3.M5.M6.M7
Mintermos e Maxtermos para uma função de 3 variáveis:
Linha x y z Mintermo Maxtermo
0 0 0 0 m0 = x y z M0 = x + y + z
1 0 0 1 m1 = x y z M1 = x + y + z
2 0 1 0 m2 = x y z M2 = x + y + z
3 0 1 1 m3 = x y z M3 = x + y + z
4 1 0 0 m4 = x y z M4 = x + y + z
5 1 0 1 m5 = x y z M5 = x + y + z
6 1 1 0 m6 = x y z M6 = x + y + z
7 1 1 1 m7 = x y z M7 = x + y + z
Fundamentos da Computação
Digital
Mapas de Karnaugh
Mapas de Karnaugh:
1) Mapa de duas variáveis:
B 0 1
A B F A
0 0 0 0 0 0 1
B 0 1
1 0 1 1 1 0 A
1
0 m0 m1
2 1 0 1
3 1 1 0 1 m2 m3
2) Mapa de 3 variáveis:
B
A BC 00 01 11 10
0 m0 m1 m3 m2
A 1 m4 m5 m7 m6
C
inversão na
sequência
3) Mapa de 4 variáveis:
“Sentidos” de mapas:
CD AB
AB CD
0 1 3 2 0 4 12 8
4 5 7 6 1 5 13 9
12 13 15 14 3 7 15 11
8 9 11 10 2 6 14 10
CD AB
AB 00 01 11 10 CD 00 01 11 10
m0 m1 m3 m2 m0 m4 m12 m8
00 00
m4 m5 m7 m6 01 m1 m5 m13 m9
01
m3 m7 m15 m11
11 m12 m13 m15 m14 11
CD
AB A
0 4 12 8 Simplificando pelo
0 0 x 0 mapa tem-se que:
1 5 13 9
0 x 1 x F = ABD + ACD +
3 7 15 11 D ABC + BCD
x 1 1 1
C 2 6 14 10
0 x 1 x F = AB + CD
B
A
B
C
D
Simplifique a função booleana abaixo:
F(A,B,C,D) = ∑ (0,1,2,3,4,5,6,7,9,11,13,15)
CD C
AB 0 1 3 2
1 1 1 1
4 5 7 6
1 1 1 1 F= A + D
12 13 15 14 B
0 1 1 0
A 8 9 11 10
0 1 1 0
D
A
F
D
Regras para simplificação com o
mapa de Karnaugh:
1) Começar pelos quadrados isolados , isto é que
não tenham adjacentes. Estes representam
mintermos que não admitem nenhuma
combinação (não podem ser simplificados) mas
que fazem parte da função.
2) Procurar por mintermos (quadrados) que
somente admitam uma combinação apenas.
3) Combinar quadrados que admitam combinações
que englobem o máximo de quadrados
possíveis.
4) Combinar grupos de 8 quadrados que
corresponde à três variáveis a menos.
Observações:
a) Estados opcionais (x – don´t cares) podem ser
incluídos nas combinações caso conduzam a uma
melhor simplificação
b) Combinações onde todos os quadrados
participantes já tenham sido utilizados em
combinações prévias não geram simplificações
adicionais.
Mapas de Karnaugh- Exercícios:
b.1)F(A , B , C) = ∑ 3 , 4 , 6 , 7
B
b.2)F(A , B , C) = ∑ (0, X2, X3, 4, 5, 6)
x x
0 1 x 1 1
C 1 0 x 0 1
B
F = AB + C
Mapas de Karnaugh- Exercícios(outra forma):
b.1)F(A , B , C) = ∑ (3, 4, 6, 7)
x0 x4
x=0,y=0 Z=A+B
x=0,y=1 não ocorre
x=1,y=0 Z=A+B
x=1,y=1 Z=A.B
x y A B Z x y A B Z
0 0 0 0 0 1 0 0 0 0
0 0 0 1 1 1 0 0 1 1
0 0 1 0 1 1 0 1 0 1
0 0 1 1 1 1 0 1 1 0
0 1 0 0 x 1 1 0 0 0
0 1 0 1 x 1 1 0 1 0
0 1 1 0 x 1 1 1 0 0
0 1 1 1 x 1 1 1 1 1
Z
xy x
xB AB A By
0 x 0 0
1 x 0 1
1 x 1 0 B
A
1 x 0 1
y
AB y
ABy
(1)
x xB
B
yAB
A
Z
y yAB
yAB
F = xB + B(yA + yA) + yAB =
xB + B(y . A) + yAB (2)
x xB
B
y Z
B(y . A)
A
yAB
b.6)F(A,B,C,D) = ∑ (2,7,9,10,11,12,14,15)
0 0 0 1
B CD
0 1 1 1 D
C
1 0 1 1
B
BCD
CD C B CD
AB
0 0 0 1
0 0 1 0 ABD
1 0 1 1 B
A
0 1 1 1
D
BCD
ABD
F = ABD + ABD + BCD + BCD (1)
A ABD
B
ABD
F (1)
D BCD
BCD
C
F = ABD + ABD + BCD + BCD =
A(BD + BD) + C(BD + BD)=
A(B + D) + C(B + D) (2)
C
B C(B + D)
F
D
A(B+ D)
A
Fundamentos da Computação
Digital
Método de Minização de
Quine-McCluskey
Quine-McCluskey
Passo1: A função deve estar representada
por soma de mintermos. Caso não esteja
expandir até que todos os mintermos
contenham todas as variáveis.
Exemplo:
F(a,b,c) = ab + bc
F(a,b,c) = ab(c + c) + bc(a + a)
F(a,b,c) = abc + abc + abc
F(a,b,c) = ∑ (3,6,7)
Passo 2: Os mintermos devem ser separados
em grupos por índices, onde o índice é dado
pelo número de variáveis iguais a 1.
Exemplo: F(A,B,C,D) = S (1, 4, 10, 11, 12, 14, 15)
Coluna 1
Índice Mintermo 1
0 ... 4
1 1, 4 10
2 10,12 12
3 11,14 11
4 15 14
15
Passo 3: A representação decimal de cada
mintermo deve ser comparada com todos os
mintermos do próximo grupo de índice maior.
Somente devem ser considerados no
próximo grupo mintermos de número (índice)
mais alto. Dois mintermos devem ser
combinados se seus números diferem de 2N1.
Os mintermos usados devem ser marcados.
Ao final, os mintermos não marcados são
considerados essenciais.
Exemplo: Podemos combinar o mintermo 4
do grupo 1 e mintermo 12 do grupo 2.
Passo 4: Os termos simplificados durante o
passo anterior devem ser colocados em uma
próxima coluna da seguinte forma:
I (2N)
Onde I é o mintermo menor e 2N é a diferença
entre os dois mintermos que foram
combinados. Somente o menor mintermo
deve ser colocado na nova coluna.
AB A
CD
0 1 1 0
ABCD 1 0 0 0
D
0 0 1 1
C
AC
0 0 1 1
REDUNDANTE
B
F(A,B,C,D) = ∑ (1, 4, 10, 11, 12, 14, 15)
F = AC + BCD + ABCD
P1 X
P 4(8) X X
12(2) X X
P 10(1,4) X X X X
1 1 1 1 2 2 1
Ex: Simplifique a função
F(a,b,c,d,e) = ∑ (0,1,2,3,10,16,17,18,19,28,29)
0(1,2,16) X X X X X X X X
2(8) X X
28(1) X X
0(1,2,16) = ABCDE = BC
2(8) = ABCDE = ACDE
28(1) = ABCDE = ABCD
Função Simplificada:
F(A,B,C,D,E) = BC + ACDE + ABCD
Simplifique usando o Método Quine-McCluskey
F(W,X,Y,Z) = ∑ (2, 6, 7, 9, 13, 15)
Coluna 1 Coluna 2
2 2(4)
6 6(1)
9 9(4)
7 7(8)
13 13(2)
15
2 6 7 9 13 15
2(4) X X
6(1) X X
9(4) X X
7(8) X X
13(2) X X
2(4) – retirar 2, 6
9(4) – retirar 9, 13
Ficamos com a seguinte tabela:
7 15
6(1) X
7(8) X X
13(2) X Resposta: 2(4), 9(4), 7(8)
2(4) = W X Y Z = W Y Z
9(4) = W X Y Z = W Y Z
7(8) = W X Y Z = X Y Z
F(W,X,Y,Z) = W Y Z + W Y Z + X Y Z
Fundamentos da Computação
Digital
Lógica Combinacional
Lógica Combinacional
Um circuito combinacional consiste de variáveis
de entrada, portas lógicas e variáveis de saída.
Variáveis Variáveis
Lógica
Entrada Sáida
Combinacional
(n) (m)
Projeto:
1. Defina o problema
2. Determine o número de variáveis de entrada e saída
3. Dê nome as variáveis
4. Escreva a tabela verdade que descreve o circuito
5. Obtenha uma função booleana simplificada para
cada uma das variáveis de saída
6. Desenhe o circuito lógico
Somador de 2 bits: (meio somador)
Tabuada: 0+0=0
0+1=1
1+0=1
1 + 1 = 10
x y C S
0 0 0 0
S= xy+ xy=xy
0 1 0 1
1 0 0 1 C=xy
1 1 1 0
x x.y
y S
y x
y.x
C
x
y
S
C
x
S
y
C
Somador Completo: entrada saídas
x y Ci C0 S
Executa a soma de 0 0 0 0 0
três bits. Dois (x,y) 0 0 1 0 1
representam os dígitos
a serem somados e o 0 1 0 0 1
terceiro corresponde 0 1 1 1 0
ao vai um (Ci) dos bits 1 0 0 0 1
menos significativos. 1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
C0
x yCi00
y
01 11 10
0 0 0 1 0
x 1 0 1 1 1
Ci
C0 = xy + xCi + yCi
S
x yCi00
y
01 11 10
0 0 1 0 1
x 1 1 0 1 0
Ci
S = xyCi + xyCi + xyCi + xyCi
C0= xy + xCi + yCi
C0
½ som.
x ½ som.
y S
Ci C0
Somador Binário Paralelo (4 Bits):
Ex.: 1 1
A= 1 0 1 1 A3 A2 A1 A0
B= 0 0 1 1 + B3 B2 B1 B0
1110 S3 S2 S1 S0
0 1 0 0 1 1 1 1
B3 A3 B2 A2 B1 A1 B0 A0
y x C y x C y x C y x C
C4 3 2 1 0
C 0 + Ci C 0 + Ci C 0 + Ci C 0 + Ci
0 0 1 1 0
S3 S2 S1 S0
1 1 1 0
Subtratores:
Meio-Subtrator:
x y
x y R B
0 0 0 0
B 0 1 1 1
1 0 1 0
R 1 1 0 0
B = xy R = xy + xy = x y
x
y B
xy
x
R
y
B
Subtrator Completo:
x y Bi B0 R
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 1 0
1 0 0 0 1
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
B0
x yBi00
y
01 11 10
0 0 1 1 1
x 1 0 0 1 0
Bi
B0 = xy + xBi + yBi
R
x yBi00
y
01 11 10
0 0 1 0 1
x 1 1 0 1 0
Bi
R = xyBi + xyBi + xyBi + xyBi
R = x y Bi
Vamos comparar as expressões do
somador completo e do subtrator completo
Somador Subtrator
S = Ci (x y) R = Bi (x y)
Ci(Bi)
Z C0(B0)
Se Z = 1 então x passa a ser invertido
(subtração)
Z=0 soma Z = 1 subtração
Z X C0(B0)
soma
{ 0
0
0
1
0
1
{ x
{
subtração
{ 1
1
0
1
1
0
x
Solução Alternativa:
10 A
10
10 B
- 01
1) 0 0
01
+1
01
Portanto podemos adotar a seguinte
solução usando um somador completo:
Z
Ci
B0 somador S0
A0 Co
Ci
B1 somador S1
A1
Co
Z=0 A+B
Z=1 A+B+1 A-B
Conversor de código:
A B C D w x y z
0 0 0 0 0 0 1 1
0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 1
0 0 1 1 0 1 1 0
0 1 0 0 0 1 1 1
0 1 0 1 1 0 0 0
0 1 1 0 1 0 0 1
0 1 1 1 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 1 1 1 0 0
BCD Excesso 3
w
AB
CD C
0 0 0 0
0 1 1 1
x x x x B
A
1 1 x x
D
x
AB
CD C
0 1 1 1
1 0 0 0
x x x x B
A
0 1 x x
D
y
AB
CD C
1 0 1 0
1 0 1 0
x x x x B
A
1 0 x x
D
z
AB
CD C
1 0 0 1
1 0 0 1
x x x x B
A
1 0 x x
D
Pelos mapas temos:
w = A + BC + BD = A + B(C + D)
x = BD + BC + BCD
y = CD + CD = C + D
z=D
A
w
B
C
D
B
D x
C
C
y
D
D z
Circuitos Baseados em NAND:
A A A A
x S = xy
y
x
S = xy
y
S = xy
x
x+y
y
x
x
x. y=x+y
y
y
Método para obter circuitos com NANDS:
AND2
OR2
A
F
I1 AND3
Após a simplificação dos NANDS em pares
C
D
A
F
Exercício: Desenhe a função abaixo usando
NANDS:
F= D + C(A + B)
A
B
C
D F
A
C F
D
A
C F
D
Obtenção da função booleana a partir do
circuito.
C
D T1
T3
B
T4
A
F
T2
T1 = (CD) = C + D
T2 = (BC) = B + C
T3 = B . T1 = B .(C + D) = BC + BD = BC . BD =
(B + C)(B + D) = B + CD
T4 = AT3 = A(B+CD)
F = T2 . T4 = (BC) . (A(B+CD)) =
BC + A(B+CD)
Geração da tabela verdade:
A B C D T1 T2 T3 T4 F A B C D T1 T2 T3 T4 F
0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 0 1 0
0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 0 1 0
0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0
0 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 0 1
0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 0 1
0 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1
0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1
0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1
F
AB
CD C
BC 0 0 0 0
1 1 0 0
1 1 1 1 B
A
0 0 1 0
AB
D ACD
F = AB + BC + ACD
Representação And-Or-Inversor a partir da
Nand-Nand:
Lembrar que :
A+B+ C=
A (ABC) A ABC
B B
C C
(A) (B)
Para reconverter de Nand-Nand para And-
Or-Inversor troque do símbolo (A) para (B)
em níveis alternados de portas a partir da
C saída.
D
A F
B
C
C
D 3º
B 2º
A
1º F
B
C
C
D
A
F
B
C
Circuitos Baseados em Nor:
A A A A
A A+B
B
A A+B
B
A+B
A A.B
B
A
A
A + B= A . B
B
B
Método para obter circuitos com NORS:
A A
A
Exemplo: Desenhe a função abaixo usando
portas comuns em seguida somente Nor´s
F = A ( B + CD ) + BC
C AND1
D OR1
B
AND2
A OR2
I1 F
AND3
C AND1
OR1
D
AND2
I1 AND3
A
F
OR2
Após a simplificação do Nor´s em pares
temos:
C
D
B
A
F
Exercício: Desenhe a função abaixo usando
NOR´S:
F= D + C(A + B)
A
B
C
D F
A
B
F
C
D
A
B
F
C
D
Representação And-Or-Inversor a partir de
Nor-Nor:
Lembrar que :
A. B .C =
A (A+B+C) A (A+B+C)
B B
C C
(A) (B)
Para reconverter de Nor-Nor para And-Or-
Inversor troque do símbolo (A) para o símbolo
(B) em níveis alternados de portas a partir da
saída.
A
B
D F
A
B
D F
A
B
C
F
D
Funções Or-Exclusivo e Nor-Exclusivo
2 Variáveis:
x y = xy + xy = x 8 y = (xy + xy)
x 8 y = xy + xy = x y = (xy + xy)
A B C = (A B) C = A (B C)
A 8 B 8 C = (A 8 B) 8 C = A 8 (B 8 C)
3 Variáveis:
(A B) C = (AB + AB) C =
(AB + AB) . C + (AB + AB) . C =
AB . AB . C + ABC + ABC =
(A + B)(A + B)C + ABC + ABC =
(AB + AB)C + ABC + ABC =
ABC + ABC + ABC + ABC =
∑ 1,2,4,7
A BC00
B
01 11 10
0 0 1 0 1
A 1 1 0 1 0
C
ABC A8B8C
(A 8 B) 8 C = (AB + AB) 8 C =
(AB + AB) . C + (AB + AB) . C =
(AB . AB) . C + ABC + ABC
(A + B)(A + B) . C + ABC + ABC =
ABC + ABC + ABC + ABC =
∑ 1,2,4,7 = ∑ 001 , 010 ,100 , 111
Or-Exclusivo- mintermos com
números binários tendo número impar de
1´s.
Nor-Exclusivo-mintermos com
número binário tendo número par de 0´s.
Quando o numero de variáveis é impar
as funções são equivalentes.
ABC A8B8C
ABCD = A8B8C8D
AB
CD C
Or-Exclusivo
0 1 0 1
número impar
1 0 1 0 de 1´s
0 1 0 1 B
A ABCD
1 0 1 0
D
AB
CD C
Nor-Exclusivo
1 0 1 0
número par de
0 1 0 1 0´s
1 0 1 0 B A8B8C8D
A
0 1 0 1
D
É interessante saber que para
funções com número impar de variáveis
temos por exemplo:
ABC=AB8C=A8BC
A8B8C = ABC
Exemplo de uso de Or/Nor Exclusivo:
x y z P (impar)
0 0 0 1
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 0
P = 1 quando há um número par de uns na
entrada. Na função Or-Exclusivo o número de
uns é impar, logo P é o complemento do Or-
Exclusivo de 3 variáveis.
P=ABC=AB8C
A
B P
C
Verificador de Paridades:
E=x8y8z8P
x
y
E
z
P
Fundamentos da Computação
Digital
Lógica Combinacional
com integrados MSI e LSI
Somadores Paralelos:
B3 B2 B1 B0 A3 A2 A1 A0
C3 C0
S3 S2 S1 S0
Excesso 3
Acelerando os Somadores
Gi
Ci Ci+1
Em cada somador a saída Ci+1 está 2 portas
depois da entrada Ci.
Em um somador de 4 bits há 8 portas entre
C4 e C 0
Método “ CARRYLOOK AHEAD ”
Pi = Ai Bi Si = Pi Ci
Gi = Ai . B i Ci+1 = Gi Pi Ci
Circuito Somador Comum
B3 A3 B2 A2 B1 A 1 B0 A0
C4 C3 C2 C1
C0
S3 S2 S1 S0
C0 C4 8 portas
C0 S3 7 portas
A0, B0 C4 8 portas
A0, B0 S3 7 portas
Fórmula para geração do CARRY
C0
C1 = G0 + P0C0
C2 = G1 + P1C1 = G1 + P1 (G0 + P0C0) =
= G1 + P1G0 + P1P0C0
C3 = G2 + P2C2 = G2 + P2 (G1 + P1G0 + P1P0C0)
= G2 + P2G1 + P2 P1G0 + P2P1P0C0
B3A3 B2 A2 B1 A1 B0 A0
C0
P0
G0
G1 P1
P2
G2
C3 C2 C1
C0 Si 3p
A0, C0 Si 3p S3 S2 S1 S0
Decodificadores
D0 xyz
z D1 xyz
y D2 xyz
D3 xyz
x D4 xyz
D5 xyz
D6 xyz
D7 xyz
Tabela Verdade do Decodificador (3x8)
x y z D0 D1 D2 D3 D4 D5 D6 D7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1
Observe que o decodificador gera todos os
mintermos da função. Deste modo é possível
usá-lo para implementar funções booleanas.
0
1
x 2 F
3
y
4
z 5
6
7
74138
Decodificador com Liberação
E x y D0 D1 D2 D3
0 x x 0 0 0 0
1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 0 0 0 1
y D0 xy
0
x
D1 xy
0
D2 xy
0
D3 xy
0
0
E
O decodificador com liberação pode ser
considerado um demultiplexador, isto é,
um circuito que recebe um sinal E e o
transmite para uma de 2N saídas.
1x4
D0
D1
E
D2
x y D3
Exercício: Use decodificadores 2 x 4 com
liberação para implementar decodificador 3 x 8
D0 D0
y y D1 D1
z z D2 D2
D3 D3’
E
1
x
E D0 D4
y D1 D5
z D2 D6
D3 D7
Codificadores
Projete um circuito que informe em 3 bits qual
das 8 linhas de entrada foi ativada. Assuma
que somente uma das linhas pode estar em
um a cada instante.
D0
x = D4+D5+D6+D7
D1
D2
D3 y = D2+D3+D6+D7
D4
D5
D6 z = D1+D3+D5+D7
D7
Tabela verdade do codificador 8 x 3:
D0 D1 D2 D3 D4 D5 D6 D7 x y z
1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 1
0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 1 1 1 1
Multiplexador:
I0
S1 S0 y
I1
y 0 0 I0
I2
0 1 I1
I3
S1 S0 1 0 I2
1 1 I3
0 I0
0 0
1 I1 0 0
y
0 I2 1
1
0 I3 0 0
s1 1
0
0
s0 1
Implementação de Funções Booleanas com
Multiplexadores
a)Solução trivial:
Implementar F (x,y,z) = ∑ (1,2,5,6)
‘0’
I0
I1
‘1’ I2
I3 y F
I4
I5
I6
I7
S2 S1 S0
x
y
z
Solução Econômica
A B C F
I0
0 0 0 0
I1 F
0 0 1 1
y 0 1 0 0
I2
0 1 1 1
I3 1 0 0 0
S1 S2 1 0 1 1
B 1 1 0 1
C 1 1 1 0
Função F(A,B,C) = ∑ (1,3,5,6)
I0 I1 I2 I3
A 0 1 2 3
A 4 5 6 7
0 1 A A
‘0’ I0
‘1’ I1 F
y
A I2
I3
S1 S0
B
C
Regras para se obter as entradas do Mux
I0 I1 I2 I3 I4 I5 I6 I7
A 0 1 2 3 4 5 6 7
A 8 9 10 11 12 13 14 15
A 1 0 0 0 1 A A
I0
‘1’ I1
‘0’ I2
I3
y
I4
I5
I6
A I7
S2 S1 S0
B
C 74151(MUX 8 x1)
D
Comparador de Magnitude
B3
A2
A >B
x2
B2
(A <B)
A1
B1
x1
A0
(A >B)
B0
x0