Sistemas digitales comb inacionales: Teoremas de boole
Manual boole
1. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 1 de 12
MANUAL DE USUARIO DEL ENTORNO BOOLE
2 Descripción
BOOLE es un entorno cómodo, versátil y potente para analizar y
diseñar sistemas digitales combinacionales. Se utiliza en las
asignaturas de Electrónica Digital en el primer curso de Ingeniería
Industrial y en Tecnología de Computadores en el primer curso de
Ingeniería Informática de la Universidad de Deusto. En cada curso es
utilizado por unos 700 alumnos. El copyright es propiedad de Javier
García Zubía , Jesús Sanz Martínez y Borja Sotomayor Basilio.
3 Instalación
Es un programa ejecutable, por tanto basta con tener copiado
BOOLE1.exe en el directorio que se desee.
4 Introducción
BOOLE contempla:
Tabla de verdad completa y compacta.
Forma normal disyuntiva. Suma o sumatorio de minitérminos.
Forma normal conjuntiva. Producto o factorial de maxitérminos.
Diagramas de V-K con disposición de variables y con código
Gray.
Expresión booleana.
Expresión SOP simplificada.
Expresión POS simplificada.
Expresión con puertas NAND o NOR.
Programa en ORCAD/PLD.
Circuito lógico.
En los siguientes puntos iremos describiendo cada una de las técnicas
anteriores, pero previamente veamos la pantalla principal en la figura
1.
En esta pantalla el alumno debe indicar el número de variables de
entrada y salida de la entrada, sus nombres y el nombre del sistema–
los nombres no son obligatorios-. En la figura 1 el alumno indica que
va a trabajar con un sistema de nombre COMBI1, que tiene cuatro
variables de entrada –E3, E2, E1 y E0- y una de salida –S0-. Ahora
el alumno debe describir el sistema por uno de los métodos indicados
en los botones inferiores. Una vez descrito el sistema, si el alumno
quisiera ver el sistema representado de otra forma no tiene más que
activar el correspondiente botón.
2. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 2 de 12
Figura 1. Pantalla de descripción del sistema a capturar.
4.1 Tablas de verdad
Esta es la forma más común de introducir un sistema digital
combinacional. En este caso cada fila de la entrada de la tabla de
verdad es una situación que se le plantea al sistema, a la que el
alumno debe responder con 0 ó 1. Esto es, el alumno describe cada
una de las 16 posibles situaciones del sistema –por tener cuatro
variables de entrada-.
Ahora bien, BOOLE no sólo plantea la clásica tabla de verdad, sino
que también permite utilizar lo que denominamos Tabla de Verdad
Compacta. Esta nueva tabla permite utilizar X en la entrada, es decir,
permite describir varias filas de la tabla de verdad en una sola. Esta
característica no es común a los sistemas comerciales, y por tanto es
novedosa en BOOLE.
En la figura 2 vemos la tabla de verdad normal del sistema COMBI1.
Los valores de la salida se escriben con sólo activar el ratón, no hace
falta escribir. Además no hace falta escribir toda la tabla, por ejemplo
bastaría con escribir los 1 y rellenar el resto con 0, utilizando el botón
superior de Ceros.
3. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 3 de 12
Figura 2.Captura del sistema COMBI1 con tabla de verdad
En la figura 3 vemos la tabla de verdad compacta de un codificador
4:2 con prioridad, en ella vemos que con cuatro filas basta para
describir las 16. En este caso es responsabilidad del alumno la
coherencia de las filas introducidas.
4. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 4 de 12
Figura 3. Captura de un codifcador 4:2 con prioridad
con tabla de verdad compacta
4.2 Formas normales
Otra forma de introducir/representar un sistema combinacional es
mediante su forma normal disyuntiva o conjuntiva. Éstas pueden ser
introducidas como expresiones booleanas o como sumatorios o
factoriales.
Antes de ver algún ejemplo es momento de asentar el uso de BOOLE.
El uso de la forma normal puede ser:
• para introducir un sistema por primera vez,
• para representar un sistema ya introducido.
En clase tras plantear la tabla de verdad el alumno obtiene sus
formas normales. Así el uso más normal de BOOLE en este caso es la
transformación: el alumno introduce una tabla y luego al pulsar el
botón de Forma Normal obtiene el correspondiente resultado.
Por ejemplo, si para el codificador 4:2 con proridad pulsamos el botón
de Forma Normal Disyuntiva obtenemos lo mostrado en la figura 4.
5. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 5 de 12
Figura 4. Forma normal disyuntiva en forma de
sumatorio
En la pantalla sólo aparece el sumatorio de la función S1, para ver la
de S0 basta con despalzar la barra vertical que se encuentra a la
derecha, este uso se extiende a lo largo de todo el entorno BOOLE1.
También vemos cómo en esta pantalla el alumno no sólo ve el
sumatorio correspondiente a la forma normal, sino que también
puede modificarla a su gusto. En la figura 5 vemos la expresión que
aparece al activar el botón POS, esta expresión puede ser modificada
en la misma pantalla.
Figura 5. Expresión booleana de una forma normal
conjuntiva
6. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 6 de 12
Esta opción también puede ser utilizada para cargar un nuevo
sistema. En este caso la expresión que introducirá el alumno no tiene
porqué ser una forma normal, aunque sí deberá ser o un producto de
sumas o una suma de productos. Esta opción no aparece en la
mayoría de los sistemas comerciales lo que da idea del esfuerzo
hecho en BOOLE1.
Diagramas de Veitch-Karnaugh
Otra forma de representación muy común es el diagrama de V-K, ya
que permite una cómoda simplificación visual por parte del alumno.
Cuando éste activa el botón Diagrama V-K aparece en pantalla el V-K
correspondiente a cada una de las funciones del sistema, como
muestra la figura 6.
Figura 6. Diagrama de V-K
En la pantalla también podemos modificar el diagrama de V-K. De
hecho un uso muy común es que el alumno introduzca un V-K y lo
simplifique con BOOLE1 para comprobar si lo obtenido por él es
correcto. En este caso la función se introduce desde el principio
mediante V-K.
BOOLE1 presenta dos tipos de V-K. Por un lado está el anterior, cuya
disposición de casillas se basa en la posición de las variables, y por
otro está el basado en la disposición de los bits según el código Gray
–como vemos en la figura 7-. Una vez más BOOLE1 se muestra
versátil y novedoso, pues los V-K no son comunes en los sistemas
comerciales.
7. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 7 de 12
Figura 7. Diagrama de V-K según una disposición
Gray de los bits
Expresión booleana
Esta opción solo puede ser usada para capturar un sistema. En este
caso el alumno describe al sistema mediante una expresión booleana
cualquiera y BOOLE1 se encarga de evaluarla para obtener su tabla
de verdad interna. De este modo el alumno puede introducir en el
entorno funciones de tipo teórico para manipularlas o simplemente
transformarlas en otras representaciones, por ejemplo:
• obtener la tabla de verdad de una expresión,
• obtener el V-K de una expresión,
• obtener la forma mormal de una expresión, etc.
Esta opción potencia sobremanera a BOOLE1, ya que lo dota de
capacidad de procesado simbólico.
8. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 8 de 12
Figura 8. Captura de una función mediante una
expresión booleana cualquiera
Expresión simplificada
Esta opción es sólo usada como de salida. Es decir, el alumno sólo
activará el botón de Expresión simplificada para ver cómo queda el
sistema con sus funciones simplifcadas. Esta es una opción típica de
diseño el alumno:
• introduce la tabla de verdad de un sistema combinacional,
• obtiene los sumatorios o factoriales que representan al sistema,
• obtiene los diagramas correspondientes de V-K y
• simplifica las funciones mediante los diagramas de V-K.
La simplificación es la operación que da valor a BOOLE1. Muchos
sistemas comerciales –como el EWB- no tienen implementados
buenos métodos de simplificación y su calidad se resiente a la hora
del diseño, sin embrago BOOLE1 tiene implementado con rigor el
método excato de simplificación de Quine-McCluskey.
La figura 9 muestra la expresión simplificada como suma de
productos de la primera función del codificador 4: 2 con prioridad.
9. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 9 de 12
Figura 9. Expresión simplificada como SOP de la
salida S1 del codificador 4:2 con prioridad
En la figura 10 observamos esta misma simplificación pero para
obtener el resultado en forma de producto de sumas. El
alumno/lector podrá apreciar la diferente forma de visualizar el
resultado.
Figura 10. Expresión simplificada como POS de la
función S1 del codificador 4:2 con prioridad
10. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 10 de 12
Resumiendo, BOOLE1 permite una cómoda y potente simplificación,
tanto desde los 1’s como desde los 0’s mejorando las propiedades de
algunos sistemas comerciales.
Modo de aprendizaje
Esta opción es de gran importancia para el alumno. Si activa este
botón el alumno introducirá la expresión que él considera mínima
para el sistema capturado, entonces BOOLE1 le indicará lo correcto
de lo introducido. De esta forma el alumno puede practicar para
mejorar su habilidad simplificadora, recordemos que simplificar desde
el V-K es una actividad heurística muy importante. En la figura 11 se
muestra la pantalla de este modo de aprendizaje, que en este caso
contiene una expresión mínima introducida por el alumno que resulta
ser mínima.
Figura 11. Modo de aprendizaje con resultado
correcto
Esta característica le confiere a BOOLE1 un gran valor didáctico,
resultando ser tanto una herramienta de cálculo como de
aprendizaje.
Expresiones NAND/NOR
El alumno puede ver siempre que lo desee la expresión NAND/NOR
correspondiente a la visualizada. De esta forma el alumno puede
obtener la implementación correspondiente a la visualizada sólo con
11. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 11 de 12
puertas NAND o NOR. Ésta es una habilidad que el alumno debe
desarrollar tomando como base el teorema de Morgan, mediante
BOOLE1 podrá obtener dichas ecuaciones o comprobar la bondad de
las obtenidas por él.
La figura 12 muestra la expresión con NAND de la función S0 del
codifcador 4:2 con prioridad.
Figura 12. Visualización de una expresión solo con
NAND o NOR
Programa en ORCAD/PLD
En este caso BOOLE1 muestra su valor como entorno profesional. El
usuario/alumno puede obtener el fichero .PLD correspondiente al
sistema definido. Este archivo .PLD puede ser compilado con la
correspondiente harramienta ORCAD para finalmente ser
implementado sobre un circuito programable. Una vez grabado el
chip esté quedará integrado en la correspondiente placa de
desarrollo. Es decir, con esta opción BOOLE1 se comporta como una
herramienta real de diseño semiprofesional.
En la figura 13 vemos el código .PLD generado por BOOLE1 para un
conversor de binario puro a otro código.
12. ELECTRÒNICA
XABIER PÉREZ DIGITAL
Página 12 de 12
Figura 13. Código .PLD para compilara para un
dispositivo PLD
Circuito lógico
Esta opción permite obtener el circuito correspondiente al sistema
capturado. Actualmente esta opción no está disponible, pero está
siendo desarrollada por nuevos alumnos de quinto y se espera que
sea operativa para el año siguiente.
Resumiendo en conjunto BOOLE1 tiene características pedagógicas y
profesionales en un entorno cómodo y versátil que aúna lo mejor de
algunos sistemas comerciales, completándolos. BOOLE1 no intenta
sustituir a los sistemas comerciales, sino complementarse con ellos.