8. Análisis lógico de los circuitos digitales

Anuncio
8. Análisis lógico de los
circuitos digitales
Oliverio J. Santana Jaria
Sistemas Digitales
Ingeniería Técnica en Informática de Sistemas
Curso 2006 – 2007
Introducción
Los circuitos digitales están compuestos por un
conjunto de puertas lógicas que implementan
operaciones de lógica binaria
El álgebra de Boole permite describir estas operaciones
lógicas, por lo que el funcionamiento de un circuito
puede representarse utilizando una expresión booleana
Los objetivos de este tema son:
Explicar cómo obtener una expresión algebráica que describa
el funcionamiento de un circuito digital
Distinguir entre las dos formas estándar que se utilizan para
representar este tipo de expresiones: suma de productos y
producto de sumas
Análisis lógico de los circuitos digitales
2
1
Estructura del tema
Introducción
Análisis booleano de los circuitos lógicos
Expresiones en forma de suma de productos
Expresiones en forma de producto de sumas
Relación entre ambas formas
Resumen y bibliografía
Análisis lógico de los circuitos digitales
3
Análisis de circuitos lógicos
El álgebra de Boole permite expresar el funcionamiento
de un circuito lógico de tal forma que la salida se pueda
determinar a partir de los valores de entrada
Para obtener la expresión booleana de un circuito
lógico se debe comenzar por las entradas situadas más
a la izquierda e ir avanzando hacia las salidas
D
C
CD
B+CD
B
A
Análisis lógico de los circuitos digitales
A(B+CD)
4
2
Elaboración de la tabla de verdad
Una vez obtenida la expresión booleana del circuito, se
puede elaborar una tabla de verdad para representar su
funcionamiento
A B C D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
CD
B+CD
A(B+CD)
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
Análisis lógico de los circuitos digitales
5
Formas estándar
Una metodología sistemática es vital para poder analizar
y diseñar circuitos digitales de forma eficiente
Todas las expresiones booleanas, independientemente de
su forma, pueden convertirse en cualquiera de dos
formas estándar
Suma de productos
Producto de sumas
Las formas estándar permiten realizar de forma
sistemática la simplificación y evaluación de
expresiones booleanas
Análisis lógico de los circuitos digitales
6
3
Estructura del tema
Introducción
Análisis booleano de los circuitos lógicos
Expresiones en forma de suma de productos
Expresiones en forma de producto de sumas
Relación entre ambas formas
Resumen y bibliografía
Análisis lógico de los circuitos digitales
7
Suma de productos
Un término producto (minterm) se define como una
expresión booleana que está compuesta por un producto
de literales
Cuando dos o más términos productos se suman, la
expresión resultante se denomina suma de productos
Cada término de una suma de productos puede ser
Un término producto
Una variable individual
La barra de negación en una suma de productos no debe
extenderse nunca más allá de una variable
Análisis lógico de los circuitos digitales
8
4
Suma de productos
Llamamos dominio de una expresión booleana al
conjunto de variables que la componen
Los valores del dominio
para que hacen que esta
expresión valga 0 son:
A + AB + BC
A =0
B =0
C =1
Para esta expresión no existe
ninguna combinación de valores
del dominio que la hagan valer 0
A + B + AB
Una suma de productos será igual a 1 si y sólo si uno o
más de los términos producto que forman la expresión
es igual a 1
Análisis lógico de los circuitos digitales
9
Suma de productos
La implementación de una suma de productos
requiere aplicar la operación OR a las salidas de
dos o más puertas AND
Análisis lógico de los circuitos digitales
10
5
Forma canó
canónica de la suma de productos
En los ejemplos de expresiones que hemos visto,
algunos términos no contenían todas las variables
pertenecientes al dominio
A + AB
La forma canónica de una suma de productos es
aquella en la que todas las variables del dominio
aparecen en todos y cada uno de los términos de
la expresión
AB + AB + AB
Análisis lógico de los circuitos digitales
11
Forma canó
canónica de la suma de productos
La forma canónica de la suma de productos es muy
importante para el diseño de circuitos digitales
Cualquier suma de productos puede convertirse a su
forma canónica aplicando una de las reglas básicas del
álgebra de Boole:
A+A=1
Simplemente se debe multiplicar cada término producto
no canónico por la suma de la variable que falta y su
complemento, ya que es lo mismo que multiplicar por 1
Análisis lógico de los circuitos digitales
12
6
Forma canó
canónica de la suma de productos
Siguiendo este método es sencillo transformar una
suma de productos en su forma canónica
Ejemplo: ABC + AB + ABCD
ABC = ABC · 1 = ABC · (D + D)
ABC = ABCD + ABCD
AB = AB · 1 · 1 = AB · (C + C) · (D + D)
AB = ABCD + ABCD + ABCD + ABCD
Forma
canónica: ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD
Análisis lógico de los circuitos digitales
13
Tabla de verdad de la suma de productos
Una tabla de verdad es una lista de las posibles
combinaciones de los valores de las entradas y el
correspondiente valor de la salida
El primer paso para convertir una suma de productos
a una tabla de verdad es convertir la expresión a su
forma canónica
Para determinar el número de posibles combinaciones
de entrada hay que tener en cuenta que el número de
entradas es igual al número de variables del dominio
Análisis lógico de los circuitos digitales
14
7
Tabla de verdad de la suma de productos
Una vez establecidos los posibles valores de las
entradas hay que determinar los correspondientes
valores de salida
Para esto, hay que tener en cuenta que para que una
suma de productos sea 1 basta con que uno de los
productos sea 1
Por lo tanto, hay que asignarle salida 1 a cada una de
las combinaciones de entrada que haga valer 1 a alguno
de los términos de la suma de productos
Análisis lógico de los circuitos digitales
15
Tabla de verdad de la suma de productos
Siguiendo los pasos anteriores no resulta complicado
calcular la tabla de verdad de la siguiente expresión:
ABC + ABC + ABC
dominio de
3 variables
23 combinaciones
de entrada
Análisis lógico de los circuitos digitales
ABC
ABC
ABC
A
B
C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
16
8
Tabla de verdad de la suma de productos
Dado que es habitual representar un circuito por medio
de su tabla de verdad, será frecuente la necesidad de
calcular una expresión a partir de una tabla de verdad
A
B
C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
0
ABC
ABC
ABC
ABC + ABC + ABC
Análisis lógico de los circuitos digitales
17
Formas normalizadas de la suma de productos
La forma canónica de una expresión booleana es la
que obtendremos a partir de su tabla de verdad, pero
raramente tiene el menor número posible de operaciones
Se puede reducir la forma canónica a una forma que
no tenga todas las variables en cada término, pero que
necesite menos operaciones
No hay un método fijo, por lo que dada una función,
puede resultar posible obtener varias de estas formas
distintas, que son llamadas formas normalizadas
Análisis lógico de los circuitos digitales
18
9
Formas normalizadas de la suma de productos
Las formas normalizadas pueden obtenerse a partir de
la forma canónica aplicando leyes y reglas booleanas
Ejemplo:
ABC + ABC + ABC + ABC
ABC + ABC + ABC + ABC + ABC + ABC
podemos replicar el término ABC porque ABC + ABC = ABC (regla 5)
AB(C + C) + AC(B + B) + BC(A + A)
aplicamos la ley distributiva para sacar factor común
AB · 1 + AC · 1 + BC · 1
A + A = 1 (regla 6)
Forma
normalizada:
AB + AC + BC
Análisis lógico de los circuitos digitales
19
Formas normalizadas de la suma de productos
Aunque a partir de las formas normalizada no es trivial
obtener una tabla de verdad, resultan útiles para reducir
la cantidad de puertas de un circuito digital
Es posible reducir más una forma normalizada, dando
lugar a una forma no normalizada que tendrá menos
operaciones, pero ya no podría expresarse como una
suma de productos
AB + AC + AD
forma normalizada
5 operaciones
Análisis lógico de los circuitos digitales
factor
común
A(B + C + D)
forma no normalizada
3 operaciones
20
10
Estructura del tema
Introducción
Análisis booleano de los circuitos lógicos
Expresiones en forma de suma de productos
Expresiones en forma de producto de sumas
Relación entre ambas formas
Resumen y bibliografía
Análisis lógico de los circuitos digitales
21
Producto de sumas
Un término suma (maxterm) se define como una
expresión booleana que está compuesta por una suma
de literales
Cuando dos o más términos suma se multiplican, la
expresión resultante se denomina producto de sumas
Cada término de un producto de sumas puede ser
Un término suma
Una variable individual
La barra de negación en un producto de sumas no debe
extenderse nunca más allá de una variable
Análisis lógico de los circuitos digitales
22
11
Producto de sumas
El dominio de una expresión booleana es el conjunto de
variables que la componen
Los valores del dominio
para que hacen que esta
expresión valga 1 son:
A · (A+B) · (B+C)
A =1
B =1
C =0
Para esta expresión no existe
ninguna combinación de valores
del dominio que la hagan valer 1
A · B · (A+B)
Una producto de sumas será igual a 0 si y sólo si uno o
más de los términos suma que forman la expresión es
igual a 0
Análisis lógico de los circuitos digitales
23
Producto de sumas
La implementación de un producto de sumas requiere
aplicar la operación AND a las salidas de dos o más
puertas OR
Análisis lógico de los circuitos digitales
24
12
Forma canó
canónica del producto de sumas
En los ejemplos de expresiones que hemos visto,
algunos términos no contenían todas las variables
pertenecientes al dominio
A · (A+B)
La forma canónica de un producto de sumas es aquella
en la que todas las variables del dominio aparecen en
todos y cada uno de los términos de la expresión
(A+B) · (A+B) · (A+B)
Análisis lógico de los circuitos digitales
25
Forma canó
canónica del producto de sumas
La forma canónica del producto de sumas también es
muy importante para el diseño de circuitos digitales
Cualquier producto de sumas puede convertirse a su
forma canónica aplicando una de las reglas básicas del
álgebra de Boole:
AA = 0
Simplemente se debe sumar cada término producto no
canónico con el producto de la variable que falta y su
complemento, ya que es lo mismo que sumar 0
Análisis lógico de los circuitos digitales
26
13
Forma canó
canónica del producto de sumas
Siguiendo este método es sencillo transformar un
producto de sumas en su forma canónica
Ejemplo: (A+B+C)(B+C+D)(A+B+C+D)
A+B+C = A+B+C + 0 = A+B+C + (D · D)
12
A+BC = (A+B)(A+C)
A+B+C = (A+B+C+D)(A+B+C+D) regla
B+C+D = B+C+D + 0 = B+C+D + (A · A)
12
A+BC = (A+B)(A+C)
B+C+D = (A+B+C+D)(A+B+C+D) regla
Forma (A+B+C+D) (A+B+C+D) (A+B+C+D) (A+B+C+D)(A+B+C+D)
canónica: (A+B+C+D) (A+B+C+D) (A+B+C+D)(A+B+C+D)
regla 7
A·A = A
Análisis lógico de los circuitos digitales
27
Tabla de verdad del producto de sumas
El primer paso para convertir un producto de sumas
a una tabla de verdad es convertir la expresión a su
forma canónica
Para obtener los valores de salida en la tabla de verdad
hay que tener en cuenta que basta con que uno de los
sumandos sea 0 para que un producto de sumas sea 0
Por lo tanto, hay que asignarle salida 0 a cada una de
las combinaciones de entrada que haga valer 0 a alguno
de los términos del producto de sumas
Análisis lógico de los circuitos digitales
28
14
Tabla de verdad del producto de sumas
Siguiendo los pasos anteriores no resulta complicado
calcular la tabla de verdad de la siguiente expresión:
(A+B+C)(A+B+C)(A+B+C)
dominio de
3 variables
A+B+C A+B+C A+B+C
23 combinaciones
de entrada
A
B
C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
Análisis lógico de los circuitos digitales
29
Tabla de verdad de la suma de productos
Dado que es habitual representar un circuito por medio
de su tabla de verdad, será frecuente la necesidad de
calcular una expresión a partir de una tabla de verdad
A
B
C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
1
A+B+C
A+B+C
(A+B+C)(A+B+C)(A+B+C)
A+B+C
Análisis lógico de los circuitos digitales
30
15
Formas normalizadas del producto de sumas
A partir de la tabla de verdad obtenemos la forma
canónica de una expresión booleana, aunque raramente
tiene el menor número posible de operaciones
Al igual que con la suma de productos, se puede obtener
formas normalizadas a partir de la forma canónica con el
objetivo de reducir el número de operaciones necesarias
También se puede reducir más una forma normalizada,
dando lugar a una forma no normalizada que tendrá
todavía menos operaciones, pero que ya no estará
expresada como un producto de sumas
Análisis lógico de los circuitos digitales
31
Estructura del tema
Introducción
Análisis booleano de los circuitos lógicos
Expresiones en forma de suma de productos
Expresiones en forma de producto de sumas
Relación entre ambas formas
Resumen y bibliografía
Análisis lógico de los circuitos digitales
32
16
Función booleana
En general, se define una función booleana como una
expresión algebraica formada por variables, operadores,
paréntesis y el signo igual
Para calcular el valor de una función booleana
es preciso tener en cuenta el orden correcto de
precedencia de operadores:
Paréntesis
NOT
AND
OR
Análisis lógico de los circuitos digitales
33
Expresión de una suma de productos
Cualquier función booleana puede expresarse tanto con
una suma de productos como con un producto de sumas
A
B
C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
ABC
ABC
ABC
ABC
Análisis lógico de los circuitos digitales
F(A,B,C) = ABC + ABC + ABC + ABC
34
17
Expresión de un producto de sumas
Cualquier función booleana puede expresarse tanto con
una suma de productos como con un producto de sumas
A
B
C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0 A+B+C
1
0 A+B+C
1
0 A+B+C
1
0 A+B+C
1
F(A,B,C) = (A+B+C) (A+B+C) (A+B+C) (A+B+C)
Análisis lógico de los circuitos digitales
35
Expresión de una suma de productos
Si numeramos cada una de las posibles combinaciones
de entrada, podemos expresar una suma de productos
como la suma de las combinaciones correspondientes a
los términos producto que la componen
0)
1)
2)
3)
4)
5)
6)
7)
A
B
C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Análisis lógico de los circuitos digitales
F(A,B,C) = ∑(1,3,5,7)
36
18
Expresión de un producto de sumas
Si numeramos cada una de las posibles combinaciones
de entrada, podemos expresar un producto de sumas
como el producto de las combinaciones correspondientes
a los términos suma que la componen
0)
1)
2)
3)
4)
5)
6)
7)
A
B
C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
F(A,B,C) =
∏(0,2,4,6)
Análisis lógico de los circuitos digitales
37
Expresión de un producto de sumas
Dada una tabla de verdad
Las combinaciones con salida 1 forman un suma de productos
Las combinaciones con salida 0 forman un producto de sumas
Es fácil pasar de una forma a la otra: simplemente hay
que elegir los números que no aparecen en la expresión
A B C
0)
1)
2)
3)
4)
5)
6)
7)
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
F(A,B,C) = ∑(1,3,5,7)
F(A,B,C) =
Análisis lógico de los circuitos digitales
∏(0,2,4,6)
38
19
Estructura del tema
Introducción
Análisis booleano de los circuitos lógicos
Expresiones en forma de suma de productos
Expresiones en forma de producto de sumas
Relación entre ambas formas
Resumen y bibliografía
Análisis lógico de los circuitos digitales
39
Resumen
El funcionamiento de un circuito digital suele
representarse con una tabla de verdad que muestra el
valor de la salida para cualquier valor de entrada
La aplicación del álgebra de Boole permite obtener, a
partir de esta tabla, una expresión algebráica que
describa el funcionamiento del circuito
La simplificación de esta expresión permite reducir el
número de operadores, los cuales pueden representarse
gráficamente usando los símbolos distintivos para
obtener un diagrama descriptivo del circuito
Análisis lógico de los circuitos digitales
40
20
Bibliografía
Fundamentos de Sistemas Digitales (7ª edición)
Capítulo 4
Thomas L. Floyd
Prentice Hall, 2000
Principios de Diseño Digital
Capítulo 3
Daniel D. Gajski
Prentice Hall, 1997
Análisis lógico de los circuitos digitales
41
21
Descargar