SISTEMAS DIGITALES CONTENIDO: TEMA I GENERALIDADES
\ue000ANTECEDENTES \ue000SISTEMAS DE
NUMERACI\u00d3N \ue000\u00c1LGEBRA DE BOOLE \ue000FUNCIONES BOOLEANAS TEMA II L\u00d3GICA COMBINACIONAL
\ue000CIRCUITO COMBINACIONAL DE UNA FUNCI\u00d3N \ue000CIRCUITO COMBINACIONAL DE N FUNCIONES \ue000MULTIPLEXORES
\ue000DECODIFICADORES
\ue000MEMORIA
\ue000MEMORIA
ROM RAM
TEMA III MEMORIAS
\ue000DESARROLLO Y CONSTRUCCI\u00d3N DE MEMORIAS
\ue000DIAGRAMAS DE ESTADO
TEMA IV L\u00d3GICA SECUENCIAL
\ue000REDUCCI\u00d3N DE ESTADOS \ue000CONTADORES
\ue000AUT\u00d3MATAS FINITOS DETERMIN\u00cdSTICOS
TEMA V
\ue000PLA
\ue000PLD
\ue000MICROPROCESADOR
AN\u00c1LISIS
DE:
TEMA I.- GENERALIDADES ANTECEDENTES
CONCEPTO DE cantidad.
N\u00daMERO.-
Representaci\u00f3n abstracta por medio de un s\u00edmbolo d
N\u00daMEROS POSICIONALES.- Ejm: 2 22 dos veinte N\u00daMEROS ORDINALES.- Ejm: MMCCCXLI SISTEMAS DE NUMERACI\u00d3N
El sistema de numeraci\u00f3n decimal es familiar a todo el mundo. Este sistema utiliza los s\u00edmbolos 0,1,2,3,4,5,6,7,8 y 9. El sistema decimal tiene una caracter\u00e de valor por posici\u00f3n (n\u00famero posicional). El sistema de numeraci\u00f3n dec tambi\u00e9n se llama sistema de base 10. Se denomina de base 10 porque tiene 10 s\u00edmbolos diferentes. En general, un n\u00famero en base r contiene los d\u00ed 0,1,2,3,...,r-1 y se expresa con una serie de potencias en r.
Los n\u00fameros binarios (base 2) se utilizan mucho en electr\u00f3nica digital y en computadoras. Los n\u00fameros del sistema hexadecimal (base 16) y octal (base 8) son los s.istemas de utilizados para representar grupos de d\u00edgitosTod bio nsarios numeraci\u00f3n pueden utilizarse para contar. Tambi\u00e9n tienen todos una caracter de valor por posici\u00f3n. Para distinguir entre n\u00fameros de diferentes bases, se acostumbra encerrar los coeficientes en par\u00e9ntesis y colocar un sub\u00edndice des del par\u00e9ntesis de la derecha con el fin de indicar la base del n\u00famero. Sin emba cuando el contenido hace obvio que el n\u00famero est\u00e1 en notaci\u00f3n decimal, n (10010) necesita usar los par\u00e9ntesis. P.ej: (18)10 2
.0 10n-1 ... 103 102 101 10
...
Base 10 (0-9) 2n-1 ... 23 22 21 20. Base 2 (0-1)
...
CONVERSI\u00d3N A BASE 10 \ u 2 0 2(25) 2 10 (221)3
2X32 + 2X31 + 1X30 = 18 + 6 + 1 = 25 \ u 2 0 2 (60) 2 (1212) 10 3
1X33 + 2X32 + 1X31 + 2X30 = 27 + 18 + 3 + 2 = 60 Base r rn-1 . . . r3 r2 r1 r0 bhr
n-1
+ bh-1r
n-2
+ bh-2r
n-3
+ . . . + b0r = ( 0
donde:
n \u2212 i i \u2211 )10\u00f3 bi r i=
bh = d\u00edgito en la posici\u00f3n h n = n\u00famero de d\u00edgitos \ u 2 0 2 (587) 2 (4322) 10 5
r=5 n=4 b0=2 b1=2 b2=3 b3=4
b3rn-1 + b2rn-2 + b1r n-3 + b0r n-4 = 4 x 53 + 3 x 52 + 2 x 51 + 2 x 50 = 500 + 75 + 10 + 2 = 587
\ u 2 0 2(197) 2 (238) 10 9
n \u2212 i i bi r = 8 x 90 + 3 x 91 + 2 x 92 = 8 + 27 + 162 = 197 \u2211
i=
0
\ u 2 0 2(73) 2 10 (243)5
n \u2212 i i bi r = 3 x 50 + 4 x 51 + 2 x 52 = 3 + 20 + 50 = 73 \u2211
i=
0
\ u 2 0 2(142) 2 (354) 10 6
0
n −i
=
∑ bi ri i =0
4 x 60 + 5 x 61 + 3 x 62 = 4 + 30 + 108 = 142
• (10111011)2 (187) 10
n −i
∑ bi ri = 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
∑ bi ri = 3 x 160+ 10 x 161 + 10 x 162 = 2560 + 160 + 3 = 2723 i =0
Para la parte decimal:
. 1/
1
10
.d 1
/
1
100
1
/
1000
1
1 ... /
10
m
1
1
ó
1
/ r1 + d2 / r2 + d3 / r3 + d4 / r4 + . . . + dm / rm
m ∑ bi r
−
i
i =1
• (223.34)5 (63.76) 10
n −i
∑ bi ri i =0
=
3 x 50 + 2 x 51 + 2 x 52 = 3 + 10 + 50 = 63
m i ∑ bi r = 3 x 5-1 + 4 x 5-2 = 3 /5 + 4 /25 = −
i =1
= 63. 19/25
19
/25
63.76
• (0.10111)2 (0.71875) 10 m
∑ bi r
−
i
i =1
=
22
= 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 /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 = −
i =1
94
/216 0.43518
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 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 • (234.28)10 (1414.12)5
Para la parte decimal: NúmeroProductoEntero0.28 0.4 01.4 21
Para la parte entera: NúmeroCocienteResiduo234 46 9 1 046 9 1
EQUIVALENCIAS ENTRE LOS SISTEMAS DE NUMERACIÓN Base
10 0 1 2 3 4 5 6 7 8 9
2
0 1 10 11 100 101 110 111 1000 1001
10 1010 11 1011 12 1100 13
1101
14 1110 15 1111
3
0 1 2 10 11 12 20 21 22 10 0 10 1 10 2 11 0 11 1 11 2 12 0
4
5
6
7
8
9
11
0 1 2 3 10 11 12 10 20 21
0 1 2 3 4 10 11 12 13 14
0 1 2 3 4 5 10 11 12 3
0 1 2 3 4 5 6 10 11 12
0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 10 8 8 11 10 9
22
20
14
13
12
23
21
15
14
30
22
20
31
23
32 33
12
13
0 1 2 3 4 5 6 7 8 9
14
0 1 2 3 4 5 6 7 8 9
15
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
11
A A
A
A
A
A
13
12
10
BB
B
B
B
15
14
13
11
10
CC
C
C
21
16
15
14
12
11
10
DD
D
24
22
20
16
15
13
12
11
10
EE
30
23
21
17
16
14
13
12
11
10
16
F
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
∑ bi ri i =0
=
4 x 50 + 3 x 51 + 2 x 52 + 2 x 53 = 4 + 15 + 50 + 250 = 319
m i ∑ bi r = 2 x 5-1 + 2 x 5-2 = 2/5 + 2/25 = −
i =1
12
/25 = 0.48
(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: NúmeroCocienteResiduo319 45 6 045 6 0 4
Para la parte decimal: NúmeroProductoEntero0.48 0.36 0.52 0.64 0.48 0.363.36 2.52 3.64
CASO PARTICULAR A: Si se desea convertir un número de base r 1 a una basey es r2 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
r1n r2 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 r1n r2 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 )8 • (11101110111.111101101)(3567.755 2 r1 r2 r1n r2 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: 3 5 6 7
. 7 5 5
11 101 110 111 . 111 101 101
• (1221.22101)3 (57.833 )9
r1 r2 r1n r2 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: 12 21 . 22 10 10 5 7
El cero está completando el paquete.
. 8 3 3 CASO PARTICULAR B: Si se desea convertir un número de base r 1 a una basey es r2 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: en
Debe desarrollarse cada dígito del número en base r1 en su correspondiente 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: 3 F 8 . 1111 1000 0 . 011
A 1010
• (2751.557)8 (010111101001.101101111)2
2 0010
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 010
7 111
5 101
1 . 001 .
5 5 101 101
7 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
21)10
10
+
111122)
1100)3
201)3
+
3
1123)
2)5
34)511
5
+
111111101)
111010)2
11101)2
2
+
1FA3)
22 C)Hex11CF)Hex H ex
MULTIPLICACIÓN 112)
9) 1 x 10 10 08)10
2223)
x 2)5
4)520
5
x
112223)
34)520 5 21241442)5
x
11FA2)
12)Hex11 F44FA211964)Hex Hex
RESTA
- 12)1019) 03)10 10
- 23)534)5-1 1)5
-
FA)Hex2 C)HexC8)
-
11011)201110)21101)2
H e x
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. 2.
Se suma el minuendo M al complemento a la base del sustraendo N. Se inspeccionan los datos obtenidos en el paso anterior para ver si ocurre una "lleva" final. Si ocurre una "lleva" final, se debe descartar. a) 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.
+01001) Ncomplemento de N: 18)1010010)2M Se suma M con el10010)29)10 2 10111)2 9)101 01001 Se descarta la Por lo tanto, el resultado es: 01001)9) 2 10 " lle v a "
• Ejemplo 2.
+ 101001) Ncomplemento de N: 28)10011100)2M Se suma M con el011100)241) 10 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 infin fi ita. Las variables discretas son aquellas que no se pueden subdividir en forma infin fi ita, 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.
OR
AND
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. XY=Z
X Y
X+Y=Z
X Y OR
AND
X'
X 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. 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 asociativa.
Se dice que un operador binario * es conmutativo sí y sólo sí X*Y = Y*X. Propiedad o ley conmutativa.
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 1
X AND XYZ01011 1
X 0
X OR XYZ00010 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 Postulado 5 Teorema 1 Teorema 2 Teorema 3 Postulado 3 Teorema 4
a) X + 0 = X b) X • 1 = X a) X + X' = 1 b) X • X' = 0 a) X + X = X b) X • X = X a) X + 1 = 1 b) X • 0 = 0 Convoluciòn (X')' = X a) X + Y = Y + X b) X Y= Y X Conmutativa 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 Z
F1
Una compuerta AND puede tener, en teoría, de 2 hasta n entradas. • F2 = X + Y' Z
X Y Z
F2
• F3 = X' Y' Z + X' Y Z + X Y'
X Y Z • F4 = X Y' + X' Y
F3
X Y
F4
• F5 = X' Y' Z + X' Y Z' + Z
X Y F4
Z
Tabla de verdad:
X 0 0 0 0 1 1 1 1
Y 0 0 1 1 0 0 1 1
Z 0 1 0 1 0 1 0 1
F1 0 0 0 0 0 0 1 0
F2 0 1 0 0 1 1 1 1
F3 0 1 0 1 1 1 0 0
F4 0 0 1 1 1 1 0 0
F5 0 1 1 1 0 1 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 Y
• X (X' + Y ) = X X' + X Y
X Y
= 0+XY
X Y
=X Y
X Y
• X' Y' Z + X' Y Z + X Y' = X' Z( Y' + Y ) + X Y'
XYZX'ZXY'X'Z+XY'0000000 0110101000001110110001 1101011110000111000
X Y Z
XYX+Y0000 11101111
XYXY000 0101001 11 = X' Z + X Y'
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' h a cien d o B = Y+Z (X + Y + Z)' = (X + B)' (XYZ)' = (X B)' = X' B' = X' (Y + Z)' = X' Y' Z'
= (X' + B') = (X' + (YZ)'
haciendo B = YZ
= 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 Y Z
F1
X Y Z
F1'
X 0 0 0 0 1 1 1 1
Y 0 0 1 1 0 0 1 1
Z 0 1 0 1 0 1 0 1
F1 0 1 1 0 0 0 0 0
F1' 1 0 0 1 1 1 1 1
• 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
F2
X F2'
Y Z
X 0 0 0 0 1 1 1 1
Y 0 0 1 1 0 0 1 1
Z 0 1 0 1 0 1 0 1
F2 0 0 0 0 1 0 0 1
F2' 1 1 1 1 0 1 1 0
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.
X 0
Y 0
Z 0
Mintérminos Término Designación X'Y'Z' m0
Maxtérminos Término Designación X +Y+ Z M0
0 0 0 1 1 1 1
0 1 1 0 0 1 1
1 0 1 0 1 0 1
X'Y'Z X'Y Z' X'Y Z X Y'Z' X Y'Z X Y Z' XYZ
m1 m2 m3 m4 m5 m6 m7
X +Y+ Z' X +Y'+Z X +Y'+Z' X'+Y +Z X'+Y+Z’ X'+Y’+Z X'+Y'+Z'
M1 M2 M3 M4 M5 M6 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. Y Z F2 F2' X 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
No tiene forma ordenada.
F2 = (Y'Z'+YZ) (X+Y’)
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) F1 = π (5) = a'+ b+ c' (PS)
a
b
0 0 0 1 1 1 1
0
0
c
0
F1
0 1 1 0 0 1 1
1 0 1 0 1 0 1
1 1 1 1 0 1 1
1
Escribir la función en sus formas Canónicas F2
= = = = =
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 m1 + m4 + m5 + m6 + m7
A F2 = Σ (1,4,5,6,7) 0 F2 = π (0,2,3) = 0 (A+B+C)(A+B'+C)(A+B'+C') 0 0 1
B
C
F2
1 1 0
0 1 0
0 0 1
0 0
0 1
0 1
1 1 1
0 1 1
1 0 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 X
0 0 1 1
AND Y XY
0 1 0 1
0 0 0 1
F
X Y AND
F = X+Y X
OR Y X+ Y
X Y
F OR
0 0 1 1
0 1 0 1
0 1 1 1
F = X'Y + XY' EX-OR
X
Y
X ⊕Y
0 0 0 0 1 1 1 0 1 1 1 0 EX-OR (EXCLUSIVE- OR)
F
X Y EX-OR
F = (XY)'= X'+Y' NAND
X
Y
X↑Y
0 0 1 0 1 1 1 0 1 1 1 0 NAND (NOT-AND) F = (X'Y') = (X+Y)'
X
F
X Y NAND
NOR Y X Y
0 0 1 0 1 0 1 0 0 1 1 1 NOR (NOT- OR)
F
X NOR
Nota : Todas las compuertas no básicas satisfacen la propiedad conmutat
compuertas no básicas, negadas no son asociativas
Demuestre que la operación NOR no es asociativa. • (X↓ Y) ↓ Z ≠ X ↓ (Y ↓ Z)
((X+Y)'+Z)'= ((X+Y)')'Z' = (X+Y)Z' X Y X ↓ (Y ↓ Z) = X'(Y+Z)'' = X (Y+Z) (X+Y)Z' ≠ X'(Y+Z) Z • (A↑ B) ↑ C ≠ A↑ B ↑ C
F (X↓Y)
X Y Z
X↓Y↓Z
((AB)'•C)' (A ↑ B) ↑ C = ((AB)'•C)' = AB +C' A ↑ B ↑ C = (ABC)' = A' +B'+ C' A B (
C
A B C
A↑B↑ )
A↑B↑
Compuerta de multinivel: F = ((ABC)'(DE)' )' = ABC + DE El Ex-or si es asociativo A B C
((ABC)'(DE)')
D E
A B C D 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
Z X
Y
Z
F1
F1'
0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1'BC'+0ACD+1A'BC b) 1 F2=1B'D+A
F1= m1+ m4+m5 = ∑ (1,4,5) F1 = π (0,2,3,6,7) F1' = ∑ (0,2,3,6,7) F1' = π (1,4,5) F1 = (X+Y+Z')(X'+Y+Z)(X'+Y+Z') La función anterior es posible reducir
F2 F2 F2 F2
= B'D+ A'B C'+ ACD+ A'B C = B'D (A+A')+ A'B C'(D+D')+ A'B C(D+D') = AB'D+A'B'D +A'BC'D+ A'BC'D'+A'BCD+A'BCD' = 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
0 0 1 1
0 1 0 1
YY
0 0 0 1
X+Y
0 1 1 1
X↑Y
1 1 1 0
X↓Y
1 0 0 0
X⊕Y
0 1 1 0
X Y
1 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' 00X'Y 011XY' 10XY 11
Y X010m0m11m2m3
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' X
Y 0
1
F4=X'Y'+XY'
0 1
0
=Y'(X'+ X)
1 1
0
=Y'
F5(XY) = m0 + m1 F5 (XY)=X' X
Y 0
1
F(XY) = X'Y'+ X'Y
0 1
1
= X'(Y'+ Y)
1 0
0
= X'
• PARA 3
VARIABLES
YZ X000111100m0m1m3m21m4 m5m7m6
Z X
Y 00
01 11
0
0
0
1
0
1
1
0
1
1
10 F1= X'YZ+XY+XZ' = X'YZ+XYZ+XYZ'+XYZ'+XY'Z' = X'ÝZ+XYZ'+XY'Z'+ XYZ
Z X
Y 00
01 11
0
0
0
0
0
1
1
1
1
1
10 F1= XYZ + XY'Z+ XYZ' + XY'Z'
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
F2(XYZ)=XY'+X'Y = X⊕ Y
Y
Z X
F(XYZ) = XZ'+YZ
• F1(ABC) =A'C + A'B + A B'C + BC
F1(ABC) = C + A'B F1(ABC) = Σ (1,2,3,5,7)
01 11
0
0
1
1
1
1
1
0
0
01 11
10
Z X
00
0
0
0
1
0
1
1
0
1
1
01 11
10
BC 00 A 0
0
1
1
1
1
0
1
1
0
F1(ABC) = π (0,4,6) A
B
C
10
0
Y
• F(XYZ) =X'YZ + XY'Z'+ XYZ + XYZ'
00
F 1
Utilizando maxtérminos A B
F 1
C • F1'= m0 + m4 + m6
F1'= B'C'+ AC'= C'(B'+ A )
Función reducida BC A
A F' 1
B C
00
01 11
10
0
1
0
0
0
1
1
0
0
1
A B
F' 1
C Función reducida
Encuentre la forma más económica de implementar la • F1(ABC) = Σ (0,3,4,7) BC 00 A F1(ABC) = Σ (0,3,4,7) 0 1 F1(ABC) = B'C'+ BC = B C 1 1
B
F1
siguiente función de Boole. 01 11 0 0
1 1
10 0 0
F
B C
1
C
• F1'(ABC)= B'C + BC' = B ⊕ C
A
BC 00 0
0
01 11 1
0
10 1
F1'(ABC) = Σ (1,2,5,6)
1
B
0
F1'
A
BC 00
G1( ABC) = A' A
= (X'Y +XY')Z' =( X ⊕ Y )Z'
X Y Z
01 11
10
0
1
1
1
1
1
0
0
0
0
A
01 11
10
BC 00
= C'(B'+B) = C'
G3 (XYZ)= m2 + m4 G3(XYZ) =X'Y Z'+ XY'Z'
F1'
1
G2 (ABC) = B'C'+BC'
C
1
G
En el siguiente ejemplo se reduce de manera no óptima • G2 (ABC) = m0+m4 + m2 + m6
0
B C
C
• G1 ( ABC) = m0 + m1 +m2 + m3
1
0
1
0
0
1
1
1
0
0
1
01 11
10
G
2
X
YZ 00 0
0
0
0
1
1
1
0
0
0
G
3
♦
PARA 4 VARIABLES ZW 00 XY
01
11
10
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 00 01 11 10 AB 00 0 0 0 0 01 0
1
1
0
11 0
1
1
0
10 0
0
0
F(ABCD) BD (A'C'+AC) + (BD (A'C + AC') = = BD (A ) BD (A ⊕ C) = BD (A
C + A ⊕ C)
= BD
0 B D
F
• F (XYZW) =Σ (0,3,8,12,14)
ZW XY 00 01 11 10
00 01 11 10 1 0 1 1
0 1 0 0 0 0 0 0 1 0 0 0
F(XYZW) = Y'Z'W'+ XYW'+ X'Y'Z W
X Y Z W
F
XY
ZW
00 01 11 10 00 1 1 0 0 01 1
1
0
0
11 1
1
0
0
10 1
1
0
0
XY
F (XYZW) =Σ (0,1,4,5,8,9,12,13) = Z' Z
F
ZW
00 01 11 10 00 1 1 1 1 01 1
0
0
0
11 1
0
0
0
10 1
0
0
0
F (XYZW) =Σ (0,1,2,3,4,8,12) = Z'W'+ X'Y' X F
Y Z W XY
ZW
00 01 11 10 00 0 0 0 0 01 0 1 1 1 11 0
1
1
1
10 0
1
1
1
F' (XYZW) =Σ (5,6,7,9,10,11,13,14,15) = YW + XW +XZ +YZ
X Y Z W
F'
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.
n . Entradas . .
. . . Esquema de bloque
m Salidas
Ejemplo : • Diseñar un circuito combinacional que detecte un número en código BCD
múltiplo de 3.
BCD
X Y Z W
X
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Y
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
F1
Z
W
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
XY
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
ZW
00 01 11 10
00 0 0 0 0
F1
0 0 0 1 0 0 1 0 0 1
0 0 0 0 0 0
F1
0 0 0 1 0 0 1 0 0 1
BCD
Se trata de un número binario de 4 bits Cuyo valor decimal varía entre 0 y 9,
X X X X X X
01 11 10 0 1 0 0 0 1 0 0 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)
CONDICIONES DE NO IMPORTA
F1(XYZW) =Σ (3,6,9)
X F1
Y
Z W 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.
XY
ZW 00 01 11 10 00 0
0
1
0
01 0
0
0
1
11 X
X
X
10 0
1
X
X X
• HACER EL DIAGRAMA DE COMPUERTAS.
F1(XYZW) = XW + Y'ZW + YZW'
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 X Y Z W X
Y
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
XY
XY
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
ZW
00 01 11 10 ZW
00 01 11 10
⊗
Nibble
Z
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
00 0 0 0 0
01 11 10 1 1 0 1 1 0 1 1 0 1 1 0
00 1 1 1 1
01 11 10 1 1 1 1 1 1 1 0 1 0 1 1
W
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F2 ⊗
⊗
F2
1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0
NIBLE
Número binario de 4 bits CODIGO DE SALIDA F1 F2 PAR 0 1 PRIMO 1 1 NON 1 0
F1 (XYZW) = W
F2(XYZW) = W'+ X'+ YZ'+ Y'Z
XY
ZW
00 01 11 10
00 0 0 0 0
01 11 10 0 0 0 0 0 0 0 1 0 1 0 0
X
Y
Z W
F2' (XYZW) = XY'Z'W +XZYW = XW( Y'Z' + YZ)
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. X
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Y
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
NBC Z
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
GRAY REFLEX A B C
W
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0
A ZW
00 01 11 10
00 0 0 1 1
01 11 10 0 0 0 0 0 0 1 1 1 1 1 1
0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
A B C D
X Y Z W
XY
D
B XY
ZW
00 01 11 10
00 0 1 0 1
01 0 1 0 1
11 0 1 0 1
10 0 1 0 1
C XY
ZW
00 01 11 10
00 0 1 1 0
D
01 11 10 0 1 1 1 0 0 1 0 0 0 1 1
XY
ZW
00 01 11 10
00 0 0 0 0
01 1 1 1 1
11 0 0 0 0
10 1 1 1 1
A=X B=X⊕Y C = YZ'+ Y'Z = Y ⊕ Z D = Z'W + W'Z = Z ⊕ W X
Y Z W
A B C D
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 B C D
F1 F2 F3 F
Convertidor de código BCD a EXE-3
4
AB
AB
AB
F1 F2 F3 F4 F5
CD
00 01 11 10 CD
00 01 11 10 CD
00 01 11 10
= = = = =
00 0 0 1 1
01 11 10 0 0 0 1 1 1 0 0 0 1 1 1
AB
00 1 1 1 1
01 11 10 0 1 0 0 1 0 0 1 0 0 1 0
AB
00 0 0 0 0
01 0 0 1 0
11 10 0 0 0 0 1 1 0 0
ABD + ABC AB'+ AC'D'+ A'BD + A'BC B'D + B'C + BC'D' C'D'+ CD D'
CD
00 01 11 10 CD
00 01 11 10
00 0 1 1 0
01 1 0 0 1
11 1 0 0 1
10 1 0 0 1
00 1 1 1 1
01 0 0 0 0
11 0 0 0 0
10 1 1 1 1
A
B
C
D
F1
F2
F3
F4 F5
Convertidor de código BCD a Exe-3