Manual Boole Deusto

Embed Size (px)

Citation preview

  • MANUAL DE USUARIO DEL BOOLE-DEUSTO

    CONSIDERACIONES GENERALES Cuando nos decidimos a disear el BOOLE-DEUSTO (a partir de ahora BOOLE a secas) hace casi 10 aos lo hicimos porque pensamos que los entornos profesionales de anlisis y diseo no cubran las necesidades acadmicas, y porque aquellos entornos ms especficos para el aula no cubran todas las expectativas. Esto no quiere decir que BOOLE venga a sustituir a por ejemplo Electronics WorkBench, ISE de Xilinx, Or-CAD, etc., simplemente busca ayudar a los profesores y alumnos de diseo digital. Con la anterior declaracin nace ya la primera restriccin: sistemas combinacionales a nivel de bit y autmatas, y no a nivel de palabra (sumadores, codificadores, contadores, etc), aspecto ya perfectamente cubierto por el EWB, por ejemplo. El mbito de uso de BOOLE es el aula en el primer curso de diseo lgico, y por tanto los ejercicios han de ser pequeos. Bien es verdad que hemos usado BOOLE para sistemas combinacionales de 10 entradas y autmatas con ms de 20 estados, pero no es la idea inicial, y deberamos evitar el uso profesional del BOOLE para fabricar circuitos, a no ser que estemos muy seguros de la bondad del BOOLE, situacin que debern ir marcando los propios usuarios. En cuanto a aspectos generales, BOOLE es educativo, enfocado a la metodologa, instalable en un solo .exe, fcilmente utilizable, grfico, adaptable al nivel del usuario y en varios idiomas: espaol, euskara e ingls (es extenxible a otros idiomas, por si alguien se anima). Seguro que ms de un usuario respirar al saber que no hay que instalar, o que el manual no tiene 400 pginas. Aunque en el manual se describen someramente las funciones, podemos enumerar algunas para ir centrando al BOOLE: tablas de verdad, diagramas de Veitch-Karnaugh, expresiones booleanas, circuitos lgicos, formas normales, circuitos NAND/NOR, simplificacin de funciones, autmatas de Moore y Mealy, conversin entre autmatas, minimizacin de estados, circuitos con J-K y D, tablas de resultados, simulacin, programas VHDL y OrCAD-PLD, ficheros JEDEC, etc. Por ltimo decir que la versin que aqu se entrega se presenta como definitiva, por lo menos en lo que es su funcionalidad y aspecto general. Pero estaramos muy agradecidos a aquellos que nos hagan llegar comentarios, errores o modos de uso del BOOLE al correo [email protected]. Asimismo es importante animar a los usuarios a que se inscriban en el registro BOOLE para recibir las nuevas versiones del BOOLE, o algn nuevo producto software didctico.

    INSTALAR Y ARRANCAR BOOLE-DEUSTO La instalacin es tan sencilla como copiar los ficheros .exe en su directorio. Si se partiera de los .zip bastara con extraer los ficheros en el directorio elegido. El CD contiene versiones en espaol, euskara e ingls. Los .exe son los mismos para los tres idiomas, pero para ingls hay que copiar el boole.enu y el reductio.enu, y para el euskara el boole.euq, no siendo fichero adicional ninguno para el espaol. En principio cada usuario copiar una sola versin, pero si quisiera tenerlas todas, deber tener una carpeta para cada idioma. Los ficheros distribuidos son:

    BOOLE.exe.

    REDUCTIO.exe, puede prescindirse de l en la instalacin, es una aplicacin externa para simplificacin booleana avanzada.

    BOOLE.euq para la traduccin al euskara.

    BOOLE.enu y REDUCTIO.enu para la traduccin al ingls. No es necesario registrarse en ninguna web, pero s es recomendable enviar un correo electrnico a [email protected] para poder recibir gratuitamente las nuevas versiones del BOOLE-DEUSTO. Basta con enviar el nombre, la universidad o centro de enseanza, facultad, asignatura y curso en que se usa y nmero de alumnos que lo usan. Tambin sern bienvenidos todo tipo de comentarios y sugerencias.

  • Para arrancar la aplicacin bastar con hacer doble clic sobre el BOOLE.exe.

    ANLISIS Y DISEO DE SISTEMAS COMBINACIONALES Una vez que se ha arrancado el programa aparece una pantalla (ver figura 1) para elegir sistemas combinacionales o secuenciales/autmatas. Empecemos por los combinacionales.

    Figura 1. Pantalla principal del BOOLE 1. En la parte superior de la imagen se debe completar obligatoriamente el nombre del sistema y el nmero de entradas y salidas. En el ejemplo el sistema se llama ejer y tiene 4 entradas y dos salidas (ver figura 2). El sistema por defecto asocia unos nombres a las entradas y salidas, pudiendo cambiarlas el usuario.

  • Figura 2. Pantalla principal de Sistemas Combinacioanles 2. Seguidamente el usuario podr proceder en el orden que desee, pero sigamos una secuencia tpica de ejercicio. En este caso activaremos la opcin Tabla de Verdad Manual y con la imagen en la pantalla (ver figura 3) bastar con hacer clics de ratn para insertar los 1, 0 o X correspondientes a cada fila. Al pulsar Evaluar el sistema quedar guardado.

    Figura 3. Carga de la Tabla de Verdad 3. Una vez introducido el sistema, el usuario obtendr las formas cannicas o normales activando la opcin Forma Normal Disyuntiva (ver figura 4). Con la pantalla de la imagen a la vista el usuario podr aceptar los resultados o incluso modificarlos, pero deber tener en cuenta que este cambio se trasladar a todo el sistema, incluida la tabla de verdad. Para ver la segunda salida, el usuario deber usar la barra de desplazamiento de la izquierda.

  • Figura 4. Formas Normales del sistema 4. El siguiente paso ser obtener las expresiones simplificadas de cada salida. Para esto bastar con activar la opcin Exp. SOP Simplificada. En la pantalla de la figura 5 vemos la expresin booleana de F1.

    Figura 5. Expresin booleana simplificada En la parte inferior de la imagen podemos elegir ver las expresiones en modo NAND/NOR o ver el circuito lgico correspondiente. La figura 6 muestra el circuito lgico de la funcin F1.

  • Figura 6. Circuito lgico 5. Adems de obtener el circuito podramos haber elegido ver los diagramas V-K. La imagen muestra el diagrama de V-K con los lazos de simplificacin dibujados (ver figura 7). En la pantalla el usuario puede ver el resultado completo o puede ver dibujado cada lazo por separado utilizando la parte inferior izquierda. Adems el usuario puede utilizar dos tipos de V-K dibujados de dos maneras, utilizando la parte superior izquierda. La parte de los V-K es seguramente la ms valorada por los usuarios, y en la que ms se ha esforzado el equipo de diseo.

  • Figura 7. Diagrama de Veitch-Karnaugh con la funcin simplificada 6. Una vez que el usuario tiene el circuito puede acabar aqu el ejercicio y pasar al laboratorio para implementarlo con CI 74XX. Pero quiz el usuario quiera darle un enfoque ms profesional, y aunque este no es el enfoque original del BOOLE (es didctico), s permite obtener el correspondiente programa en VHDL u OrCAD-PLD (estndares de lgica programable), o mejor aun, permite obtener directamente el JEDEC listo para ser grabado en una PAL 22V10. La figura 8 muestra el aspecto de parte del fichero JEDEC.

    Figura 8. Fichero JEDEC generado por el BOOLE

  • Los seis pasos anteriores han descrito la secuencia tpica del aula para resolver un ejercicio combinacional, pero el BOOLE tambin puede ser utilizado para resolver y practicar con ejercicios ms basicos. En este caso es cuando toma relevancia el nombre de calculadora booleana. Veamos algunos ejemplos de este uso. 1. Activando la opcin Expresin Booleana (ver figura 9), el usuario podr introducir cualquier expresin booleana siguiendo una mnimas pautas de sintaxis. Seguidamente el usuario podr proceder con el sistema como quiera, por ejemplo, podra activar la opcin de Tabla de Verdad Manual, y as ver la tabla correspondiente.

    Figura 9. Carga de cualquier funcin booleana 2. Si se activa la opcin Visualizador de Circuitos, el usuario podr escribir una expresin SOP, POS, NAND o NOR, y el BOOLE le dibujar el correspondiente circuito lgico. Lo que esta opcin no hace es dibujar cualquier circuito lgico, solo los tipos de expresiones anteriores. 3. La opcin ms reconocida del BOOLE es la parte de simplificacin. Si se activa el V-K Modo de Aprendizaje, el usuario podr simplificar por su cuenta el sistema introducido, indicndole el BOOLE la bondad de la solucin. El primer paso ser cargar una funcin nueva utilizando la opcin Diagrama de V-K (o cualquier otra opcin) y luego activar el Modo de Aprendizaje. La figura 10 muestra la funcin introducida con un diagrama de Veitch-Karnaugh.

  • Figura 10. Captura de un afuncin mediante su V-K Una vez activado el Modo Aprendizaje: Dibujar Lazos es el usuario el que debe introducir los lazos que simplifican el V-K. Lo har en modo grfico, aunque tambin puede usar la expresin booleana. Un lazo se dibuja de la siguiente manera: hacer clic con el botn izquierdo sobre cada casilla y luego con el botn derecho para pintar el lazo. En un par de intentos se coge la habilidad suficiente. La figura 11 muestra la solucin introducida por el usuario.

  • Figura 11. Solucin a la simplificacin Al darle Evaluar, el sistema nos dir si la simplificacin es correcta. En este caso el sistema nos dice que la simplificacin se puede hacer con menos lazos, y as deberamos intentarlo (ver figura 12).

    Figura 12. Mensaje de simplificacin errnea En la imagen de la figura 13 vemos una solucin correcta. Esta tiene solamente cuatro lazos, por cinco de la anterior.

  • Figura 13. Ejemplo de simplificacin correcta Adems de las opciones anteriores, el BOOLE puede guardar y cargar sistemas, imprimir resultados, copiar al portapapeles para luego editar un fichero .doc y editar el texto adjunto. Con esta ltima opcin, el usuario puede ligar el sistema con un texto, por ejemplo, con el enunciado del problema resuelto. En los prrafos anteriores se ha dado una breve e incompleta descripcin del BOOLE, pero suficiente para que el usuario entienda su modo de operacin y comience a usarlo en el anlisis y diseo de sistemas combinacionales.

    ANLISIS Y DISEO DE SISTEMAS SECUENCIALES, AUTAMATAS O FSM Si en la primera pantalla hubiramos elegido la opcin de Autmatas, accederamos a lo siguiente. En este caso el BOOLE ya no se comporta tanto como un sistema abierto, tipo calculadora booleana, sino que es necesario usarlo ms ordenadamente. Este uso ms ordenado es consecuencia de las tcnicas de anlisis y diseo de autmatas. Veamos una secuencia tpica de uso de esta parte. 1. En primer lugar habr que crear un nuevo autmata, declarando si es de Moore o Mealy y su nmero de entradas y salidas. La imagen muestra la pantalla de la opcin Archivo Nuevo. En este caso se ha optado por un autmata de Moore con 1 entrada y 1 salida (ver figura 14).

  • Figura 14. Creacin de un nuevo autmata 2. El segundo paso es cargar grficamente el autmata. El modo ideado es puramente grfico y sencillo, pero el usuario deber familiarizarse con l. En la pantalla se podr ver una paleta con tres signos (ver figura 15): se selecciona el superior derecha para insertar estados, se selecciona el inferior derecha para dibujar transiciones y se selecciona el de la izquierda para mover y borrar estados o transiciones.

    Figura 15. Paleta para dibujar el autmata 3. Una secuencia normal pasa por primero elegir el crculo y situar los estados del sistema, cuatro por ejemplo. Luego elegir la flecha y dibujar las transiciones haciendo clic con el ratn en los estados origen y el destino. Para hacer un autolazo habr que marcar dos veces el mismo estado. Atencin: a veces podr parecer que no se ha dibujado una transicin o no se ver la punta de la flecha. En el primer caso esto es porque la nueva transicin ha sido dibujada sobre otra, habr que mover una de ellas para ver la otra. En el segundo caso habr que mover el estado destino para ver la punta de la flecha, y luego mover la propia transicin para mejorar el dibujo. Como en todo sistema grfico el usuario debe pasar un tiempo practicando hasta ser hbil (ver figura 16).

  • Figura 16. Primeros pasos en la carga del autmata Para mover un estado o transicin bastar con seleccionar la flecha grande y luego hacer clic y arrastrar el estado o transicin correspondiente: el conjunto se mover solidariamente. Para arrastar la transicin habr que seleccionar la punta de la flecha, y no otra parte de la transicin. Para borrar un estado o transicin habr que seleccionar la flecha grande, hacer clic con el botn izquierdo sobre el estado en cuestin, y luego clic con el derecho. Una incomodidad del sistema es tener que estar cambiando de seleccin en la paleta, pero hay un truco para pasar a coger la flecha grande: activando el botn derecho del ratn (cuidado con borrar algo). Un consejo final: es bueno tener el autmata dibujado delante para as asegurar una disposicin armoniosa del autmata. 4. Una vez cargado el aspecto grfico del autmata habr que dotarlo de contenido en sus estados y transiciones. Seleccionando la flecha grande y haciendo doble clic sobre un estado o transicin (sobre la punta de flecha), este se abrir y podremos escribir el valor de la entrada y/o salida (sorprendentemente algunos estados se mueven; pensemos que es un detalle libertario). La figura 17 muestra el autmata ya completo, pero siempre podremos volver sobre l.

  • Figura 17. Autmata de Moore completo 5. El autmata de la figura 17 es un reconocedor de 3 o ms 1 en la secuencia de entrada. Una primera opcin que podemos activar en Resultados son las de Determinista y Correcto. En este caso BOOLE nos dice si se nos ha olvidado alguna entrada, si las hemos repetido o cualquier circunstancia extraa. Esta opcin puede ser muy til en autmatas complejos. En este momento se puede activar directamente la opcin Diseo del Autmata, y aparecer en la pantalla las tablas que configuran el diseo para flip-flop D o J-K. La figura 18 muestra las tablas de diseo del BOOLE.

  • Figura 18. Tablas de diseo del autmata de Moore 6. Vistas y comprobadas las tablas, el usuario podr activar Ver Circuitos y obtener la imagen de la figura 19.

    Figura 19. Circuito lgico con J-K del autmata 7. El anterior paso cierra la sesin, pero tambin podramos haber seguido otros pasos. Por ejemplo podramos haber convertido el autmata de Moore en uno de Mealy activando la opcin Obtener Mealy Equivalente dentro de Resultados. La figura 20 muestra el resultado obtenido.

  • Figura 20. Autmata de Moore convertido en uno de Mealy 8. Seguidamente se podra activar la opcin de Minimizacin de Estados dentro de Resultados. En este caso est implementado un algoritmo que minimiza los estados incluso cuando utilizamos algn tipo de condiciones libres, pero est claro que en este caso la bondad del algoritmo depende mucho del propio autmata, y por tanto el usuario deber estar ms atento en estos casos. Al minimizar, el BOOLE nos ofrece ver los pasos que da para llegar a ella, y adems se ofrece para redibujar el autamta en la pantalla. Al hacer esto puede que el BOOLE no acierte demasiado con el dibujo, pero siempre podremos redibujarlo nosotros. La imagen de la figura 21 nos muestra que el autmata de Mealy se poda reducir a tres estados.

  • Figura 21. Autmata de Mealy reducido 9. La secuencia anterior lo ha sido de diseo, pero BOOLE tambin permite el anlisis del autmata cargado. Esta operacin era espontnea en los sistemas combinacionales, ya que era el usuario el que daba sentido a la calculadora booleana. Para los autmatas, BOOLE ofrece simulacin rpida o detallada, pudiendo ser cada una de estas interactiva o batch. Veamos una de ellas: opcin Simulacin Interactiva dentro de Resultados. En este caso el usuario va metiendo entradas en la casilla correspondiente y pulsando CK para que el autmata las procese y muestre su evolucin en el propio diagrama (ver figura 22). Segn hace esto, el BOOLE va creando un LOG que luego el usuario podr ver para analizar la simulacin en conjunto.

  • Figura 22. Simulacin interactiva del autmata de Mealy 10. El anterior modo de simulacin es vlido para sistemas sencillos, para sistemas ms complicados es mejor optar por la Simulacin Batch. En este caso el usuario primero prepara toda la secuencia de entrada y luego con simples clic de ratn la va procesando. La diferencia con la simulacin anterior es solamente esta. En la imagen de la figura 23 podemos ver que el autmata es correcto, ya que pone la salida a 1 cuando se han recibido 3 o ms 1.

    Figura 23. Resultado de la simulacin batch del autmata de Mealy

  • En cuanto a la simulacin detallada, esta es til solo para hacer cambios en la entrada entre flancos. Esta situacin tiene inters didctico para destacar las diferencias entre Moore y Mealy, pero no tiene mucha utilidad prctica. Adems de todo lo anterior, BOOLE ofrece guardar y cargar los autmatas, imprimir resultados, copiar al portapapeles, generar cdigo VHDL y OrCAD-PLD y generar el fichero JEDEC. Opciones todas ellas que dan vigor y utilidad al BOOLE.