




Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Diagrama de karnaugh
Tipo: Resúmenes
1 / 8
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





En ocasiones, el método algebraico para simplificar funciones lógicas aplicando los teoremas del álgebra de
Boole, puede no ser el mejor medio por varias razones:
o Cuando aumenta el número de variables o de términos resulta difícil ver la forma de reducir la expresión. o Se trabaja con grandes cantidades de expresiones muy similares a · b · c · d + a · b · c · d ...por lo que la probabilidad de equivocarse en algún paso es muy elevada (y aunque no nos equivoquemos, siempre resulta farragoso). o Podemos llegar a una expresión que no es la óptima, con el consiguiente incremento en puertas y complejidad del circuito final.
Existe un método gráfico para simplificación de funciones que resuelve todos estos problemas: El método de
Karnaugh. Con este método la simplificación adquiere las siguientes ventajas con respecto al método algebraico:
o Para funciones de tres y cuatro variables se aplica de forma muy sencilla. Para cinco variables puede resultar algo más difícil, y para más… existen otros métodos. o No se escriben las expresiones de los productos de las variables, se trabaja directamente sobre un diagrama, por lo que se gana considerablemente en claridad. o Con un poco de soltura (adquirida mediante un poco de práctica), resulta muy sencillo hallar siempre la expresión más óptima de la función.
Es por todos estos motivos que el método de Karnaugh sea ampliamente utilizado para sistemas de tres y cuatro
variables. A todo esto hay que añadir otra gran ventaja: Es un método muy sencillo de aprender, como vamos a ver a
continuación.
El método de Karnaugh es un método gráfico. Se usan unas tablas llamadas tablas o diagramas de Karnaugh.
Dichas tablas tienen una casilla por cada combinación de variables de la función, de forma que para 3 variables
tendremos 2^3 = 8 casillas, para cuatro variables tendremos 2^4 = 16 casillas.
ba dc 00 01 11 10 00 01 11 10
ba c 00 01 11 10 0 1
Diagrama de Karnaugh para 4 variables Diagrama de Karnaugh para 3 variables
Nótese que el orden de las combinaciones no es binario natural si no que es código Gray (00, 01, 11, 10) esto es
debido a que el funcionamiento del método se basa en combinaciones adyacentes.
Una vez dibujado el diagrama, se trasladan a éste las combinaciones de la tabla de la verdad poniendo un 1 en la
casilla correspondiente. Ejemplo: sea la función f = a · b · c + a · b · c + a · b · c que como se ve, vale 1 para las
de esas casillas.
Ahora es cuando vamos a simplificar. A partir de las posiciones de los unos en la tabla, intentamos formar
grupos de unos lo más grandes posibles. Dichos grupos de unos:
En los grupos que formemos se eliminan las variables que estén presentes en el cero y en el uno. En nuestro
diagrama anterior, vemos que podemos hacer dos grupos de dos variables: uno con las casillas
ba c^00 01 (^0 ) 1 1 1
Casillas donde f = 1
Vamos a resolver un problema de lógica combinacional aplicando el método de Karnaugh para obtener la
función simplificada.
Como ya se sabe, la división entera de un número tiene dos partes: cociente y resto, ambos enteros. Nuestro
circuito hará la división de un número BCD (o sea, del 0 al 9) entre 3. El cociente más grande será el obtenido al
dividir el número más grande, que en BCD es el 9. Como 9:3 = 3 necesitamos 2 bits para representar este número
por lo que nuestro circuito deberá tener dos salidas. Una para el bit de más peso y otra para el de menos peso. A
continuación se muestra la salida del circuito y la tabla de verdad.
Número resultado 0 0 1 0 2 0 3 1 4 1 5 1 6 2 7 2 8 2 9 3
D C B A b1 b 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0
1 0 0 1 1 1
División entre 3 de los números del 0 al 9 Tabla de verdad del circuito
Nos van a quedar dos funciones de 4 variables cada una, lo cual es mucho para poder simplificar por el método
algebraico, por lo que usaremos el método de Karnaugh. Usaremos dos diagramas de Karnaugh; uno para la variable
b1 y otro para b.
b
ba dc 00 01 11 10 00 01 11 10 b
ba dc 00 01 11 10 00 01 11 10
Problema Diseñar un circuito combinacional que realice la división entre 3 (entera) de un número codificado en BCD.
En primer lugar rellenamos los diagramas con unos en los lugares donde corresponda. b1 en las posiciones
Ahora buscamos grupos de unos lo más grandes posible. Vemos que para b1 tendremos dos grupos de dos unos:
A partir de estos diagramas obtenemos directamente las ecuaciones del circuito. Para b1 tendremos dos
términos: en el primer grupo (el de arriba) cambia la a , mientras que dcb = 011 por lo que nos queda d · c · b. En el
grupo de abajo cambia la a también, por lo que nos queda d · c · b. Para b0 operamos de la misma forma.
Observemos que vamos a tener tres términos, dos de los cuales tendrán todas las variables. Cuanto menores sean los
grupos, menos variables desaparecen y por tanto más variables aparecerán en la expresión final.
Las ecuaciones de nuestro circuito serán:
b 1 = d · c · b + d · c · b b 0 = d · c · b · a + d · c · b · a + d · c · b
A partir de estas ecuaciones ya podemos implementar nuestro circuito. Nótese que mediante el método de
Karnaugh lo que obtenemos es la expresión mínima de la función expresada en forma de suma de productos. Esto no
quiere decir que la función no se pueda simplificar más. En ocasiones podremos, pero ya no será una expresión en
forma de suma de productos. En este caso, podríamos encontrar una expresión más simple para b0 :
b 0 = d · c · b · a + d · c · b · a + d · c · b = a · c ·( d · b + d · b )+ d · c · b = a · c ·( b ⊕ d )+ d · c · b
b
ba dc 00 01 11 10 00 (^01 1 ) 11 (^10 1 ) b
ba dc 00 01 11 10 (^00 ) (^01 1 ) 11 (^10 )
b
ba dc 00 01 11 10 00 (^01 1 ) 11 (^10 1 ) b
ba dc 00 01 11 10 (^00 ) (^01 1 ) 11 (^10 )
C B A b1 b 0 0 0 0 0 0 0 1 0 1 0 1 0 X X 0 1 1 1 0 1 0 0 X X 1 0 1 X X 1 1 0 X X 1 1 1 1 1
b
ba c 00 01 11 10 (^0 1) X (^1) X X 1 X
b
ba c 00 01 11 10 (^0 1) X (^1) X X 1 X
Tabla de Verdad Diagramas de Karnaugh
No es necesario continuar con el problema para darnos cuenta que hemos conseguido reducir considerablemente
el número de funciones lógicas necesarias. Siempre que podamos, deberemos observar si en nuestro circuito van a
aparecer estados no importa, ya que usarlos supondrá un ahorro considerable de puertas lógicas en la mayoría de los
casos.
Para ver la importancia de aplicar los estados no importa al diseño de sistemas digitales, vamos a resolver de
nuevo el problema del apartado 3 aplicando los que hemos aprendido acerca de los no importa.
Esta era la tabla de verdad que obtuvimos anteriormente:
Número resultado 0 0 1 0 2 0 3 1 4 1 5 1 6 2 7 2 8 2 9 3
D C B A b1 b 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0
1 0 0 1 1 1
División entre 3 de los números del 0 al 9 Tabla de verdad del circuito
Problema Diseñar un circuito combinacional que realice la división entera de un número codificado en BCD entre 3.
Si nos fijamos, vemos que la tabla de verdad no está completa. Para 4 bits hay 16 combinaciones de entrada y
nosotros solo hemos puesto 10. ¿Por qué? Porque en BCD no se usan las combinaciones superiores, aquellas
correspondientes a los números decimales 10, 11,… 15.
Pero nosotros, sin darnos cuenta, si que las hemos usado, las hemos asignado el valor 0 como se ve en los
diagramas de Karnaugh:
Deberíamos incluir en nuestros diagramas de Karnaugh dicha combinaciones como x , en lugar de como 0:
Ahora, para realizar los grupos usaremos las x que acabamos de añadir como 1 o como 0 lógico en función de lo
que más nos convenga para conseguir el menor número de grupos, o bien que éstos sean lo más grandes posible:
b
ba dc 00 01 11 10 00 (^01 1 ) (^11) X X X X (^10 1 1) X X b
ba dc 00 01 11 10 (^00 ) (^01 1 ) (^11) X X X X (^10 1) X X
En esta ocasión nos queda:
b 1 = d + c · b b 0 = c · b + d · a + c · b · a
Que como vemos son expresiones bastante menos complejas que las obtenidas en el apartado 3… y además el
circuito se va a comportar exactamente de la misma manera.
b
ba dc 00 01 11 10 00 (^01 1 ) 11 (^10 1 ) b
ba dc 00 01 11 10 (^00 ) (^01 1 ) 11 (^10 )
b
ba dc 00 01 11 10 00 (^01 1 ) (^11) X X X X (^10 1 1) X X b
ba dc 00 01 11 10 (^00 ) (^01 1 ) (^11) X X X X (^10 1) X X