Sei sulla pagina 1di 18

Arquitectura de Computadores y

Arquitectura de Computadores y Laboratorio (2020-1)

Laboratorio
Clase 06: Álgebra Booleana Pt. 3

Departamento de Ingeniería de Sistemas


2020-1
Simplificación de funciones Booleanas
▶ Objetivo: Hallar una representación de una función Booleana con el número mínimo de literales
Arquitectura de Computadores y Laboratorio (2020-1)

● Para esto se aprovecharán los casos don’t care

▶ Simplificación algebraica
● No es un procedimiento sistemático o algorítmico
● ¿Cómo sabemos que hemos hallado una representación mínima?

▶ Herramientas de diseño asistido por computador (CAD)


● Soluciones exactas requieren de tiempos de computación muy prolongados, especialmente para funciones con muchas
entradas
● Métodos heurísticos para obtener soluciones aceptables

▶ Métodos manuales
● Útiles para comprender las fortalezas y debilidades de las herramientas automáticas
● Dan habilidad para producir y revisar resultados (en ejemplos de tamaño reducido)

2
Simplificación de funciones Booleanas
▶ Herramienta clave de simplificación: X(Y’ + Y) = X (Uniting theorem)
Arquitectura de Computadores y Laboratorio (2020-1)

▶ Simplificación en esencia:
xy F
F(x,y)= ∑(2,3) = xy’ + xy = x(y’ + y) = x
00 0

01 0
x tiene el mismo valor en ambas filas del conjunto ON de F
10 1 ⇒ x permanece
11 1
y tiene valores diferentes en ambas filas del conjunto ON de F
⇒ y es eliminada

▶ La esencia de la simplificación consiste en encontrar repetidamente subconjuntos de dos elementos en el


conjunto ON en los cuales sólo una variable cambie su valor mientras las otras lo conservan
● La variable que cambia de valor se puede eliminar (gracias al teorema de simplificación), y usaremos un solo término
producto para representar un grupo de elementos del conjunto ON

3
Cubos Booleanos
▶ La tabla de verdad de una función Booleana de n entradas puede representarse como un “cubo” en un espacio
Arquitectura de Computadores y Laboratorio (2020-1)

Booleano de n dimensiones

▶ Hay un eje por cada variable, sobre el cual ésta puede tomar dos valores
▶ Cada nodo o vértice tiene asociadas unas coordenadas en el espacio de n dimensiones y representa un minterm
de la función Booleana
4
Mapeo de tablas de verdad a cubos Booleanos
▶ Ejemplo con dos variables
Arquitectura de Computadores y Laboratorio (2020-1)

xy F

00 1

01 0
Los elementos del conjunto ON de F son
10 1 adyacentes en el cubo (están unidos por
un arco)
11 0

x varía en esta arco, y no lo hace


● Conjunto ON: nodos negros
Aplicando el teorema de simplificación:
● Conjunto OFF: nodos blancos
● Conjunto DC: nodos X F(x,y) = x’y’ + xy’ = y’(x + x’) = y’

▶ Los nodos adyacentes se pueden agrupar en sub-cubos. Cada sub-cubo representa un producto en una forma
estándar SoP

5
Mapeo de tablas de verdad a cubos Booleanos
▶ Ejemplo con tres variables
Arquitectura de Computadores y Laboratorio (2020-1)

xyz F

000 0

001 0

010 0

011 1

100 0

101 1

110 1

111 1 El conjunto ON de F está completamente cubierto por la suma (OR) de los


términos producto que aportan los tres sub-cubos (Note que el nodo “111” está
cubierto tres veces)

F(x,y,z) = xy + yz + xz
6
Mapeo de tablas de verdad a cubos Booleanos
▶ Ejemplo con sub-cubos de mayor dimensión
Arquitectura de Computadores y Laboratorio (2020-1)

F(x,y,z) = ∑(4,5,6,7)
xyz F

000 0 La función F está representada por un cubo


de 3 dimensiones.
001 0

010 0 Su conjunto ON es un sub-cubo de 2


dimensiones, es decir, un plano
011 0

100 1 En este sub-cubo, x no varía, mientras que


y y z sí lo hacen
101 1 ⇒ Este sub-cubo se representa con el
110 1 literal x

111 1 F(x,y,z) = x

Equivale a una expresión de una variable (3


dimensiones asociadas a la función menos
2 dimensiones asociadas al sub-cubo)
7
Sub-cubos de m dimensiones en un espacio Booleano de n
dimensiones
Arquitectura de Computadores y Laboratorio (2020-1)

▶ Un sub-cubo de dimensión m (m-cubo) dentro de un cubo de dimensión n (n-cubo) (m < n) se puede definir como
un conjunto de 2m vértices en los cuales (n - m) de las variables tienen el mismo valor en cada vértice, mientras que
las restantes m variables toman sus 2m combinaciones de valores posibles

▶ Un sub-cubo de dimensión m dentro de un cubo Booleano de dimensión n (m < n) puede ser representado por un
término producto con (n - m) literales

▶ El propósito es encontrar el menor número de sub-cubos de más alta dimensión que contengan todos los nodos
del conjunto ON de la función
● Menor número de términos producto y términos producto con el menor número de literales
● Búsqueda de la cubierta mínima de la función

8
Mapas de Karnaugh (Mapas K)
▶ Son una representación alternativa de los cubos Booleanos
Arquitectura de Computadores y Laboratorio (2020-1)

▶ Ayudan a visualizar las adyacencias (sub-cubos): los elementos del conjunto ON en los que sólo una variable
cambia de valor son adyacentes en el mapa K
▶ Un mapa K especifica los valores de la función para cada combinación de las variables de entrada
▶ Ejemplo: Mapa K de una función de dos variables
xy F

00 1

01 0

10 1

11 0

▶ El esquema de numeración de las filas y columnas del mapa está basado en el código de Gray
● De esta manera, cuando se avanza desde una celda a otra contigua sólo cambia un bit en la numeración
▶ Cada celda del mapa K corresponde a un vértice del cubo Booleano y a un minterm de la función Booleana
9
Ejemplos de mapas de Karnaugh
▶ Mapas de dos variables: F(x,y)
Arquitectura de Computadores y Laboratorio (2020-1)

▶ Mapas de tres variables: F(x,y,z)

▶ ¿Cómo son los de cuatro, cinco y seis variables? Dibújelos usted mismo
10
Ejemplos de mapas de Karnaugh
Mapas de dos variables
Arquitectura de Computadores y Laboratorio (2020-1)

▶ F(x,y) = ∑(3)

▶ F(x,y) = ∑(1,2,3)

11
Ejemplos de mapas de Karnaugh
Mapas de dos variables
Arquitectura de Computadores y Laboratorio (2020-1)

▶ F(x,y) = ∑(1,2)

▶ F(x,y) = ∑(0,2)

12
Ejemplos de mapas de Karnaugh
Mapas de tres variables
Arquitectura de Computadores y Laboratorio (2020-1)

▶ F(x,y,z) = ∑(3,5,6,7)

▶ F(x,y,z) = ∑(4,5,6,7)

13
Ejemplos de mapas de Karnaugh
Mapas de tres variables
Arquitectura de Computadores y Laboratorio (2020-1)

▶ F(x,y,z) = ∑(0,4,6,7)

▶ G(x,y,z) = {F(x,y,z)}’ = ∑(1,2,3,5)

14
Ejemplos de mapas de Karnaugh
Mapas de cuatro variables
Arquitectura de Computadores y Laboratorio (2020-1)

▶ F(w,x,y,z) = ∑(0,2,3,5,6,7,8,10,11,14,15)

15
Don’t cares en mapas de Karnaugh
▶ F(w,x,y,z) = ∑(1,3,5,7,9) + d(6,12,13)
Arquitectura de Computadores y Laboratorio (2020-1)

Más adelante, durante el proceso


de simplificación Booleana, el
valor X (don’t care) será tratado
de acuerdo a lo que más
convenga

16
Actividades recomendadas
▶ Leer sobre:
Arquitectura de Computadores y Laboratorio (2020-1)

● Adyacencia en los mapas de Karnaugh


● Definición de términos para simplificación Booleana

17
Bibliografía
▶ Logic and Computer Design Fundamentals, M. Mano and C. Kime, Prentice-Hall
Arquitectura de Computadores y Laboratorio (2020-1)

▶ Principles of Digital Design, D. Gajski. Prentice-Hall


▶ Contemporary Logic Design, R. Katz and G. Borriello, 2nd Ed. Pearson education
▶ Cualquier libro de sistemas digitales que cubra los temas vistos
▶ Gray Code Basics. https://www.allaboutcircuits.com/technical-articles/gray-code-basics/

18

Potrebbero piacerti anche