Está en la página 1de 29

Arquitectura de Computadores y

Arquitectura de Computadores y Laboratorio (2020-1)

Laboratorio
Clase 05: Álgebra Booleana Pt. 2

Departamento de Ingeniería de Sistemas


2020-1
Formas canónicas
▶ Una función lógica se puede definir mediante una tabla de verdad
Arquitectura de Computadores y Laboratorio (2020-1)

● 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)

▶ Definición de término producto


Es un literal simple o un producto lógico (AND) de dos o más literales
● Ejemplo:
z’
wxy
xy’z

▶ Definición de término suma


Es un literal simple o una suma lógica (OR) de dos o más literales
● Ejemplo:
z’
w+x+y
x + y’ + z

3
Formas canónicas
Algunas definiciones:
Arquitectura de Computadores y Laboratorio (2020-1)

▶ Definición (informal) de minterm


En una función Booleana de n variables, un minterm es un término producto en el que cada variable aparece una
sola vez en su forma sin complementar si el valor asignado a ella es ‘1’, o complementada si su valor es ‘0’

▶ Definición (informal) de maxterm


En una función Booleana de n variables, un maxterm es un término suma en el que cada variable aparece una sola
vez en su forma complementada si el valor asignado a ella es ‘1’, o sin complementar si su valor es ‘0’

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

0 000 x’y’z’ m0 x+y+z M0

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

6 110 xyz’ m6 x’+ y’ + z M6

7 111 xyz m7 x’ + y’ + z’ M7

▶ Observar que mi’ = Mi y Mi’= mi (Teorema de De Morgan) (¡Verifíquelo usted mismo!)


6
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

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

4 100 0 1 {F1(x,y,z)}’ = ∑(0,1,2,4)


5 101 1 0 = m0 + m1 + m2 + m4
6 110 1 0 = x’y’z’ + x’y’z + x’yz’ + xy’z’
7 111 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

2 010 0 F(x,y,z) = ∑ (3,4,5,6,7)


3 011 1 = m3 + m4 + m5 + m6 + m7
4 100 1 = x’yz + xy’z’ + xy’z + xyz’ + xyz
5 101 1

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)

Ejemplo: Índice xyz F1 F 1’

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)

Ejemplo: Índice xyz F1 F 1’


F1(x,y,z) = ∏(0,1,2,4)

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

4 100 0 1 {F1(x,y,z)}’ = ∏(3,5,6,7)


5 101 1 0 = M 3 M5 M6 M7
6 110 1 0 = (x + y’ + z’) (x’ + y + z’)
7 111 1 0 (x’ + y’ + z) (x’ + y’ + z’)
12
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 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:

F(x,y,z) = ∏(2,3,4,6) = ∑(0,1,5,7) ¡Verifíquelo usted mismo!

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)

únicas para cualquier función Booleana definida mediante tablas de verdad


● Sin embargo, las formas canónicas son raras veces las expresiones con el menor número de literales (u operandos)
● Por definición, en una función Booleana de n variables cada minterm o maxterm requiere n-1 operadores AND y OR,
respectivamente

▶ 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

101 1 F4(x,y,z) = (x + y) (x + z) PoS minimizado

110 1

111 1

21
Implementación de dos niveles
Arquitectura de Computadores y Laboratorio (2020-1)

F1: Suma de minterms

F2 : SoP minimizada

F3: Producto de maxterms

F4 : PoS minimizado

22
Implementación de dos niveles
Arquitectura de Computadores y Laboratorio (2020-1)

F1: Suma de minterms

F2 : SoP minimizada

F3: Producto de maxterms

F4 : PoS minimizado

Descargue el circuito para simulación


en Logisim Evolution

Nivel 0 Nivel 1 Nivel 2


23
Funciones incompletamente especificadas
▶ Hasta ahora asumimos que para una función de n variables, todas sus 2n combinaciones están definidas
Arquitectura de Computadores y Laboratorio (2020-1)

● Este no es siempre el caso

▶ 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)

wxyz F G H J Función multisalida


0000 0 0 0 1
0001 0 0 1 0
0010 0 0 1 1 Conjunto OFF de F(w,x,y,z)
0011 0 1 0 0
0100 0 1 0 1
Conjunto ON de F(w,x,y,z)
0101 0 1 1 0
0110 0 1 1 1
0111 1 0 0 0 Conjunto Don’t Care (DC) de F(w,x,y,z)
1000 1 0 0 1
1001 0 0 0 0
1010 X X X X
1011 X X X X Como estos valores de entrada no se
1100 X X X X encontrarán en la práctica, usamos el valor X
1101 X X X X (don’t care) para indicar que el valor de la
salida no importa en estos casos
1110 X X X X
1111 X X X X
26
Funciones incompletamente especificadas
▶ En términos de las formas canónicas, los minterms y maxterms asociados con don’t cares se denotan como di y Di,
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í:

J(w,x,y,z) = m0 + m2 + m4 + m6 + m8 + d10 + d11 + d12 + d13 + d14 + d15


= ∑(0,2,4,6,8) + d(10,11,12,13,14,15)

J(w,x,y,z) = M1 M3 M5 M7 M9 D10 D11 D12 D13 D14 D15


= ∏(1,3,5,7,9) D(10,11,12,13,14,15)

▶ 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)

● Simplificación de funciones Booleanas


● Cubos Booleanos
● Mapas de Karnaugh

28
Bibliografía
▶ Contemporary Logic Design, R. Katz and G. Borriello, 2nd Ed. Pearson education
Arquitectura de Computadores y Laboratorio (2020-1)

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


▶ Cualquier libro de sistemas digitales que cubra los temas vistos

29

También podría gustarte