You are on page 1of 43

SISTEMAS DIGITALES

CONTENIDO:

TEMA I
GENERALIDADES
 ANTECEDENTES
 SISTEMAS DE NUMERACIÓN
 ÁLGEBRA DE BOOLE
 FUNCIONES BOOLEANAS

TEMA II
LÓGICA COMBINACIONAL
 CIRCUITO COMBINACIONAL DE UNA FUNCIÓN
 CIRCUITO COMBINACIONAL DE N FUNCIONES
 MULTIPLEXORES
 DECODIFICADORES

TEMA III
MEMORIAS
 MEMORIA ROM
 MEMORIA RAM
 DESARROLLO Y CONSTRUCCIÓN DE MEMORIAS

TEMA IV
LÓGICA SECUENCIAL
 DIAGRAMAS DE ESTADO
 REDUCCIÓN DE ESTADOS
 CONTADORES
 AUTÓMATAS FINITOS DETERMINÍSTICOS

TEMA V
ANÁLISIS DE:
 PLA
 PLD
 MICROPROCESADOR
TEMA I.- GENERALIDADES

ANTECEDENTES

CONCEPTO DE NÚMERO.- Representación abstracta por medio de un símbolo de una


cantidad.

NÚMEROS POSICIONALES.- Ejm:


2 22
dos veinte

NÚMEROS ORDINALES.- Ejm:


MMCCCXLI

SISTEMAS DE NUMERACIÓN

El sistema de numeración decimal es familiar a todo el mundo. Este sistema


utiliza los símbolos 0,1,2,3,4,5,6,7,8 y 9. El sistema decimal tiene una característica
de valor por posición (número posicional). El sistema de numeración decimal
también se llama sistema de base 10. Se denomina de base 10 porque tiene 10
símbolos diferentes. En general, un número en base r contiene los dígitos,
0,1,2,3,...,r-1 y se expresa con una serie de potencias en r.

Los números binarios (base 2) se utilizan mucho en electrónica digital y en


computadoras. Los números del sistema hexadecimal (base 16) y octal (base 8) son
utilizados para representar grupos de dígitos binarios. Todos los sistemas de
numeración pueden utilizarse para contar. También tienen todos una característica
de valor por posición. Para distinguir entre números de diferentes bases, se
acostumbra encerrar los coeficientes en paréntesis y colocar un subíndice después
del paréntesis de la derecha con el fin de indicar la base del número. Sin embargo,
cuando el contenido hace obvio que el número está en notación decimal, no se
necesita usar los paréntesis. P.ej: (18)10 (10010) 2

10
n-1
... 103 102 101 100. ...

Base 10 (0-9)

2
n-1
... 23 22 21 20 . ...

Base 2 (0-1)
CONVERSIÓN A BASE 10

• (221)3 (25) 10

2X32 + 2X31 + 1X30 = 18 + 6 + 1 = 25

• (1212)3 (60) 10

1X33 + 2X32 + 1X31 + 2X30 = 27 + 18 + 3 + 2 = 60

Base r rn-1 . . . r3 r
2
r
1
r
0

n−i i
n-1
bh r + bh-1r n-2
+ bh-2r n-3 0
+ . . . + b0r = ( )10 ó ∑ bi r
i =0
donde:

bh = dígito en la posición h
n = número de dígitos

• (4322)5 (587) 10

r=5
n=4 b3rn-1 + b2rn-2 + b1r n-3 + b0r n-4 =
b0=2 4 x 53 + 3 x 52 + 2 x 51 + 2 x 50 =
b1=2 500 + 75 + 10 + 2 = 587
b2=3
b3=4

• (238)9 (197) 10
n−i i
∑ bi r = 8 x 90 + 3 x 91 + 2 x 92 = 8 + 27 + 162 = 197
i =0

• (243)5 (73) 10
n−i i
∑ bi r = 3 x 50 + 4 x 51 + 2 x 52 = 3 + 20 + 50 = 73
i =0

• (354)6 (142) 10
n−i i
∑ bi r = 4 x 60 + 5 x 61 + 3 x 62 = 4 + 30 + 108 = 142
i =0
• (10111011)2 (187) 10
n−i i
∑ bi r = 1 x 20 + 1 x 21 + 0 x 22 +1 x 23 + 1 x 24 + 1 x 25 + 0 x 26 + 1 x 27 =
i =0
= 0 + 2 + 0 + 8 + 16 + 32 + 0 + 128 = 187

• (AA3)Hex (2723) 10

n−i i
∑ bi r = 3 x 160+ 10 x 161 + 10 x 162 = 2560 + 160 + 3 = 2723
i =0

Para la parte decimal:

. 1/10 1
/
100
1
/
1000
1
. . . /10m

m −i
.d1 1/r1 + d2 1/r2 + d3 1/r3 + d4 1/r4 + . . . + dm 1/rm ó ∑ bi r
i =1
• (223.34)5 (63.76) 10
n−i i
∑ bi r = 3 x 50 + 2 x 51 + 2 x 52 = 3 + 10 + 50 = 63
i =0
m −i
∑ bi r = 3 x 5-1 + 4 x 5-2 = 3/5 + 4
/25 = 19
/25
i =1

= 63. 19/25 63.76

• (0.10111)2 (0.71875) 10

m −i
∑ bi r = 1 x 2-1 + 0 x 2-2 + 1 x 2-3 + 1 x 2-4 + 1 x 2-5 = 1/2 + 1/8 + 1/16 + 1/32
i =1
22
= /32 0.71875

• (0.234)6 (0.43518) 10
m −i
∑ bi r = 2 x 6-1 + 3 x 6-2 + 4 x 6-3 = 2/6 + 3/36 + 4/216 = 94
/216 0.43518
i =1
MÉTODO POR DIVISIONES SUCESIVAS

Este método es utilizado para convertir la parte entera de un número que


está en base 10 a cualquier otra base. P.ej:

• (73)10 (243)5
NúmeroCocienteResiduo73
14
2
014
2

• (3245)10 (23005)6

NúmeroCocienteResiduo3245
540
90
15
2
0540
90
15

MÉTODO POR MULTIPLICACIONES SUCESIVAS

Este método es utilizado para convertir la parte decimal de un número que


está en base 10 a cualquier otra base. P.ej:

• (0.25)10 (0.02)3

NúmeroProductoEntero0.25
0.75
0.25
0.75
2.25

• (0.25)10 (0.01)2
NúmeroProductoEntero0.25
0.5
00.5
10
10.25x2
• (234.28)10 (1414.12)5

Para la parte entera: Para la parte decimal:


NúmeroCocienteResiduo234 NúmeroProductoEntero0.28
46 0.4
9 01.4
1 21
046 20.28x5
9
1
04
EQUIVALENCIAS ENTRE LOS SISTEMAS DE NUMERACIÓN

Base 10 2 3 4 5 6 7 8 9 11 12 13 14 15 16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 10 2 2 2 2 2 2 2 2 2 2 2 2 2
3 11 10 3 3 3 3 3 3 3 3 3 3 3 3
4 100 11 10 4 4 4 4 4 4 4 4 4 4 4
5 101 12 11 10 5 5 5 5 5 5 5 5 5 5
6 110 20 12 11 10 6 6 6 6 6 6 6 6 6
7 111 21 10 12 11 10 7 7 7 7 7 7 7 7
8 1000 22 20 13 12 11 10 8 8 8 8 8 8 8
9 1001 10 21 14 3 12 11 10 9 9 9 9 9 9
0
10 1010 10 22 20 14 13 12 11 A A A A A A
1
11 1011 10 23 21 15 14 13 12 10 B B B B B
2
12 1100 11 30 22 20 15 14 13 11 10 C C C C
0
13 1101 11 31 23 21 16 15 14 12 11 10 D D D
1
14 1110 11 32 24 22 20 16 15 13 12 11 10 E E
2
15 1111 12 33 30 23 21 17 16 14 13 12 11 10 F
0

Cuando se quiera convertir de una base r1 a una base r2 debe utilizarse como puente
la base 10. P.ej:
• (2234.22)5 ( 634.3234 )7

a) Convertir a base 10:

n−i i
∑ bi r = 4 x 50 + 3 x 51 + 2 x 52 + 2 x 53 = 4 + 15 + 50 + 250 = 319
i =0
m −i
∑ bi r = 2 x 5-1 + 2 x 5-2 = 2/5 + 2
/25 = 12
/25 = 0.48
i =1
(2234.22) 5 (319.48)10

b) Una vez que se haya convertido a base 10, se realizará la conversión a


la base deseada:

(319.48)10 (634.3234 )7

Para la parte entera: Para la parte decimal:


NúmeroCocienteResiduo319 NúmeroProductoEntero0.48
45 0.36
6 0.52
045 0.64
6 0.48
0 0.363.36
4 2.52
3.64

CASO PARTICULAR A:

Si se desea convertir un número de base r 1 a una base r2 y es posible


encontrar un valor de n entero que satisfaga la siguiente condición: r1n = r2,
entonces la conversión se podrá simplificar mediante las siguientes reglas:

1. Debe separarse el número en base r1 en grupos de n elementos del punto decimal


hacia la izquierda y del punto hacia la derecha, completando con ceros en caso
de ser necesario.

2. Debe convertirse directamente a base 10 cada uno de estos paquetes de n


dígitos y así tendremos el nuevo número en base r2.

• (011011.110)2 (33.6 )8

r1 r2
r 1n r 2
2n = 8
n=3
Por lo tanto, el número en base 2 se va a agrupar en paquetes de 3 dígitos y se
convertirá cada paquete para obtener el nuevo número en la base deseada:

011 011 . 110

3
3
.
6

• (11011.1100)2 (1B.C )Hex

r1 r2
r 1n r 2
2n = 16
n=4
Por lo tanto, el número en base 2 se va a agrupar en paquetes de 4 dígitos y se
convertirá cada paquete para obtener el nuevo número en la base deseada:

1 1011 . 1100

1
B
.
C

• (11101110111.111101101)2 (3567.755 )8

r1 r2
r 1n r 2
2n = 8
n=3
Por lo tanto, el número en base 2 se va a agrupar en paquetes de 3 dígitos y se
convertirá cada paquete para obtener el nuevo número en la base deseada:

11 101 110 111 . 111 101 101


3
5
6
7
.
7
5
5
• (1221.22101)3 (57.833 )9

r1 r2
r 1n r 2
3n = 9
n=2
Por lo tanto, el número en base 3 se va a agrupar en paquetes de 2 dígitos y se
convertirá cada paquete para obtener el nuevo número en la base deseada:

El cero está completando


12 21 . 22 10 10 el paquete.
5
7
.
8
3
3

CASO PARTICULAR B:

Si se desea convertir un número de base r 1 a una base r2 y es posible


encontrar un valor de n entero que satisfaga la siguiente condición: r1= r2n, entonces
la conversión se podrá simplificar de la siguiente manera:

Debe desarrollarse cada dígito del número en base r1 en su correspondiente


en la base deseada en n dígitos y se obtendrá entonces el nuevo número en
número en base r2.

• (F83.A2)Hex (111110000011.10100010)2

r1 r2
r1 r2n
2n = 16
n=4
Por lo tanto, cada dígito del número en base Hex se va a desarrollar en n dígitos:

F 8 3 . A 2
1111 1000 0 . 1010 0010
011

• (2751.557)8 (010111101001.101101111)2
r1 r2
r1 r2n
2n = 8
n=3
Por lo tanto, cada dígito del número en base 8 se va a desarrollar en n dígitos:

2 7 5 1 . 5 5 7
010 111 101 001 . 101 101 111

OPERACIONES ARITMÉTICAS

Las operaciones aritméticas con números en base r siguen las mismas reglas
que los números decimales. Cuando se usa una base que no sea la 10, se debe
emplear sólo r dígitos admisibles y realizar todos los cálculos con dígitos de base r.

SUMA

112) 9)
+ 10 +111122)3201)3 +1123)534)511 +111111101)211101)2 +1FA3)Hex22
10
21)10 1100)3 2)5 111010)2 C)Hex11CF)Hex

MULTIPLICACIÓN

112) 9)101 2223) 4)520


10 5
x x x x
08)10 2)5 112223) 34)520
5
11FA2)
Hex
12)Hex11
21241442)5 F44FA211964)Hex

RESTA

FA)Hex2
- 12)10 9)
1
- 23)534)5-1 - -
C)HexC8) 11011)201110)21101)2
03)10
10 1)5
Hex

COMPLEMENTO A LA BASE

Los complementos se usan en las computadoras digitales para simplificar la


operación de sustracción y para realizar la manipulación lógica. Existen dos tipos
de complementos para cada sistema de base r: el complemento r base y el
complemento r base disminuída.
COMPLEMENTO r BASE DISMINUIDA
Dado un número positivo N en base r con una parte entera de n dígitos y una
parte fraccionaria de m dígitos, se define como el complemento r base disminuída:

Ncr-1 = rn - r-m - N

P.ej: Complemento r base disminuida en base 10

• (25.639)10 = 102 - 10-3 - 25.639 = 100 - 0.001 - 25.639 = 74.36

• (52520)10 = 105 - 100 - 52520 = 47479


BASE NORMAL

Ncr = rn - N
r = base
N = Número
n = número de dígitos

Obtener el complemento a la base de:

• (2392)10 = 104 - 2392 = 10000 - 2392 = 7608

Para un número que está en base 2, el complemento a la base se forma si después


del primer uno (de derecha a izquierda), se cambian unos por ceros y ceros por
unos. P.ej:

• (1011101)2 = (0100011)

• (00011101)2 = (11100011)

La sustracción de 2 números positivos, M - N , en base r se puede hacer de la


siguiente manera:

1. Se suma el minuendo M al complemento a la base del sustraendo N.


2. Se inspeccionan los datos obtenidos en el paso anterior para ver si ocurre una
"lleva" final.
a) Si ocurre una "lleva" final, se debe descartar.
b) Si no ocurre una "lleva" final, se toma el complemento a la base del
número obtenido en el paso 1 y se signa negativa la magnitud.

• Ejemplo 1.
+
18)1010010)2M Se suma M con el10010)29)1001001)2Ncomplemento de N:
10111)2 9)101 01001
Por lo tanto, el resultado es: 01001)2 9)10 Se descarta la
"lleva"

• Ejemplo 2.

+
28)10011100)2M Se suma M con el011100)241)10101001) Ncomplemento de N:
2
010111)2-13)10110011
No ocurrió una lleva,
por lo que se tomará
el complemento a la
base del resultado y se
El resultado es: -001101)2 -13)10 le agregará un signo
CÓDIGO negativo.

Un código es un conjunto de símbolos o variables discretas que se asocian a


otro conjunto de variables discretas y contínuas. Pueden ser instrucciones, letras,
caracteres, valores de resistencia, etc. Entendemos por variables contínuas
aquellas que se pueden subdividir en forma infinita. Las variables discretas son
aquellas que no se pueden subdividir en forma infinita, es decir, tienen un límite de
divisibilidad. Si tenemos n dígitos en base r, se pueden codificar rn elementos.

LÓGICA BINARIA

La lógica binaria tiene que ver con variables que asumen dos valores
discretos y con operaciones que asumen un significado lógico. A los dos valores que
toman las variables se asumen en términos de bits 0 y 1. La lógica binaria es una
herramienta para manipuleo de información binaria y para el diseño de sistemas
digitales. Las variables se identifican mediante las letras del alfabeto y cada una
tendrá dos y sólo dos valores posibles 1 y 0. Existen tres operaciones básicas en la
lógica binaria y son AND, OR y NOT.

1. AND. Esta operación se representa por un punto o por la ausencia de un


operador. Por ejemplo, X • Y = Z o XY = Z se leen como "X y Y es igual a Z" o
"X and Y es igual a Z. La condición de esta operación es que Z=1 si y sólo si X =
1 y Y = 1.

2. OR. Esta operación se representa por un signo más (+). Por ejemplo, X + Y = Z
se lee "X o Y es igual a Z" o "X or Y es igual a Z". La condición para esta
operación es que Z = 1 si X = 1 o Y = 1, o si X = 1 y Y = 1.

3. NOT. Esta operación se representa por una barra colocada arriba de una variable
o por la variable seguida de un apóstrofe. Por ejemplo: Y' = Z se lee "Y negada
es igual a Z", que quiere decir que Z es lo que no es X.
AND OR NOT

XYZXYZXX'0000000101001110100101111111
XY=Z X+Y=Z X'=Z

Tablas de verdad de las tres operaciones lógicas

Los circuitos digitales electrónicos se llaman circuitos lógicas ya que con las
entradas adecuadas establecen caminos de manipuleo lógico. La unidad mínima de
un circuito capaz de ejecutar una operación fundamental se llama compuerta lógica
o circuito de conmutación.

X XY=Z X X+Y=Z
X X'
Y Y

AND OR NOT

ALGEBRA DE BOOLE

El álgebra booleana es la que tiene que ver con variables binarias y


operaciones lógicas. Las variables se designan por letras del alfabeto, y las tres
operaciones lógicas básicas son AND, OR y el complemento. Una función booleana
consta de una expresión algebraica formada con variables binarias, las constantes 0
y 1, los símbolos de las operaciones lógicas, paréntesis y un signo igual. Para un
valor dado de las variables binarias, la función booleana puede ser igual a 1 o 0.

PROPIEDADES DEL ÁLGEBRA DE BOOLE

☞ Propiedad de cerradura o conjunto cerrado. Si se realiza una operación con n


operador y dos elemento pertenecientes al espacio de Boole ⇒ Boole = {0,1},
sólo nos dará un resultado en el espacio de Boole.

☞ Propiedad asociativa. Se dice que un operador binario es asociativo si


satisface la siguiente condición para un espacio S. Sea el operador binario * y
X,Y,Z variables binarias, entonces * es asociativo sí y sólo sí X*(Y*Z) =
(X*Y)*Z.
☞ Propiedad o ley conmutativa. Se dice que un operador binario * es
conmutativo sí y sólo sí X*Y = Y*X.

☞ Elemento neutro. Un espacio algebraico tiene un elemento neutro si existe un


valor de n dentro del mismo espacio que satisfaga la operación (X + n = 0)
X*n = X. Las funciones AND y OR existe elemento neutro, pero NOT no tiene
este elemento.

X X X X
1 0

AND OR

XYZ01011 XYZ00010
1 1

☞ Elemento inverso. Para que exista un inverso para * si X*I = n, se dice que
un operador * sobre un espacio algebraico tiene un elemento inverso sí y sólo
sí X * I = n. Para la función AND y OR no existe I.

POSTULADOS Y TEOREMAS BÁSICOS DEL ÁLGEBRA DE BOOLE.

Postulado 2 a) X + 0 = X b) X • 1 = X
Postulado 5 a) X + X' = 1 b) X • X' = 0
Teorema 1 a) X + X = X b) X • X = X
Teorema 2 a) X + 1 = 1 b) X • 0 = 0
Teorema 3 Convoluciòn (X')' = X
Postulado 3 a) X + Y = Y + X b) X Y= Y X Conmutativa
Teorema 4 a) X + (Y + Z)= (X + Y) + b) X(YZ) = (XY)Z Asociativa
Z
Postulado 4 a) X(Y+Z) = XY + XZ b) X+YZ = (X+Y)(X+Z) Distributiva
Teorema 5 a) (X+Y)' = X'Y' b) (XY)'=X'Y' DeMorgan
Teorema 6 a) X + XY = X b) X (X + Y) = X

FUNCIONES BOOLEANAS

Como ya sabemos, na función de boole está formada por variables binarias,


los operadores lógicos AND, OR, NOT , paréntesis y el signo igual ( = ). Una función
lógica puede tener dos y sólo dos valores: 0 y 1. P.ej.

• F1 = XYZ'
X
Y F1
Z
Una compuerta AND puede tener, en teoría, de 2 hasta n entradas.

• F2 = X + Y' Z

X
F2
Y
Z

• F3 = X' Y' Z + X' Y Z + X Y'

Y
Z
• F4 = X Y' + X' Y F3

Y
F4

• F5 = X' Y' Z + X' Y Z' + Z

X
Y
Z F4

Tabla de verdad:
X Y Z F1 F2 F3 F4 F5
0 0 0 0 0 0 0 0
0 0 1 0 1 1 0 1
0 1 0 0 0 0 1 1
0 1 1 0 0 1 1 1
1 0 0 0 1 1 1 0
1 0 1 0 1 1 1 1
1 1 0 1 1 0 0 0
1 1 1 0 1 0 0 1
MANIPULACIÓN ALGEBRAICA

Cuando una función de Boole se ejecuta por medio de compuertas lógicas,


cada literal o letra de la función designa una entrada a cada compuerta y cada
término se realiza con una compuerta. La minimización del número de literales el
número de términos dará como resultado un circuito con menos componentes. No
es siempre posible minimizar ambos simultáneamente.

Reducir las siguientes funciones al mínimo de literales:

• X + X'Y = (X + X') (X + Y) = 1(X + Y) =X+Y

X XYX+Y0000
X
Y 11101111
Y

• X (X' + Y ) = X X' + X Y = 0+XY =X Y

X XYXY000
X 0101001
Y
Y 11

• X' Y' Z + X' Y Z + X Y' = X' Z( Y' + Y ) + X Y' = X' Z + X Y'

X
Y
Z
XYZX'ZXY'X'Z+XY'0000000
0110101000001110110001
1101011110000111000
COMPLEMENTO DE UNA FUNCIÓN

El complemento de la función f es f ' y se obtiene del intercambio de 1 por 0 y


0 por 1 en el valor de f. Los complementos de una función pueden obtenerse a
partir de una extensión general del teorema de DeMorgan.

(X + Y)' = X' Y' (X Y)' = X' + Y'


(X + Y + Z)' = (X + B)' haciendo B = Y+Z (XYZ)' = (X B)' haciendo B =
YZ
= X' B' = (X' + B')
= X' (Y + = (X' + (YZ)'
Z)'
= X' Y' Z' = X' + (Y' +
Z')
= X' + Y' + Z'

El complemento de una función de Boole se obtiene cambiando las


compuertas AND por OR y complementando o negando cada literal.

Ejemplo: Encuentre el complemento de las funciones siguientes aplicando el


teorema de DeMorgan tantas veces como sea necesario.

• F1 = X' Y Z' + X' Y' Z

F1'= (X' Y Z' + X' Y' Z)' = (X + Y' + Z) (X + Y + Z')

X X Y Z F1 F1'
Y 0 0 0 0 1
Z 0 0 1 1 0
0 1 0 1 0
F1
0 1 1 0 1
1 0 0 0 1
1 0 1 0 1
1 1 0 0 1
1 1 1 0 1
X
Y
Z F1'
• F2= X( Y' Z' + Y Z ) = X Y' Z' + X Y Z

F2'= ( X ( Y' Z' + Y Z))' = X' + ( Y + Z) ( Y' + Z')


X
Y
Z X Y Z F2 F2'
F2 0 0 0 0 1
0 0 1 0 1
0 1 0 0 1
0 1 1 0 1
1 0 0 1 0
X 1 0 1 0 1
1 1 0 0 1
F2' 1 1 1 1 0
Y
Z

FORMAS CANONICA Y NORMALIZADA

Una variable binaria puede aparecer en su forma normal o complementaria.


Considérese 2 variables binarias X y Y combinadas con la operación AND ; como
cada variable puede aparecer de cualquier forma, habrá 4 combinaciones posibles.

XY AND
XY
XY'
X'Y
X'Y'

A cada una de estas combinaciones se les llama términos mínimos o


mintérminos de producto normalizado. De manera similar, las variables relacionadas
por una operación OR darán como resultado 2n combinaciones posibles llamadas
términos máximos o Maxtérminos de un producto normalizado.

Nota : todas las funciones booleanas pueden expresarse en mintérminos o


Maxtérminos.

Los mintérminos hacen 1 a la función y los Maxtérminos le dan un valor de 0.

Mintérminos Maxtérminos
X Y Z Término Designación Término Designación
0 0 0 X'Y'Z' m0 X +Y+ Z M0
0 0 1 X'Y'Z m1 X +Y+ Z' M1
0 1 0 X'Y Z' m2 X +Y'+Z M2
0 1 1 X'Y Z m3 X +Y'+Z' M3
1 0 0 X Y'Z' m4 X'+Y +Z M4
1 0 1 X Y'Z m5 X'+Y+Z’ M5
1 1 0 X Y Z' m6 X'+Y’+Z M6
1 1 1 XYZ m7 X'+Y'+Z' M7

El conocimiento de los mintérminos y Maxtérminos nos permite relacionar en


forma directa una función en forma algebraica con su tabla de verdad o viceversa.

F1 = X'Y'Z+ X'Y Z = m1+m3


F2 = X Y Z + XY'Z'+X Y'Z'+X Y'Z +X'Y Z'= m2+m4+m5+m7

Cuando una función se expresa en mintérminos o en Maxtérminos se dice que


está en forma Canónica.
X Y Z F2 F2'
0 0 0 0 1
0 0 1 1 0 F2 = m1+ m3+m6 = ∑ (1,3,6)
0 1 0 0 1 F2 = X'Y'Z + X'Y Z + X Y Z'
0 1 1 1 0
1 0 0 0 1 F2 = M0 . M2 . M4 . M5 . M7 = π (0,2,4,5,7,)
1 0 1 0 1 F2 =
(X+Y+Z)(X+Y'+Z)(X’+Y+Z)(X'+Y+Z')(x’+y’+z’
)
1 1 0 1 0
1 1 1 0 1

DEMOSTRACIÓN

F2' = m0 + m2 + m4 + m5 + m7
F2'= X'Y'Z' + X'Y Z'+ + X Y'Z' ++ X Y'Z + X Y Z
(F2') '= F2 (X + Y + Z) (X + Y'+ Z) (X'+ Y + Z) (X'+ Y + Z') (X'+Y'+Z')
=
M0 M2 M4 M5 M7

FORMA NORMALIZADA

F4 = X'Y'Z + X'Y Z+ X'Y'Z (SP) CANONICA


F5 = (X+Y)(X'+Y'+Z) (PS) NORMALIZADA
F2 = (Y'Z'+YZ) (X+Y’) No tiene forma ordenada.

Convertir la siguiente función de Boole a las dos formas canónicas SP y PS.

F1 = a' + ab + b'c'
= a' (b+b') + ab (c+c') + b'c' (a+a')
= a'b + a'b' + abc + abc' + ab'c' + a’b'c'
= a'b (c+c') + a'b' (c+c') + abc + abc' + ab'c’ + a'b'c'
= a'bc + a'bc' + a'b'c + a'b'c' + abc + abc' + ab'c' + a'b'c' (SP)
m3 m2 m1 m0 m7 m6 m4 m0

F1 = m 0+ m 1 + m 2 + m 3 + m 4 + m 6 + m 7

F1 = Σ (0,1,2,3,4,6,7) a b c F1
F1 = π (5) = a'+ b+ c' 0 0 0 1
(PS)
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

Escribir la función en sus formas Canónicas

F2 = A + B'C
= A (B+B') + B'C (A+A')
= AB + AB' + AB'C + A'B'C
= AB (C+C') + AB' (C+C') + AB'C + A'B'C
= ABC + ABC' + AB'C + AB'C' + AB'C + A'B'C
m7 m6 m5 m4 m5 m1

F2 = m1 + m4 + m5 + m6 + m7

F2 = Σ (1,4,5,6,7) A B C F2
F2 = π (0,2,3) 0 0 0 0
= 0 0 1 1
(A+B+C)(A+B'+C)(A+B'+C')
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

OTRAS COMPUERTAS LÓGICAS

Existen operaciones no fundamentales que se aplican en múltiples ocasiones


al implementar funciones lógicas con compuertas, los fabricantes de CI (Circuitos
Integrados) ponen en nuestras manos compuertas capaces de ejecutar operaciones
lógicas compuestas con el fin de tener un ahorro general en el diseño (tiempo -
dinero).

P.ej. :

F = XY
AND
X Y XY
F
0 0 0 X
0 1 0 Y
1 0 0
AND
1 1 1

F = X+Y
OR
X Y X+
Y
F
X
Y
OR
0 0 0
0 1 1
1 0 1
1 1 1

F = X'Y + XY'
EX-OR
X Y X ⊕Y
0 0 0 F
X
0 1 1 Y
1 0 1
1 1 0 EX-OR
EX-OR (EXCLUSIVE-OR)

F = (XY)'= X'+Y'
NAND
X Y X↑Y F
0 0 1 X
0 1 1 Y
1 0 1 NAND
1 1 0
NAND (NOT-AND)
F = (X'Y') = (X+Y)'

NOR
X Y X Y
0 0 1 F
X
0 1 0
1 0 0
1 1 1 NOR
NOR (NOT-OR)

Nota : Todas las compuertas no básicas satisfacen la propiedad conmutativa. Las


compuertas no básicas, negadas no son asociativas

Demuestre que la operación NOR no es asociativa.

• (X↓ Y) ↓ Z ≠ X ↓ (Y ↓ Z)
F
((X+Y)'+Z)'= ((X+Y)')'Z' = (X+Y)Z' X
(X↓Y) X X↓Y↓Z
X ↓ (Y ↓ Z) = X'(Y+Z)'' = X (Y+Z) Y Y
(X+Y)Z' ≠ X'(Y+Z) Z Z

• (A↑ B) ↑ C ≠ A↑ B ↑ C
((AB)'•C)'
(A ↑ B) ↑ C = ((AB)'•C)' = AB +C'
A ↑ B ↑ C = (ABC)' = A' +B'+ C'

A
B A
B A↑B↑
(A↑B)↑
C C

Compuerta de multinivel:

F = ((ABC)'(DE)' )' = ABC + DE


El Ex-or si es asociativo

A
A
B ((ABC)'(DE)')
B
C
C
D
D
E
E

FAMILIAS DE LOS CIRCUITOS INTEGRADOS

Las compuertas digitales de circuitos integrados se clasifican no solamente


por su operación lógica, sino por la familia de circuitos lógicos a la cual pertenecen.
Cada familia tiene un circuito electrónico básico propio, mediante el cual se
desarrollan funciones y circuitos digitales más complejos. Generalmente los circuitos
básicos son compuertas NAND o NOR.

Hay muchas familias de compuertas básicas en el mercado, a continuación,


mencionaremos algunas que han alcanzado mayor prestigio o popularidad :

TTL (Transistor-Transistor-Logic). Su compuerta básica es la NAND y sus


series más conocidas son 5400 y 7400, Su aplicación. La familia
TTL tiene una lista muy extensa de circuitos digitales. Las ventajas
de esta, son : costo accesible, utilización de circuitos MSI y SSI (M=
Medium, S=Small, SI=Scale Integration).

Las desventajas : alto consumo de potencia y no se pueden


manejar circuitos integrados con LSI (Large Scale Integration) .

ECL (Emiter- Copler -Logic). Esta familia se designa con la serie 10,000
y tienen 3 terminales para suministro de poder. Se utilizan en las
compuertas LSI, MSI y SSI. Las ventajas son las mismas de TTL y las
desventajas son : incompatibilidad electrónica con otras familias.

MOS (Metal- Oxide -Semiconductor). Se usa en compuertas de todas las


escalas de integración. Las ventajas son: pueden usarse en
circuitos que requieren alta densidad de componentes y tienen
mediano consumo de poder. Mientras que las desventajas son: la
susceptibilidad a la estática. Las series de MOS son: 4000

CMOS (Complementary - Metal - Oxide - Semiconductor). Maneja la serie


4000, su compuerta básica es la NOR, se utiliza en grande y
mediana escala de integración (LSI o MSI), las ventajas de ellos
son : pueden utilizarse en circuitos con altísima densidad de
componentes y requiere de un pequeño consumo de energía. Las
desventajas son : el precio y su susceptibilidad a la estática.

EJERCICIOS :

1. Demuestre por medio de tablas de verdad la validez del teorema de


DeMorgan para 3 variables :

(X'+Y')=X'Y' = (XY)'X'+Y'

Sean X,Y,Z ; haciendo Y+Z=B


(X+Y+Z)'= (X+B)'=X'B' = X'(Y+Z)'=X'Y'Z'
(XYZ)'X'+B'= X'+(YZ)'= X'+Y'+Z'

2. Encuentre el complemento de las siguientes funciones de Boole :

a) (AB'+C'D)A' (A'B+CD')A
(AB'+C'D)A' (A'B+CD')A = (A'+B)(C+D')+A

b) XY+X'Y'
XY+X'Y' = (X'+Y')(X'+Y')
3. Para las siguientes funciones, obtenga la tabla de verdad para F y F', la forma
Canónica en mintérminos y en Maxtérminos para F y F' y dibuje los circuitos o
diagramas lógicos de F y F'.

a) F1= XY'+XY'Z+X'Y'Z

F1= XY'+XY'Z+X'Y'Z = X Y'(Z+Z')+XY'Z + X'Y'Z' = XY'+ X'Y'Z'+XY'Z +X'Y'Z =


XY'Z +XY'Z'+X'Y'Z
X

F1
Y

X Y Z F1 F1'
0 0 0 0 1
0 0 1 1 0 F1= m1+ m4+m5 = ∑ (1,4,5)
0 1 0 0 1 F1 = π (0,2,3,6,7)
0 1 1 0 1 F1' = ∑ (0,2,3,6,7)
1 0 0 1 0 F1' = π (1,4,5)
1 0 1 1 0
1 1 0 0 1 F1 = (X+Y+Z')(X'+Y+Z)(X'+Y+Z')
1 1 1 0 1 La función anterior es posible reducir
b) F2= B'D+A'BC'+ACD+A'BC

F2 = B'D+ A'B C'+ ACD+ A'B C


F2 = B'D (A+A')+ A'B C'(D+D')+ A'B C(D+D')
F2 = AB'D+A'B'D +A'BC'D+ A'BC'D'+A'BCD+A'BCD'
F2 = AB'CD+AB'C'D +A'B'CD +A'B'C'D + A'BC'D + A'BC'D' + A'BCD +
A'BCD'+ABCD + AB'CD
F2 = AB'CD + AB'C'D + A'B'CD +A'B'C'D + A'BC'D + A'BC'D'+ A'BCD +
A'BCD'+ ABCD

F2 = ∑ (11,9,3,1,5,4,7,6,15)
F2 = π (0,2,8,10,12)

XY YY X+Y X↑Y X↓Y X⊕Y X Y


0 0 0 0 1 1 0 1
0 1 0 1 1 0 1 0
1 0 0 1 1 0 1 0
1 1 1 1 0 0 0 1
MAPAS DE KARNAUGH

La complejidad de las compuertas lógicas digitales, se relacionan


directamente con la complejidad de la expresión. Aunque la representación de la
tabla de verdad de una función es única, existen múltiples formas algebraicas que la
representan. Las funciones se pueden reducir por métodos algebraicos pero ya
mencionamos que no existe una que nos garantice obtener la expresión mínima. El
método del mapa de Karnaugh nos ofrece un procedimiento simple y directo para
minimizar las funciones de Boole.

El mapa es un diagrama hecho de cuadros. Cada cuadro representa un


mintérmino. Como cualquier función de Boole puede ser expresada en mintérminos
entonces se puede reconocer cualquier función en el mapa de Karnaugh. (cada una
de las áreas del mapa de Karnaugh se llama celda. Las celdas en el mapa deben
tener adyacencia lógica y sólo debe presentarse el cambio de un bit entre celda y
celda respectivamente).

MAPAS DE 2 Y 3 VARIABLES

♦ PARA 2 VARIABLES

Antes de representar una función en el mapa de Karnaugh hay que llevarla


a la forma Canónica.

Y
X010X'Y' Y
00X'Y
011XY' X010m0m11m2m3
10XY
11
F1=XY+XY'
F1=m3+m2

Y
X01000111

F = X(Y+Y') = XY + XY'
Y
X01000111
F(XY) = Y = Y (X + X') YX + YX'

Y
X01001101

F = X'Y'+XY
F(XY) = X Y
Y
X01010101

F = X'Y + XY'
F(XY) = X ⊕ Y

Y
X01001110

SIMPLIFICACION DE FUNCIONES DE BOOLE

F4 = m0 + m2
F4 = (XY)= Y'

Y 0 1 F4=X'Y'+XY'
X
0 1 0 =Y'(X'+ X)
1 1 0 =Y'

F5(XY) = m0 + m1
F5 (XY)=X'

Y 0 1 F(XY) = X'Y'+ X'Y


X
0 1 1 = X'(Y'+ Y)

1 0 0 = X'
• PARA 3 VARIABLES

YZ
X000111100m0m1m3m21m4
m 5m 7m 6

Y
00 01 11 10
Z
X
F1= X'YZ+XY+XZ'
0 0 0 1 0

= X'YZ+XYZ+XYZ'+XYZ'+XY'Z'
1 1 0 1 1

= X'ÝZ+XYZ'+XY'Z'+ XYZ

Y
00 01 11 10
Z
X
F1= XYZ + XY'Z+ XYZ' + XY'Z'
0 0 0 0 0

1 1 1 1 1

SIMPLIFICACIÓN DEL MAPA DE KARNAUGH

Primero es necesario presentar la función en el mapa de Karnaugh. El


siguiente paso es subdividir el área del mapa mediante lazos que encierren a 2^n
cuadros adyacentes. De los lazos que encierran a 2^n mintérminos dan lugar a
términos producto reducidos, en los cuales se elimina la variable o las variables que
conmuten su valor lógico en la trayectoria del lazo.

Para que la función se reduzca en forma conveniente deben trazarse los lazos
lo más grande posible y deben quedar encerrados en un lazo todos los números 1
del mapa. Es posible encerrar un 1 en 2 o más lazos.
Por ejemplo :

Minimizar la función de Boole :

• F2 (XYZ)= m2 + m3 + m4 + m5 Y
00 01 11 10
Z
X
F2(XYZ)=XY'+X'Y = X⊕ Y 0 0 0 1 1

1 1 1 0 0

Y
00 01 11 10
Z
X
• F(XYZ) =X'YZ + XY'Z'+ XYZ + XYZ' 0 0 0 1 0
F(XYZ) = XZ'+YZ
1 1 0 1 1

• F1(ABC) =A'C + A'B + A B'C + BC BC


00 01 11 10
A
F1(ABC) = C + A'B
0 0 1 1 1
F1(ABC) = Σ (1,2,3,5,7) 1 0 1 1 0

F1(ABC) = π (0,4,6)
A

F1
B

C
Utilizando maxtérminos

A
B
F1
C

Función reducida
• F1'= m0 + m4 + m6 BC
00 01 11 10
A
F1'= B'C'+ AC'= C'(B'+ A )
0 1 0 0 0

1 1 0 0 1

A
A
F1' B
F1'
B
C
C
Función reducida

Encuentre la forma más económica de implementar la siguiente función de Boole.


• F1(ABC) = Σ (0,3,4,7)
BC
00 01 11 10
A
F1(ABC) = Σ (0,3,4,7) 0 1 0 1 0
F1(ABC) = B'C'+ BC = B C 1 1 0 1 0

F1
F1
B
B
C
C

BC
00 01 11 10
A
• F1'(ABC)= B'C + BC' = B ⊕ C 0 0 1 0 1
F1'(ABC) = Σ (1,2,5,6) 1 0 1 0 1

B
F1'
F1' B
C C

BC
00 01 11 10
A
• G1 ( ABC) = m0 + m1 +m2 + m3 0 1 1 1 1
G1( ABC) = A' 1 0 0 0 0

A G1
En el siguiente ejemplo se reduce de manera
no óptima
BC
00 01 11 10
A
• G2 (ABC) = m0+m4 + m2 + m6 0 1 0 0 1
G2 (ABC) = B'C'+BC' 1 1 0 0 1
= C'(B'+B)
= C'

C G2

G3 (XYZ)= m2 + m4
G3(XYZ) =X'Y Z'+ XY'Z' YZ
00 01 11 10
X
= (X'Y +XY')Z' 0 0 0 0 1

=( X ⊕ Y )Z' 1 1 0 0 0

X
G3
Y
Z
♦ PARA 4 VARIABLES

ZW
00 01 11 10
XY
00 m0 m1 m3 m2

01 m4 m5 m7 m6

11 m12 m13 m15 m14

10 m8 m9 m11 m10

• F (ABCD) =Σ (5,7,13,15) = A'BC'D + A'BCD + ABC'D + ABCD

CD F(ABCD) BD (A'C'+AC) + (BD (A'C + AC')


00 01 11 10
AB =
00 0 0 0 0 = BD (A ) BD (A ⊕ C)

01 0 1 1 0 = BD (A C + A ⊕ C)

11 0 1 1 0 = BD

10 0 0 0 0

B F
D

• F (XYZW) =Σ (0,3,8,12,14)

ZW F(XYZW) = Y'Z'W'+ XYW'+ X'Y'Z W


00 01 11 10
XY
00 1 0 1 0
01 0 0 0 0 X
11 1 0 0 1 F
Y
10 1 0 0 0
Z

W
ZW
XY 00 01 11 10
00 1 1 0 0
01 1 1 0 0 F (XYZW) =Σ (0,1,4,5,8,9,12,13) = Z'
11 1 1 0 0
10 1 1 0 0 Z F

ZW
XY 00 01 11 10
00 1 1 1 1

01 1 0 0 0 F (XYZW) =Σ (0,1,2,3,4,8,12) = Z'W'+ X'Y'


11 1 0 0 0
10 1 0 0 0 X
Y F
Z
W
ZW
XY 00 01 11 10
00 0 0 0 0
01 0 1 1 1 F' (XYZW) =Σ (5,6,7,9,10,11,13,14,15)
11 0 1 1 1 = YW + XW +XZ +YZ
10 0 1 1 1

Y
F'

W
Tema II.- LÓGICA COMBINACIONAL

CIRCUITO COMBINACIONAL

Es un circuito en el cual la salida en un instante (tiempo presente) depende


única y exclusivamente de las entradas en el tiempo presente.

CIRCUITO SECUENCIAL

Es un circuito lógico en el cual la salida presente depende de la entrada


presente y también de entradas anteriores.

PASOS PARA EL DISEÑO DE CIRCUITOS COMBINACIONALES

1.- Se enuncia el problema

2.- Se determina el número requerido de variables de entrada y el número


requerido de variables de salida.

3.- Se le asignan letras a las variables de entrada y de salida.


4.- Se deduce la tabla de verdad que define las relaciones entre las entradas y
las salidas.

5.- Se obtiene la función de Boole simplificada para cada salida.

6.- Se dibuja el diagrama de compuertas.

m
n . . Salidas
Entradas . .
. .

Esquema de bloque
Ejemplo :

• Diseñar un circuito combinacional que detecte un número en código BCD


múltiplo de 3.

BCD
X
Y F1
Z
W

X Y Z W F1 F1
0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0 BCD
0 0 1 1 1 1
0 1 0 0 0 0 Se trata de un número binario de 4 bits
0 1 0 1 0 0 Cuyo valor decimal varía entre 0 y 9,
0 1 1 0 1 1
0 1 1 1 0 0
1 0 0 0 0 0
1 0 0 1 1 1
1 0 1 0 0 X
1 0 1 1 0 X
1 1 0 0 0 X CONDICIONES
1 1 0 1 0 X DE
1 1 1 0 0 X NO IMPORTA
1 1 1 1 0 X

ZW 00 01 11 10
XY
00 0 0 1 0
01 0 0 0 1 F1(XYZW) =Σ (3,6,9)
11 0 0 0 0
10 0 1 0 0

F1 (XYZW)= X'Y'ZW+X'YZW'+XY'Z'W
= X'Z (Y'W + YW') + XY'Z'W
= X'Z (Y ⊕ W)
X

Y F1

Circuito combinacional que detecta un número en código BCD


múltiplo de 3.

Una condición de NO IMPORTA, puede considerarse en el mapa de Karnaugh como


1 o 0 según convenga para hacer mínima la función.

ZW 00 01 11 10
XY
00 0 0 1 0
01 0 0 0 1 F1(XYZW) = XW + Y'ZW +
YZW'
11 X X X X
10 0 1 X X

• HACER EL DIAGRAMA DE COMPUERTAS.


Diseñar un circuito que acepte un número binario de 4 bits (Nibble) y que indique de
alguna forma cuando el número es par, non o primo.

F1 F2
Nibble F3⊗ ⊗ ⊗
X
Y
Z
W

X Y Z W F1 F2
0 0 0 0 0 1
0 0 0 1 1 1
0 0 1 0 0 1 NIBLE
0 0 1 1 1 1
0 1 0 0 0 1 Número binario de 4 bits
0 1 0 1 1 1
0 1 1 0 0 1 CODIGO DE SALIDA
0 1 1 1 1 1 F1 F2
1 0 0 0 0 1 PAR 0 1
1 0 0 1 1 0 PRIMO 1 1
1 0 1 0 0 0 NON 1 0
1 0 1 1 1 1
1 1 0 0 0 1
1 1 0 1 1 1
1 1 1 0 0 1
1 1 1 1 1 0

ZW 00 01 11 10
XY
00 0 1 1 0
01 0 1 1 0 F1 (XYZW) = W
11 0 1 1 0
10 0 1 1 0

ZW 00 01 11 10 F2(XYZW) = W'+ X'+ YZ'+ Y'Z


XY
00 1 1 1 1
01 1 1 1 1
11 1 1 0 1
10 1 0 1 1
ZW 00 01 11 10 F2' (XYZW) = XY'Z'W +XZYW
XY
00 0 0 0 0 = XW( Y'Z' + YZ)
01 0 0 0 0
11 0 0 1 0
10 0 1 0 0

X Y Z W
F1

F2

Utilizando compuertas NAND:


X Y Z W
F1

F2
CONVERSIÓN ENTRE CÓDIGOS

Frecuentemente los sistemas digitales realizan conversiones entre


diferentes códigos dependiendo del nivel de operación o proceso que se requiere
efectuar.

Por ejemplo :
Existen algunos códigos apropiados para el intercambio de información,
como el código ASCII (American Standard Code for Information Interchange).
Existen otros códigos apropiados para el manipuleo lógico como es el código NBC
(Natural Binary Code). Para acoplar 2 sistemas con diferente código debe diseñarse
un circuito combinacional capaz de realizar la codificación en forma eficiente.

NBC GRAY REFLEX


X Y Z W A B C D
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0
0 1 0 1 0 1 1 1
0 1 1 0 0 1 0 1
0 1 1 1 0 1 0 0
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1
1 0 1 0 1 1 1 1
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 0
1 1 0 1 1 0 1 1
1 1 1 0 1 0 0 1
1 1 1 1 1 0 0 0

X A
Y B
Z C
W D

A B

ZW 00 01 11 10 ZW 00 01 11 10
XY XY
00 0 0 0 0 00 0 0 0 0
01 0 0 0 0 01 1 1 1 1
11 1 1 1 1 11 0 0 0 0
10 1 1 1 1 10 1 1 1 1
C D

ZW 00 01 11 10 ZW 00 01 11 10
XY XY
00 0 0 1 1 00 0 1 0 1
01 1 1 0 0 01 0 1 0 1
11 1 1 0 0 11 0 1 0 1
10 0 0 1 1 10 0 1 0 1

A=X
B=X⊕Y
C = YZ'+ Y'Z = Y ⊕ Z
D = Z'W + W'Z = Z ⊕ W

X Y Z W
A

Convertidor de códigos NBC a GRAY

DISEÑAR EL CIRCUITO ANTERIOR CON COMPUERTAS NAND


• Diseñar un convertidor de código BCD a Exe-3

A F1
Convertidor de
B F2
código
C F3
BCD a EXE-3
D
F4

CD 00 01 11 10 CD 00 01 11 10
AB AB
00 0 0 0 0 00 0 1 1 1
01 0 1 1 1 01 1 0 0 0
11 1 0 0 0 11 1 0 0 0
10 1 1 1 1 10 0 1 1 1

CD 00 01 11 10 CD 00 01 11 10
AB AB
00 1 0 1 0 00 1 0 0 1
01 1 0 1 0 01 1 0 0 1
11 1 0 1 0 11 1 0 0 1
10 1 0 1 0 10 1 0 0 1

CD 00 01 11 10
AB
00 0 0 0 0
01 0 0 0 0
11 0 1 1 1
10 0 0 0 0

F1 = ABD + ABC
F2 = AB'+ AC'D'+ A'BD + A'BC
F3 = B'D + B'C + BC'D'
F4 = C'D'+ CD
F5 = D'
A B C D

F1

F2

F3

F4

F5

Convertidor de código BCD a Exe-3

You might also like