06 algebraboole c
Transcript of 06 algebraboole c
[ 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
[ 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
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
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
•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
•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
•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
•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
•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
•Notación para suma de minterms.
•Notación para producto de maxterms.
[ Algebra de Boole ]
Edopena 10 Microprocesadores
Formas canónicas
[ Algebra de Boole ]
Edopena 11 Microprocesadores
SIMPLIFICACION DE SUMAS DE MINTERMS
Formas canónicas
•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
•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
•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
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
•Idea base: Aplicación de distribución y complemento.
[ Algebra de Boole ]
Edopena 16 Microprocesadores
Minimización lógica de dos niveles
•Un espacio booleano n-dimensional puede ser visualizado espacialmente.
•Los productos de literales son llamados cubos.
[ Algebra de Boole ]
Edopena 17 Microprocesadores
Cubos
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.
[ Algebra de Boole ]
Edopena 18 Microprocesadores
Cubos
VISUALIZACIÓN DE CUBOS
•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
•Los elementos extremos de las columnas y filas son adjacentes.
[ Algebra de Boole ]
Edopena 20 Microprocesadores
Mapas de Karnaugh
ADJACENCIA DEL MAPA DE KARNAUGH
•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
•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
[ Algebra de Boole ]
Edopena 23 Microprocesadores
Mapas de Karnaugh
[ Algebra de Boole ]
Edopena 24 Microprocesadores
Mapas de Karnaugh
COMPLEMENTO DE UNA FUNCIÓN
[ Algebra de Boole ]
Edopena 25 Microprocesadores
Mapas de Karnaugh
[ Algebra de Boole ]
Edopena 26 Microprocesadores
Mapas de Karnaugh
KARNAUGH DE CUATRO VARIABLES
[ Algebra de Boole ]
Edopena 27 Microprocesadores
Mapas de Karnaugh
•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
[ Algebra de Boole ]
Edopena 29 Microprocesadores
Mapas de Karnaugh
EJEMPLO COMPARADOR DE DOS BITS
[ Algebra de Boole ]
Edopena 30 Microprocesadores
Mapas de Karnaugh
EJEMPLO COMPARADOR DE DOS BITS
[ Algebra de Boole ]
Edopena 31 Microprocesadores
Mapas de Karnaugh
EJEMPLO COMPARADOR DE DOS BITS
•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
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
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
•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
Ejemplos
[ Algebra de Boole ]
Edopena 36 Microprocesadores
Mapas de Karnaugh
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
Ejemplo
[ Algebra de Boole ]
Edopena 38 Microprocesadores
Mapas de Karnaugh
Continuación Ejemplo
[ Algebra de Boole ]
Edopena 39 Microprocesadores
Mapas de Karnaugh
•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
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
Expansión de minterms
Ejemplo: F =
Expansión de los minterms de los implicantes.
[ Algebra de Boole ]
Edopena 42 Microprocesadores
Quine McClusky
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
Cobertura de función
[ Algebra de Boole ]
Edopena 44 Microprocesadores
Quine McClusky
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
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
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
•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
[ Algebra de Boole ]
Edopena 49 Microprocesadores
Resumen
[ Algebra de Boole ]
Edopena 50 Microprocesadores
Resumen
[ Algebra de Boole ]
Edopena 51 Microprocesadores
Resumen