Download - 06 algebraboole c
![Page 1: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/1.jpg)
[ Sistemas Operativos ]
Präsentation
Universidad de MagallanesFacultad de Ingeniería
Departamento de Ingeniería en Computación
MIC3181Algebra de Boole… continuación
Eduardo Peña J.
Edopena 1 Microprocesadores
![Page 2: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/2.jpg)
[ Algebra de Boole ]
PräsentationEdopena 2
Microprocesadores
Indice
Temario:
Métodos de minimizaciónMétodo mapas de KarnaughMétodo tabular Quine McCluskey
Información extraída de:http://www.cic.unb.br/docentes/jacobi/ensino/circuitos/DoisNiveis/sld001.htm
![Page 3: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/3.jpg)
Suma de productos es una forma de representación de funciones booleanas
constituida por operaciones lógicas o sobre un conjunto de términos formados por la operación.
[ Algebra de Boole ]
Edopena 3 Microprocesadores
Suma de Productos
SUMA DE PRODUCTOS
![Page 4: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/4.jpg)
El producto de sumas es otra forma de representación de funciones booleanas
caracterizadas por la aplicación de operación sobre un conjunto de operaciones o sobre las
entradas
[ Algebra de Boole ]
Edopena 4 Microprocesadores
Producto de Suma
PRODUCTO DE SUMA
![Page 5: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/5.jpg)
•Un minterm es un término producto que vale 1 en al menos un punto del dominio de una función booleana.
•Es definido por un producto (AND) donde cada variable aparece al menos una vez directa o complementada.
[ Algebra de Boole ]
Edopena 5 Microprocesadores
Minterms
MINTERMS
![Page 6: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/6.jpg)
•Un maxterm es un término suma que vale 0 en al menos un punto del dominio de la función.
•Es determinado por una adición (OR) donde cada variable aparece al menos una vez, directa o complementada.
[ Algebra de Boole ]
Edopena 6 Microprocesadores
Maxterms
MAXTERMS
![Page 7: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/7.jpg)
•Una tabla de verdad es una firma que identifica inequívocamente una función booleanas.
•Expresiones booleanas diferentes pueden representar una misma función booleana.
[ Algebra de Boole ]
Edopena 7 Microprocesadores
Formas canónicas
FORMAS CANÓNICAS
![Page 8: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/8.jpg)
•Las formas canónicas son representaciones únicas de funciones booleanas.
Ej. Una suma de productos es una forma canónica.
[ Algebra de Boole ]
Edopena 8 Microprocesadores
Formas canónicas
FORMAS CANÓNICAS DE DOS NIVELES
![Page 9: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/9.jpg)
•Las formas canónicas son representaciones únicas de funciones booleanas.
Ej. Un producto de sumas es otra forma canónica.
[ Algebra de Boole ]
Edopena 9 Microprocesadores
Formas canónicas
![Page 10: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/10.jpg)
•Notación para suma de minterms.
•Notación para producto de maxterms.
[ Algebra de Boole ]
Edopena 10 Microprocesadores
Formas canónicas
![Page 11: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/11.jpg)
[ Algebra de Boole ]
Edopena 11 Microprocesadores
SIMPLIFICACION DE SUMAS DE MINTERMS
Formas canónicas
![Page 12: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/12.jpg)
•Es posible obtener un producto de maxterms a partir de una suma de minterms o viceversa aplicando De Morgan sobre el complemento de la función.
[ Algebra de Boole ]
Edopena 12 Microprocesadores
MINTERMS X MAXTERMS
Formas canónicas
![Page 13: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/13.jpg)
•Estas son las funciones para las cuales algunas combinaciones de valores de entrada nunca ocurren.
Ej. Decodificador de display de 7 segmentos para dígitos BCD.
[ Algebra de Boole ]
Edopena 13 Microprocesadores
FUNCIONES INCOMPLETAS
Funciones Incompletas
![Page 14: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/14.jpg)
•Las funciones incompletas mapean puntos del dominio de una función en tres valores posibles.
•Los dominios de puntos donde F vale {0 , 1 X} son denominados, respectivamente, de:
•F puede ser descrita definiendo dos de sus tres conjuntos.
[ Algebra de Boole ]
Edopena 14 Microprocesadores
Funciones Incompletas
![Page 15: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/15.jpg)
Manipulación Algebraica:
•Difícil de determinar un orden y qué transformaciones aplicar.
•Cómo sabes si se localizó una mejor solución.
Herramientas de auxilio:
•No consiguen tratar problemas de forma exacta.
•Se basan en heurísticas y criterios de costo.
Métodos manuales, al menos para fines didácticos y funciones muy simples
[ Algebra de Boole ]
Edopena 15 Microprocesadores
Minimización lógica de dos niveles
MINIMIZACIÓN LÓGICA DE DOS NIVELES
![Page 16: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/16.jpg)
•Idea base: Aplicación de distribución y complemento.
[ Algebra de Boole ]
Edopena 16 Microprocesadores
Minimización lógica de dos niveles
![Page 17: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/17.jpg)
•Un espacio booleano n-dimensional puede ser visualizado espacialmente.
•Los productos de literales son llamados cubos.
[ Algebra de Boole ]
Edopena 17 Microprocesadores
Cubos
CUBOS
![Page 18: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/18.jpg)
•Puntos adjacentes difieren en un bit.
•Todos los puntos de la función están en una cara.
•Y y Z varían mientras que X permanece inalterable: Y y Z pueden ser eliminados de la expresión.
[ Algebra de Boole ]
Edopena 18 Microprocesadores
Cubos
VISUALIZACIÓN DE CUBOS
![Page 19: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/19.jpg)
•Visualización del dominio de una función en forma matricial.
•Puntos del dominio están dispuestos siguiendo el código Gray, pares adjacentes difieren en un bit.
[ Algebra de Boole ]
Edopena 19 Microprocesadores
Mapas de Karnaugh
MAPAS DE KARNAUGH
![Page 20: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/20.jpg)
•Los elementos extremos de las columnas y filas son adjacentes.
[ Algebra de Boole ]
Edopena 20 Microprocesadores
Mapas de Karnaugh
ADJACENCIA DEL MAPA DE KARNAUGH
![Page 21: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/21.jpg)
•El cubo obtenido es definido por las variables que no cambian de cara en todos sus minterms.
[ Algebra de Boole ]
Edopena 21 Microprocesadores
Mapas de Karnaugh
![Page 22: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/22.jpg)
•La agrupación obtenida es definida por las variables que no cambian de cara en todos sus minterms.
[ Algebra de Boole ]
Edopena 22 Microprocesadores
Mapas de Karnaugh
![Page 23: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/23.jpg)
[ Algebra de Boole ]
Edopena 23 Microprocesadores
Mapas de Karnaugh
![Page 24: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/24.jpg)
[ Algebra de Boole ]
Edopena 24 Microprocesadores
Mapas de Karnaugh
COMPLEMENTO DE UNA FUNCIÓN
![Page 25: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/25.jpg)
[ Algebra de Boole ]
Edopena 25 Microprocesadores
Mapas de Karnaugh
![Page 26: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/26.jpg)
[ Algebra de Boole ]
Edopena 26 Microprocesadores
Mapas de Karnaugh
KARNAUGH DE CUATRO VARIABLES
![Page 27: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/27.jpg)
[ Algebra de Boole ]
Edopena 27 Microprocesadores
Mapas de Karnaugh
![Page 28: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/28.jpg)
•Los puntos irrelevantes pueden ser considerados como un 1 o un 0 en el mapa de Karnaugh.
•Son utilizados para formar agrupaciones mayores, simplificando una función.
[ Algebra de Boole ]
Edopena 28 Microprocesadores
Mapas de Karnaugh
MINIMIZACIÓN CON IRRELEVANTES
![Page 29: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/29.jpg)
[ Algebra de Boole ]
Edopena 29 Microprocesadores
Mapas de Karnaugh
EJEMPLO COMPARADOR DE DOS BITS
![Page 30: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/30.jpg)
[ Algebra de Boole ]
Edopena 30 Microprocesadores
Mapas de Karnaugh
EJEMPLO COMPARADOR DE DOS BITS
![Page 31: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/31.jpg)
[ Algebra de Boole ]
Edopena 31 Microprocesadores
Mapas de Karnaugh
EJEMPLO COMPARADOR DE DOS BITS
![Page 32: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/32.jpg)
•La minimización de dos niveles busca obtener las sumas del producto con un número mínimo de productos y literales.
• Minimizándose el número de productos se está reducido la altura de la implementación y, por consiguiente, su área.
• Estando reducido el número de literales, se reduce el número de transistores de la implementación digital, lo que minimiza la potencia disipada.
Ej Sumador de 1 bit
[ Algebra de Boole ]
Edopena 32 Microprocesadores
Mapas de Karnaugh
MINIMIZACIÓN LÓGICA EN DOS NIVELES
![Page 33: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/33.jpg)
Conceptos Básicos
• Implicante: una agrupación c es un implicante de una función f si para todo vector x donde c(x) = 1, tenemos que f(x) = 1. O sea c f
•En álgebra Booleana “²” es una relación de orden parcial, análoga a relación "está contenido en" entre conjuntos. Puede ser definida como “un conjunto de minterms de c está contenido en f”.
[ Algebra de Boole ]
Edopena 33 Microprocesadores
Mapas de Karnaugh
![Page 34: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/34.jpg)
Conceptos Básicos•Implicante primo: es una agrupación que no está contenida en ninguna otra agrupación de la función (o, no puede ser mas expandido)
•Implicante primo esencial: es un implicante primo que contiene al menos un minterm que no está contenido en ningún otro implicante de la función.
[ Algebra de Boole ]
Edopena 34 Microprocesadores
Mapas de Karnaugh
![Page 35: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/35.jpg)
•Una cobertura de una función f y una suma de productos que contienen todos los minterms de f (cobre f) Una cobertura prima es aquella compuesta apenas por implicantes primos
• Una cobertura irredundante es aquella en que ninguno de las dos agrupaciones puede ser removida sin alterar la función.
[ Algebra de Boole ]
Edopena 35 Microprocesadores
Mapas de Karnaugh
![Page 36: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/36.jpg)
Ejemplos
[ Algebra de Boole ]
Edopena 36 Microprocesadores
Mapas de Karnaugh
![Page 37: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/37.jpg)
1. Seleccione un minterm mi de la función.
2. Expanda mi en todas las direcciones posibles, generando así todos los implicantes primos que cubren mi .
3. Repita los pasos anteriores para todos los minterms de la función, generando todos los implicantes primos posibles.
4. Identifique y separe los implicantes esenciales. Los minterms cubiertos por ellos pueden ser considerados como puntos irrelevantes.
5. Seleccione un conjunto mínimo de implicantes que cubra los minterms restantes.
[ Algebra de Boole ]
Edopena 37 Microprocesadores
Mapas de Karnaugh
COBERTURA MÍNIMA CON MAPA DE KARNAUGH
![Page 38: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/38.jpg)
Ejemplo
[ Algebra de Boole ]
Edopena 38 Microprocesadores
Mapas de Karnaugh
![Page 39: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/39.jpg)
Continuación Ejemplo
[ Algebra de Boole ]
Edopena 39 Microprocesadores
Mapas de Karnaugh
![Page 40: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/40.jpg)
•Tome los minterms de la función y expanda sucesivamente los minterms en todas direcciones posibles (variables en espacio Booleano).
• Obtener así todos los implicantes primos de la función.
• Seleccione un subconjunto que cubra la función que tenga un costo mínimo.
• Detección y remoción de primos esenciales.
• Dominancia de línea y de columna.
• Branch and bound cuando no hay dominancia.
[ Algebra de Boole ]
Edopena 40 Microprocesadores
Quine McClusky
MÉTODO DE QUINE McCLUSKY
![Page 41: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/41.jpg)
McCluskey:
•Representar los implicantes en notación binaria :
X= {x1, x2, x3}
•Tabular los implicantes en grupos de mismo peso (1's) para reducir el número de comparaciones .
x1·x3' -> 1-0
x3 -> --1
x1'·x2'·x3 -> 001
[ Algebra de Boole ]
Edopena 41 Microprocesadores
Quine McClusky
![Page 42: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/42.jpg)
Expansión de minterms
Ejemplo: F =
Expansión de los minterms de los implicantes.
[ Algebra de Boole ]
Edopena 42 Microprocesadores
Quine McClusky
![Page 43: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/43.jpg)
Implicantes Primos:
p1 = x1·x0 p3 = x2'·x1 p5 = x3·x1'·x0'
p7 = x3·x2·x1'
p2 = x2·x0 p4 = x3'·x0 p6 = x3·x2'·x0'
[ Algebra de Boole ]
Edopena 43 Microprocesadores
Quine McClusky
![Page 44: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/44.jpg)
Cobertura de función
[ Algebra de Boole ]
Edopena 44 Microprocesadores
Quine McClusky
![Page 45: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/45.jpg)
Cobertura de función
•Dominancia de Línea: si todos los minterms de una línea lx están contenidos en una línea ly, entonces ly domina a lx y lx puede ser removida de la tabla esto indica que el implicante py cubre al implicante px
[ Algebra de Boole ]
Edopena 45 Microprocesadores
Quine McClusky
![Page 46: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/46.jpg)
Cobertura de función•Dominancia de columna: si todos los minterms de una columna cx están contenidos en una columna cy, entonces cy domina a cx y cy puede ser removida de la tabla cubriendo el minterm mx automáticamente se cubre my
[ Algebra de Boole ]
Edopena 46 Microprocesadores
Quine McClusky
![Page 47: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/47.jpg)
Problemas con el método de Quine:
• Computacionalmente es ineficiente
• Genera todos los implicantes primos
Complejidad de: (3 ^ n)/n
• Parte de los minterms de la función
Complejidad de: 2n-1
[ Algebra de Boole ]
Edopena 47 Microprocesadores
Quine McClusky
CAD PARA MINIMIZACIÓN
![Page 48: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/48.jpg)
•Punto de partida: una suma de productos (no mintermos)
• Respete iterativamente la secuencia de operaciones:
Expand: Expande los implicantes hasta su tamaño máximo
Extraer esenciale primos
Cobertura Irredundante: generar una cobertura irredundante
Reducir: reduzca los implicantes hasta su tamaño mínimo
Respete los pasos anteriores hasta no obtener ganancias
Last gasp: la inserción de un primo cualquiera no puede llevar a eliminación de dos primos de la cobertura
[ Algebra de Boole ]
Edopena 48 Microprocesadores
Resumen
RESUMEN
![Page 49: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/49.jpg)
[ Algebra de Boole ]
Edopena 49 Microprocesadores
Resumen
![Page 50: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/50.jpg)
[ Algebra de Boole ]
Edopena 50 Microprocesadores
Resumen
![Page 51: 06 algebraboole c](https://reader035.vdocuments.pub/reader035/viewer/2022062706/557bbb92d8b42ace668b4cf0/html5/thumbnails/51.jpg)
[ Algebra de Boole ]
Edopena 51 Microprocesadores
Resumen