Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
MINIMIZACION DE MINIMIZACION DE FUNCIONESFUNCIONES
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
METODO DEL MAPA DE METODO DEL MAPA DE KARNAUGHKARNAUGH
El MAPA DE KARNAUGH es una forma El MAPA DE KARNAUGH es una forma grafica de representar la función grafica de representar la función (dada en sus términos mínimos) y (dada en sus términos mínimos) y minimizarla aplicando la propiedad minimizarla aplicando la propiedad de ADYACENCIA:de ADYACENCIA:
ab + ab’ = a (b+b’) = a (1) = a ab + ab’ = a (b+b’) = a (1) = a
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
Esto quiere decir que si se pueden Esto quiere decir que si se pueden agrupar términos en los cuales agrupar términos en los cuales puedan haber variables negadas y no puedan haber variables negadas y no negadas, estas se pueden eliminar negadas, estas se pueden eliminar para formar funciones con términos para formar funciones con términos de menos variables que la función de menos variables que la función original. original.
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
Los términos mínimos se representan Los términos mínimos se representan en un grafico (mapa) que tiene la en un grafico (mapa) que tiene la característica de que cualquier par característica de que cualquier par de cuadrados adyacentes solo se de cuadrados adyacentes solo se diferencian en que una de las diferencian en que una de las variables esta complementada o no variables esta complementada o no complementada complementada
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
UBICACION DE LAS UBICACION DE LAS VARIABLES EN LOS VARIABLES EN LOS
MAPASMAPAS
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
MAPA DE KARNAUGH PARA MAPA DE KARNAUGH PARA DOS VARIABLESDOS VARIABLES
Una función de dos variables genera 4 Una función de dos variables genera 4 combinaciones:combinaciones:
xx yy mínimosmínimos
00 00 x’x’ y’y’ m m00
00 11 x’x’ yy m m11
11 00 xx y’y’ m m22
11 11 xx yy m m33
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
XY
0 1
0
1
X’ Y’ X’ Y
X Y’ X Y
MAPA DE KARNAUGH PARA 3 MAPA DE KARNAUGH PARA 3 VARIABLESVARIABLES
Una función de 3 variables genera 8 combinaciones:Una función de 3 variables genera 8 combinaciones:xx y y zz mínimosmínimos
00 0 0 00 x’ y’ z’x’ y’ z’ m m00
0 0 0 0 11 x’ y’ zx’ y’ z m m11
00 1 1 00 x’ y z’x’ y z’ m m22
00 1 1 11 x’ y zx’ y z m m33
11 0 0 00 x y’ z’x y’ z’ m m44
11 0 0 11 x y’ zx y’ z m m55
11 1 1 00 x y z’x y z’ m m66
11 1 1 11 x y zx y z m m77
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
0 0 0 1 1 1 1 0
0
1
X’Y’ Z’
XY’ Z’
X’Y’ Z
X Y’ Z
X’ Y Z
X Y Z
X’ Y Z’
X Y Z’
X
Y Z
X
Y
Z
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
La utilidad del mapa en la La utilidad del mapa en la simplificación de funciones es que se simplificación de funciones es que se aplica gráficamente la propiedad de aplica gráficamente la propiedad de adyacencia: cualquier par de adyacencia: cualquier par de cuadrados adyacentes en el mapa cuadrados adyacentes en el mapa difieren por una variable difieren por una variable complementada en un cuadrado y no complementada en un cuadrado y no complementada en el vecino. complementada en el vecino.
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
LA PROPIEDAD DE ADYACENCIA SOLO LA PROPIEDAD DE ADYACENCIA SOLO SE APLICA EN CUADRADOS VECINOS SE APLICA EN CUADRADOS VECINOS
HORIZONTALES O VERTICALESHORIZONTALES O VERTICALES
Una propiedad del Mapa de Karnaugh Una propiedad del Mapa de Karnaugh de 3 variables es la de ser continuo de 3 variables es la de ser continuo en sus extremos izquierdo y derecho, en sus extremos izquierdo y derecho, es decir, el termino X’ Y’ Z’ (mes decir, el termino X’ Y’ Z’ (m00) es ) es adyacente con el termino X’ Y Z’ (madyacente con el termino X’ Y Z’ (m22) )
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
MAPA DE KARNAUGH DE 4 MAPA DE KARNAUGH DE 4 VARIABLESVARIABLES
Una función booleana de 4 variables Una función booleana de 4 variables puede generar hasta 16 términos, lo puede generar hasta 16 términos, lo que implica generar un mapa de 16 que implica generar un mapa de 16 posiciones. posiciones.
EL MAPA DE 4 VARIABLES TIENE LA EL MAPA DE 4 VARIABLES TIENE LA PROPIEDAD DE SER CONTINUO PROPIEDAD DE SER CONTINUO TANTO EN LOS EXTREMOS SUPERIOR TANTO EN LOS EXTREMOS SUPERIOR E INFERIOR COMO A LA DERECHA Y A E INFERIOR COMO A LA DERECHA Y A LA IZQUIERDA.LA IZQUIERDA.
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
KARNAUGH DE 4 VARIABLESKARNAUGH DE 4 VARIABLES
W X Y ZW X Y Z MINIMOSMINIMOS
0 0 0 00 0 0 0 W’ X’ W’ X’ Y’ Z’Y’ Z’ m m00
0 0 0 10 0 0 1 W’ X’ W’ X’ Y’ ZY’ Z m m11
0 0 1 00 0 1 0 W’ X’ W’ X’ Y Z’Y Z’ m m22
0 0 1 10 0 1 1 W’ X’ W’ X’ Y ZY Z m m33
0 1 0 00 1 0 0 W’ X Y’ Z’ W’ X Y’ Z’ m m44
0 1 0 10 1 0 1 W’ X Y’ Z W’ X Y’ Z m m55
0 1 1 00 1 1 0 W’ X Y Z’ W’ X Y Z’ m m66
0 1 1 10 1 1 1 W’ X Y Z W’ X Y Z m m77
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
KARNAUGH DE 4 VARIABLESKARNAUGH DE 4 VARIABLES
W X Y Z W X Y Z MINIMOSMINIMOS
1 0 0 01 0 0 0 W X’W X’ Y’ Z’Y’ Z’ m m88
1 0 0 11 0 0 1 W X’W X’ Y’ ZY’ Z m m99
1 0 1 01 0 1 0 W X’W X’ Y Z’Y Z’ m m1010
1 0 1 11 0 1 1 W X’W X’ Y ZY Z m m1111
1 1 0 01 1 0 0 W X Y’ Z’W X Y’ Z’ m m1212
1 1 0 11 1 0 1 W X Y’ ZW X Y’ Z m m1313
1 1 1 01 1 1 0 W X Y Z’W X Y Z’ m m1414
1 1 1 11 1 1 1 W X Y ZW X Y Z m m1515
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
0 0 0 1 1 1 1 0
0 0
0 1
1 1
1 0
m0 m1 m3 m2
m4 m5 m7 m6
m12 m13
m15 m14
m8 m9
m11
m10
Y Z
W X
W
X
Y
Z
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
COMBINACION DE COMBINACION DE CUADRADOS ADYACENTESCUADRADOS ADYACENTES
Un cuadrado representa un termino Un cuadrado representa un termino de 4 variables (termino mínimo)de 4 variables (termino mínimo)
2 cuadrados adyacentes representan 2 cuadrados adyacentes representan un termino de 3 variables.un termino de 3 variables.
4 cuadrados adyacentes representan 4 cuadrados adyacentes representan un termino de 2 variables.un termino de 2 variables.
8 cuadrados adyacentes representan 8 cuadrados adyacentes representan un termino de 1 variable.un termino de 1 variable.
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
TERMINOS IRRELEVANTESTERMINOS IRRELEVANTES
Son aquellos términos que dadas las Son aquellos términos que dadas las condiciones del problema nunca se condiciones del problema nunca se van a presentar en la función.van a presentar en la función.
Los términos irrelevantes se Los términos irrelevantes se representan por X y en el mapa de representan por X y en el mapa de Karnaugh pueden tomar valores de 0 Karnaugh pueden tomar valores de 0 o 1 según sea el caso para poder o 1 según sea el caso para poder generar funciones mas simplificadas.generar funciones mas simplificadas.
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
Por ejemploPor ejemplo
Si consideramos un sistema con datos Si consideramos un sistema con datos DECIMALES expresados en binario DECIMALES expresados en binario (CODIGO BCD), las combinaciones de (CODIGO BCD), las combinaciones de 4 bits que no son parte de este 4 bits que no son parte de este código (los números 10, código (los números 10, 11,12,13,14,15) se consideran 11,12,13,14,15) se consideran TERMINOS IRRELEVANTES porque TERMINOS IRRELEVANTES porque nunca se van a presentar o no tienen nunca se van a presentar o no tienen significado para el sistema.significado para el sistema.
CODIGO BCDCODIGO BCD TERMINOTERMINO00000000 0000010001 1100100010 2200110011 3301000100 4401010101 5501100110 6601110111 7710001000 88
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
10011001 99
10101010 XX
10111011 XX
11001100 XX TérminosTérminos
11011101 XXIrrelevantesIrrelevantes
11101110 XX
11111111 XX
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGOS CODIGOS DECIMALESDECIMALES
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
Codificar es el proceso de asignar a un Codificar es el proceso de asignar a un grupo de dígitos binarios (bits) grupo de dígitos binarios (bits) valores para representar, dar valores para representar, dar seguridad, identificar o relacionar seguridad, identificar o relacionar conjuntos de información.conjuntos de información.
Cuanto mas seguridad se requiera, el Cuanto mas seguridad se requiera, el código se vuelve mas complicado.código se vuelve mas complicado.
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO DECIMAL BINARIOCODIGO DECIMAL BINARIO(CODIGO BCD)(CODIGO BCD)
Es aquel código que se usa para Es aquel código que se usa para representar los dígitos entre 0 y 9 en representar los dígitos entre 0 y 9 en forma de dígitos binarios.forma de dígitos binarios.
DIGITODIGITO 8 4 2 1 8 4 2 1
00 0 0 0 0 0 0 0 0 11 0 0 0 1 0 0 0 1
22 0 0 1 0 0 0 1 0 33 0 0 1 1 0 0 1 1
44 0 1 0 0 0 1 0 0 55 0 1 0 1 0 1 0 1
66 0 1 1 0 0 1 1 0 77 0 1 1 1 0 1 1 1 88
1 0 0 0 1 0 0 099 1 0 0 1 1 0 0 1
DIGITODIGITO EXCESO 3 EXCESO 3
00 0 0 1 1 0 0 1 111 0 1 0 0 0 1 0 022 0 1 0 1 0 1 0 133 0 1 1 0 0 1 1 044 0 1 1 1 0 1 1 155 1 0 0 0 1 0 0 066 1 0 0 1 1 0 0 177 1 0 1 0 1 0 1 088 1 0 1 1 1 0 1 199 1 1 0 0 1 1 0 0
DIGITODIGITO 8 4 2 18 4 2 1 EXCESO 3EXCESO 3
00 0 0 0 00 0 0 0 0 0 1 1 0 0 1 111 0 0 0 10 0 0 1 0 1 0 0 0 1 0 022 0 0 1 00 0 1 0 0 1 0 1 0 1 0 133 0 0 1 10 0 1 1 0 1 1 0 0 1 1 044 0 1 0 00 1 0 0 0 1 1 1 0 1 1 155 0 1 0 10 1 0 1 1 0 0 0 1 0 0 066 0 1 1 00 1 1 0 1 0 0 1 1 0 0 177 0 1 1 10 1 1 1 1 0 1 0 1 0 1 088 1 0 0 01 0 0 0 1 0 1 1 1 0 1 199 1 0 0 11 0 0 1 1 1 0 0 1 1 0 0
DIGITODIGITO 8 4 –2 –1 8 4 –2 –1
00 0 0 0 0 0 0 0 0 11 0 1 1 1 0 1 1 1 22 0 1 1 0 0 1 1 0 33 0 1 0 1 0 1 0 1 44 0 1 0 0 0 1 0 0 55 1 0 1 1 1 0 1 166 1 0 1 0 1 0 1 0 77 1 0 0 1 1 0 0 1 88 1 0 0 0 1 0 0 0 99 1 1 1 1 1 1 1 1
DIGITODIGITO 2 4 2 1(AIKEN) 2 4 2 1(AIKEN)
00 0 0 0 00 0 0 011 0 0 0 10 0 0 122 0 0 1 00 0 1 033 0 0 1 10 0 1 144 0 1 0 0 0 1 0 055 1 0 1 1 1 0 1 166 1 1 0 0 1 1 0 077 1 1 0 1 1 1 0 188 1 1 1 0 1 1 1 099 1 1 1 1 1 1 1 1
DIGITODIGITO 8 4 –2 –18 4 –2 –1 2 4 2 1(AIKEN) 2 4 2 1(AIKEN)
00 0 0 0 00 0 0 0 0 0 0 0 0 0 0 011 0 1 1 1 0 0 0 10 1 1 1 0 0 0 122 0 1 1 00 1 1 0 0 0 1 0 0 0 1 033 0 1 0 10 1 0 1 0 0 1 1 0 0 1 144 0 1 0 00 1 0 0 0 1 0 0 0 1 0 055 1 0 1 11 0 1 1 1 0 1 1 1 0 1 166 1 0 1 01 0 1 0 1 1 0 0 1 1 0 077 1 0 0 11 0 0 1 1 1 0 1 1 1 0 188 1 0 0 01 0 0 0 1 1 1 0 1 1 1 099 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
Es un CODIGO REFLEJADO, en el cual Es un CODIGO REFLEJADO, en el cual la representación de un numero la representación de un numero cambia solamente en un bit con cambia solamente en un bit con respecto al numero siguiente.respecto al numero siguiente.
Los contadores en Código GRAY se Los contadores en Código GRAY se utilizan para proporcionar secuencias utilizan para proporcionar secuencias de tiempo que controlan las de tiempo que controlan las operaciones en un sistema digital. operaciones en un sistema digital.
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
El Código GRAY se genera reflejando el El Código GRAY se genera reflejando el código anterior al llegar a una potencia de código anterior al llegar a una potencia de dos, y cada vez que se refleja se añade dos, y cada vez que se refleja se añade una columna a la izquierda donde la mitad una columna a la izquierda donde la mitad de los términos son ceros y la otra mitad de los términos son ceros y la otra mitad son unos.son unos.
El Código GRAY se indica por el numero de El Código GRAY se indica por el numero de bits: Código de 3bits, 4 bits, 5 bits, etc.bits: Código de 3bits, 4 bits, 5 bits, etc.
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
00 00
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
00 00
11 11
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
00
11
11
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
00
11
11
00
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
0000
0101
1111
1010
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
00 0000
11 0101
22 1111
33 1010
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
00000101111110101010
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
000001011111101010101111
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
0000010111111010101011110101
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
00000101111110101010111101010000
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
000000001001011011010010110110111111101101100100
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CODIGO GRAYCODIGO GRAY
00 00000011 00100122 01101133 01001044 11011055 11111166 10110177 100100
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
El Código Gray para 4 bits es:El Código Gray para 4 bits es:
NUMERONUMERO CODIGOCODIGO00 0 0 0 0 0 0 0 011 0 0 0 1 0 0 0 122 0 0 1 1 0 0 1 133 0 0 1 0 0 0 1 044 0 1 1 0 0 1 1 055 0 1 1 1 0 1 1 166 0 1 0 1 0 1 0 177 0 1 0 0 0 1 0 0
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
NUMERONUMERO CODIGOCODIGO88 1 1 0 0 1 1 0 0 99 1 1 0 1 1 1 0 1
1010 1 1 1 1 1 1 1 1 1111 1 1 1 0 1 1 1 0
1212 1 0 1 0 1 0 1 0 1313 1 0 1 1 1 0 1 1 1414 1 0 0 1 1 0 0 1 1515 1 0 0 0 1 0 0 0
CONVERSION BINARIO A CONVERSION BINARIO A GRAYGRAY
Sea gSea gn-1n-1 … g … gii … g … g00 dato en GRAY dato en GRAY
Sea bSea bn-1n-1 … b … bii … b … b00 dato en binario dato en binario
ggn-1n-1 = b = bn-1n-1
Bit mas significativo Gray = Bit mas Bit mas significativo Gray = Bit mas significativo en binariosignificativo en binario
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CONVERSION BINARIO A CONVERSION BINARIO A GRAYGRAY
ggii = b = bii ⊕ ⊕ bbi+1i+1 para todo i para todo i tal que tal que 0 0 ≤ i ≤ n-2≤ i ≤ n-2
De izquierda a derecha, comparamos De izquierda a derecha, comparamos con el siguiente digito: con el siguiente digito:
Si son iguales ubicamos 0Si son iguales ubicamos 0 Si son diferentes ubicamos 1Si son diferentes ubicamos 1
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CONVERSION BINARIO A CONVERSION BINARIO A GRAYGRAY
EjemplosEjemplos 82 = 1 0 1 0 0 1 082 = 1 0 1 0 0 1 022
11 1 1 0 1 111 1 1 0 1 1 GrayGray
45 = 1 0 1 1 0 145 = 1 0 1 1 0 122
11 1 0 1 111 1 0 1 1 GrayGray
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CONVERSION GRAY A CONVERSION GRAY A BINARIOBINARIO
Sea gSea gn-1n-1 … g … gii … g … g00 dato en GRAY dato en GRAY
Sea bSea bn-1n-1 … b … bii … b … b00 dato en binario dato en binario
bbn-1n-1 = g = gn-1n-1
Bit mas significativo binario = bit mas Bit mas significativo binario = bit mas significativo Graysignificativo Gray
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CONVERSION GRAY A CONVERSION GRAY A BINARIOBINARIO
bbi i = g= gii si bsi bn+1n+1 = 0 (binario i = = 0 (binario i = gray i, si binario anterior es cero)gray i, si binario anterior es cero)
bbi i = g= gii ‘ ‘ si bsi bn+1n+1 = 1 (binario i = = 1 (binario i = gray i complemento, si binario gray i complemento, si binario anterior es uno)anterior es uno)
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado
CONVERSION GRAY A CONVERSION GRAY A BINARIOBINARIO
Ejemplos: Ejemplos: 1 0 0 0 1 0 1 11 0 0 0 1 0 1 1 GrayGray
1 1 1 1 0 0 1 01 1 1 1 0 0 1 022
0 1 1 1 0 0 0 1 1 1 Gray0 1 1 1 0 0 0 1 1 1 Gray
0 1 0 1 1 1 1 0 1 00 1 0 1 1 1 1 0 1 022
Ing. Julio Gonzalez PradoIng. Julio Gonzalez Prado