[ Sistemas Operativos ] Universidad de Magallanes Facultad de Ingeniería Departamento de Ingeniería en Computación [ Sistemas Operativos ] MIC3181 Algebra de Boole … continuación Eduardo Peña J. Präsentation Edopena 1 Microprocesadores
[ Algebra de Boole ] Temario: Métodos de minimización Indice Temario: Métodos de minimización Método mapas de Karnaugh Método tabular Quine McCluskey Información extraída de: http://www.cic.unb.br/docentes/jacobi/ensino/circuitos/DoisNiveis/sld001.htm Edopena 2 Microprocesadores Präsentation
[ Algebra de Boole ] Suma de Productos SUMA DE PRODUCTOS 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. Edopena 3 Microprocesadores
[ Algebra de Boole ] Producto de Suma PRODUCTO DE SUMA 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 Edopena 4 Microprocesadores
[ Algebra de Boole ] Minterms MINTERMS 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. Edopena 5 Microprocesadores
[ Algebra de Boole ] Maxterms MAXTERMS 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. Edopena 6 Microprocesadores
[ Algebra de Boole ] Formas canónicas FORMAS CANÓNICAS 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. Edopena 7 Microprocesadores
[ Algebra de Boole ] Formas canónicas FORMAS CANÓNICAS DE DOS NIVELES Las formas canónicas son representaciones únicas de funciones booleanas. Ej. Una suma de productos es una forma canónica. Edopena 8 Microprocesadores
[ Algebra de Boole ] Formas canónicas Las formas canónicas son representaciones únicas de funciones booleanas. Ej. Un producto de sumas es otra forma canónica. Edopena 9 Microprocesadores
[ Algebra de Boole ] Formas canónicas Notación para suma de minterms. Notación para producto de maxterms. Edopena 10 Microprocesadores
[ Algebra de Boole ] Formas canónicas SIMPLIFICACION DE SUMAS DE MINTERMS Edopena 11 Microprocesadores
[ Algebra de Boole ] Formas canónicas MINTERMS X MAXTERMS 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. Edopena 12 Microprocesadores
[ Algebra de Boole ] Funciones Incompletas FUNCIONES INCOMPLETAS 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. Edopena 13 Microprocesadores
[ Algebra de Boole ] Funciones Incompletas 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. Edopena 14 Microprocesadores
[ Algebra de Boole ] Minimización lógica de dos niveles 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 Edopena 15 Microprocesadores
[ Algebra de Boole ] Minimización lógica de dos niveles Idea base: Aplicación de distribución y complemento. Edopena 16 Microprocesadores
[ Algebra de Boole ] Cubos CUBOS Un espacio booleano n-dimensional puede ser visualizado espacialmente. Los productos de literales son llamados cubos. Edopena 17 Microprocesadores
[ Algebra de Boole ] Cubos VISUALIZACIÓN DE CUBOS 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. Edopena 18 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh MAPAS DE KARNAUGH 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. Edopena 19 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh ADJACENCIA DEL MAPA DE KARNAUGH Los elementos extremos de las columnas y filas son adjacentes. Edopena 20 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh El cubo obtenido es definido por las variables que no cambian de cara en todos sus minterms. Edopena 21 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh La agrupación obtenida es definida por las variables que no cambian de cara en todos sus minterms. Edopena 22 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh Edopena 23 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh COMPLEMENTO DE UNA FUNCIÓN Edopena 24 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh Edopena 25 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh KARNAUGH DE CUATRO VARIABLES Edopena 26 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh Edopena 27 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh MINIMIZACIÓN CON IRRELEVANTES 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. Edopena 28 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh EJEMPLO COMPARADOR DE DOS BITS Edopena 29 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh EJEMPLO COMPARADOR DE DOS BITS Edopena 30 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh EJEMPLO COMPARADOR DE DOS BITS Edopena 31 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh MINIMIZACIÓN LÓGICA EN DOS NIVELES 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 Edopena 32 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh 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”. Edopena 33 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh 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. Edopena 34 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh 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. Edopena 35 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh Ejemplos Edopena 36 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh COBERTURA MÍNIMA CON MAPA DE Seleccione un minterm mi de la función. Expanda mi en todas las direcciones posibles, generando así todos los implicantes primos que cubren mi . Repita los pasos anteriores para todos los minterms de la función, generando todos los implicantes primos posibles. Identifique y separe los implicantes esenciales. Los minterms cubiertos por ellos pueden ser considerados como puntos irrelevantes. Seleccione un conjunto mínimo de implicantes que cubra los minterms restantes. Edopena 37 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh Ejemplo Edopena 38 Microprocesadores
[ Algebra de Boole ] Mapas de Karnaugh Continuación Ejemplo Edopena 39 Microprocesadores
[ Algebra de Boole ] Quine McClusky MÉTODO DE QUINE McCLUSKY 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. Edopena 40 Microprocesadores
[ Algebra de Boole ] Quine McClusky x1·x3' -> 1-0 x3 -> --1 McCluskey: Representar los implicantes en notación binaria : X= {x1, x2, x3} x1·x3' -> 1-0 x3 -> --1 x1'·x2'·x3 -> 001 Tabular los implicantes en grupos de mismo peso (1's) para reducir el número de comparaciones . Edopena 41 Microprocesadores
[ Algebra de Boole ] Quine McClusky Expansión de minterms Ejemplo: F = S (1, 2, 3, 5, 7, 8, 10, 11, 12, 13, 15) Expansión de los minterms de los implicantes. Edopena 42 Microprocesadores
[ Algebra de Boole ] Quine McClusky Implicantes Primos: p1 = x1·x0 p5 = x3·x1'·x0' p7 = x3·x2·x1' p2 = x2·x0 p4 = x3'·x0 p6 = x3·x2'·x0' Edopena 43 Microprocesadores
[ Algebra de Boole ] Quine McClusky Cobertura de función Edopena 44 Microprocesadores
[ Algebra de Boole ] Cobertura de función Quine McClusky 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 Edopena 45 Microprocesadores
[ Algebra de Boole ] Cobertura de función Quine McClusky 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 Edopena 46 Microprocesadores
Problemas con el método de Quine: [ Algebra de Boole ] Quine McClusky CAD PARA MINIMIZACIÓN 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 Edopena 47 Microprocesadores
[ Algebra de Boole ] RESUMEN Resumen 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 Edopena 48 Microprocesadores
[ Algebra de Boole ] Resumen Edopena 49 Microprocesadores
[ Algebra de Boole ] Resumen Edopena 50 Microprocesadores
[ Algebra de Boole ] Resumen Edopena 51 Microprocesadores