Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ACyLab C05 PDF
ACyLab C05 PDF
Laboratorio
Clase 05: Álgebra Booleana Pt. 2
● Para una tabla de verdad se pueden tener muchas alternativas de implementación en forma de circuitos lógicos
▶ Usando las formas canónicas podemos obtener expresiones únicas para cualquier función Booleana definida
mediante tablas de verdad
▶ Formas canónicas:
● Suma de min-términos (minterms)
● Producto de max-términos (maxterms)
2
Formas canónicas
Algunas definiciones:
Arquitectura de Computadores y Laboratorio (2020-1)
3
Formas canónicas
Algunas definiciones:
Arquitectura de Computadores y Laboratorio (2020-1)
4
Formas canónicas
▶ Ejemplo: Minterms y maxterms para tres variables binarias
Arquitectura de Computadores y Laboratorio (2020-1)
Notación
Número de fila xyz Minterm Maxterm Notación maxterm
minterm
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
5
Formas canónicas
▶ Ejemplo: Minterms y maxterms para tres variables binarias
Arquitectura de Computadores y Laboratorio (2020-1)
Notación
Número de fila xyz Minterm Maxterm Notación maxterm
minterm
1 001 x’y’z m1 x + y + z’ M1
2 010 x’yz’ m2 x + y’ + z M2
3 011 x’yz m3 x + y’ + z’ M3
4 100 xy’z’ m4 x’ + y + z M4
5 101 xy’z m5 x’ + y + z’ M5
7 111 xyz m7 x’ + y’ + z’ M7
Cualquier función Booleana puede expresarse como la suma (OR) de los minterms correspondientes a las filas de
la tabla de verdad para los cuales la función produce una salida ‘1’
F(Lista de variables) = ∑(Lista de índices de minterms)
Índice xyz F1 F 1’
Ejemplo:
0 000 0 1
1 001 0 1
2 010 0 1
3 011 1 0
4 100 0 1
5 101 1 0
6 110 1 0
7 111 1 0
7
Formas canónicas
▶ Suma de minterms
Arquitectura de Computadores y Laboratorio (2020-1)
Cualquier función Booleana puede expresarse como la suma (OR) de los minterms correspondientes a las filas de
la tabla de verdad para los cuales la función produce una salida ‘1’
F(Lista de variables) = ∑(Lista de índices de minterms)
Índice xyz F1 F 1’
Ejemplo:
0 000 0 1 F1(x,y,z) = ∑(3,5,6,7)
1 001 0 1 = m3 + m5 + m6 + m7
2 010 0 1 = x’yz + xy’z + xyz’ + xyz
3 011 1 0
8
Formas canónicas
▶ Conversión de una función lógica a suma de minterms
Arquitectura de Computadores y Laboratorio (2020-1)
Cualquier función Booleana puede se puede transformar en una suma de minterms generando la tabla de verdad
e identificando los minterms para los cuales la función produce una salida ‘1’
▶ Ejemplo: F(x,y,z) = x + yz
Índice xyz F
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
9
Formas canónicas
▶ Conversión de una función lógica a suma de minterms
Arquitectura de Computadores y Laboratorio (2020-1)
Cualquier función Booleana puede se puede transformar en una suma de minterms generando la tabla de verdad
e identificando los minterms para los cuales la función produce una salida ‘1’
▶ Ejemplo: F(x,y,z) = x + yz
Índice xyz F
0 000 0
1 001 0
6 110 1
7 111 1
10
Formas canónicas
▶ Producto de maxterms
Arquitectura de Computadores y Laboratorio (2020-1)
Cualquier función Booleana puede expresarse como el producto (AND) de los maxterms correspondientes a las
filas de la tabla de verdad para los cuales la función produce una salida ‘0’
F(Lista de variables) = ∏(Lista de índices de maxterms)
0 000 0 1
1 001 0 1
2 010 0 1
3 011 1 0
4 100 0 1
5 101 1 0
6 110 1 0
7 111 1 0
11
Formas canónicas
▶ Producto de maxterms
Arquitectura de Computadores y Laboratorio (2020-1)
Cualquier función Booleana puede expresarse como el producto (AND) de los maxterms correspondientes a las
filas de la tabla de verdad para los cuales la función produce una salida ‘0’
F(Lista de variables) = ∏(Lista de índices de maxterms)
0 000 0 1 = M 0 M1 M2 M4
1 001 0 1 = (x + y + z) (x + y + z’)
2 010 0 1 (x + y’ + z) (x’ + y + z)
3 011 1 0
Cualquier función Booleana puede se puede transformar en un producto de maxterms generando la tabla de
verdad e identificando los maxterms para los cuales la función produce una salida ‘0’
▶ Ejemplo: F(x,y,z) = x’y’ + xz
Índice xyz F
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
13
Formas canónicas
▶ Conversión de una función lógica a producto de maxterms
Arquitectura de Computadores y Laboratorio (2020-1)
Cualquier función Booleana puede se puede transformar en un producto de maxterms generando la tabla de
verdad e identificando los maxterms para los cuales la función produce una salida ‘0’
▶ Ejemplo: F(x,y,z) = x’y’ + xz
Índice xyz F
0 000 1
1 001 1
F(x,y,z) = ∏(2,3,4,6)
2 010 0
= M 2 M3 M4 M6
3 011 0
= (x + y’ + z) (x + y’ + z’)
4 100 0
5 101 1
(x’ + y + z) (x’ + y’ + z)
6 110 0
7 111 1
14
Formas canónicas
▶ Conversión entre formas canónicas
Arquitectura de Computadores y Laboratorio (2020-1)
Para convertir una forma canónica en otra, se intercambian los símbolos ∏ y ∑, y se listan los índices faltantes
▶ Ejercicio:
15
Formas estándar
▶ Las dos formas canónicas vistas antes (suma de minterms y producto de maxterms) representan expresiones
Arquitectura de Computadores y Laboratorio (2020-1)
▶ Como alternativa, una función Booleana de n variables se puede definir en una forma estándar, en la cual cada
término puede requerir menos de n-1 operadores
▶ Formas estándar
● Suma de productos (SoP)
● Producto de sumas (PoS)
16
Formas estándar
▶ Suma de productos (SoP)
Arquitectura de Computadores y Laboratorio (2020-1)
● Se define como una expresión Booleana que contiene términos producto (AND), compuesto cada uno por uno o más literales
● La suma denota un operación OR de estos términos
▶ Ejemplo:
F(x, y, z) = xy + xy’z + x’yz
Tres términos producto compuestos de dos literales (el primero) y tres literales (el segundo y el tercero)
Menos literales que si se usarán minterms
17
Formas estándar
▶ Producto de sumas (PoS)
Arquitectura de Computadores y Laboratorio (2020-1)
● Se define como una expresión Booleana que contiene términos suma (OR), compuesto cada uno por uno o más literales
● El producto denota un operación AND de estos términos
▶ Ejemplo:
F(x, y, z) = (x’ + y’) (x + y’ + z’) (x’ + y + z)
Tres términos suma compuestos de dos literales (el primero) y tres literales (el segundo y el tercero)
Menos literales que si se usarán maxterms
18
Formas estándar
▶ La suma de productos (SoP) y el producto de sumas (PoS) no son únicos, en el sentido de que pueden existir
Arquitectura de Computadores y Laboratorio (2020-1)
muchas sumas de productos o productos de sumas diferentes para una función dada
● Sin embargo, son muy útiles porque requieren menos operadores (y literales) que las formas canónicas
▶ Las formas estándar se pueden obtener a partir de las formas canónicas combinando los términos que difieren en
un literal, usando los axiomas del álgebra Booleana
▶ Ejemplo:
F(x,y,z) = xyz + xyz’ + xy’z + xy’z’
19
Formas estándar
▶ La suma de productos (SoP) y el producto de sumas (PoS) no son únicos, en el sentido de que pueden existir
Arquitectura de Computadores y Laboratorio (2020-1)
muchas sumas de productos o productos de sumas diferentes para una función dada
● Sin embargo, son muy útiles porque requieren menos operadores (y literales) que las formas canónicas
▶ Las formas estándar se pueden obtener a partir de las formas canónicas combinando los términos que difieren en
un literal, usando los axiomas del álgebra Booleana
▶ Ejemplo:
F(x,y,z) = xyz + xyz’ + xy’z + xy’z’
= xy(z + z’) + xy’(z + z’)
= xy + xy’
= x(y + y’)
=x
20
Formas estándar
▶ Las formas estándar (SoP, PoS) requieren menos operadores (y literales) que las formas canónicas
Arquitectura de Computadores y Laboratorio (2020-1)
▶ Las formas estándar se pueden obtener a partir de las formas canónicas usando los axiomas del álgebra Booleana
● De hecho, así también se puede obtener la forma más simple (minimizada) de la función
xyz F
000 0
Cuatro expresiones diferentes que representan la misma tabla de verdad:
001 0
F1(x,y,z) = x’yz + xy’z’ + xy’z + xyz’ + xyz Suma de minterms
010 0
F2(x,y,z) = x + yz SoP minimizada
011 1
100 1
F3(x,y,z) = (x + y + z)(x + y + z’)(x + y’ + z) Producto de maxterms
110 1
111 1
21
Implementación de dos niveles
Arquitectura de Computadores y Laboratorio (2020-1)
F2 : SoP minimizada
F4 : PoS minimizado
22
Implementación de dos niveles
Arquitectura de Computadores y Laboratorio (2020-1)
F2 : SoP minimizada
F4 : PoS minimizado
▶ Ej: Consideremos una función lógica que tiene como entrada un dígito BCD (Binary-Coded Decimal)
Los dígitos BCD son dígitos decimales que se representan con 4 dígitos binarios, usando las combinaciones 00002
(0) hasta 10012 (9). Las combinaciones desde 10102 (10) hasta 11112 (15) no se emplean
▶ Es posible simplificar las expresiones Booleanas para una función si asumimos que su comportamiento, en los
casos en que su entrada está fuera de rango, no nos importa
24
Funciones incompletamente especificadas
▶ Tabla de verdad de un circuito que produce como salida el incremento en 1 de un dígito BCD de entrada
Arquitectura de Computadores y Laboratorio (2020-1)
wxyz F G H J
0000 0 0 0 1
0001 0 0 1 0
0010 0 0 1 1
0011 0 1 0 0
0100 0 1 0 1
0101 0 1 1 0
0110 0 1 1 1
0111 1 0 0 0
1000 1 0 0 1
1001 0 0 0 0
1010 X X X X
1011 X X X X
1100 X X X X
1101 X X X X
1110 X X X X
1111 X X X X
25
Funciones incompletamente especificadas
▶ Tabla de verdad de un circuito que produce como salida el incremento en 1 de un dígito BCD de entrada
Arquitectura de Computadores y Laboratorio (2020-1)
respectivamente
▶ Usando la terminología de don’t cares, las formas canónicas para J(w,x,y,z) de pueden escribir así:
▶ Analizando la tabla de verdad, vemos que la función J(w,x,y,z) se puede implementar de manera simple tomando
el complemento de la variable z
▶ Importante: la implementación real del circuito generará alguna salida para los casos don’t care, cuando se
presente alguno de los valores de entrada asociados con ellos
27
Actividades recomendadas
▶ Leer sobre:
Arquitectura de Computadores y Laboratorio (2020-1)
28
Bibliografía
▶ Contemporary Logic Design, R. Katz and G. Borriello, 2nd Ed. Pearson education
Arquitectura de Computadores y Laboratorio (2020-1)
29