SimuladorDigital_GuiaPreliminar_0_9_1

12
Documentación Preliminar del Programa (Versión 0.9.1) Simulador de Construcción de Circuitos Digitales con Escenarios Virtuales Ing. Arturo Javier Miguel de Priego Paz Soldán [email protected] (51 1) 9707 7479 Chincha – Perú, Febrero 3, 2007 Descripción General Este programa permite simular la construcción de circuitos digitales usando modelos de circuitos integrados TTL y de circuitos integrados de aplicación específica. Los circuitos construidos pueden simulados y pueden ser almacenados y recuperados. Los chips se insertan desde un menú y los cables se dibujan con líneas. La anchura y el color del cable pueden ser modificados desde el menú. La interfaz gráfica del programa está basada en una imagen de fondo sobre la cual el usuario puede cambiar estados de entradas, observar leds, insertar cables y chips. El programa requiere que la resolución de pantalla sea 1024 x 768. Edición de Circuitos Los chips se eligen del menú Circuitos. Al seleccionar un chip aparece fuera del protoboard. El chip se arrastra con el ratón a la posición deseada. Los chips solamente pueden insertarse entre las filas E y F del protoboard. Para insertar y retirar un chip es necesario que las casillas y sus canales estén libres de cables. Los chips pueden retirarse haciendo click derecho sobre ellos. Para construir o modificar el circuito el módulo debe estar apagado. Para construir un circuito primero se insertan los chips y luego se hacen las conexiones dibujando las líneas con el ratón. Los cables se dibujan a mano alzada con el ratón. Para dibujar una línea de cable primero se presiona sobre una casilla libre, luego se arrastra el ratón y se libera sobre otra casilla libre.

Transcript of SimuladorDigital_GuiaPreliminar_0_9_1

Page 1: SimuladorDigital_GuiaPreliminar_0_9_1

Documentación Preliminar del Programa (Versión 0.9.1)Simulador de Construcción de Circuitos Digitales con Escenarios Virtuales

Ing. Arturo Javier Miguel de Priego Paz Soldá[email protected] (51 1) 9707 7479

Chincha – Perú, Febrero 3, 2007

Descripción General

Este programa permite simular la construcción de circuitos digitales usando modelos de circuitos integrados TTL y de circuitos integrados de aplicación específica. Los circuitos construidos pueden simulados y pueden ser almacenados y recuperados. Los chips se insertan desde un menú y los cables se dibujan con líneas. La anchura y el color del cable pueden ser modificados desde el menú.

La interfaz gráfica del programa está basada en una imagen de fondo sobre la cual el usuario puede cambiar estados de entradas, observar leds, insertar cables y chips. El programa requiere que la resolución de pantalla sea 1024 x 768.

Edición de Circuitos

Los chips se eligen del menú Circuitos. Al seleccionar un chip aparece fuera del protoboard. El chip se arrastra con el ratón a la posición deseada. Los chips solamente pueden insertarse entre las filas E y F del protoboard. Para insertar y retirar un chip es necesario que las casillas y sus canales estén libres de cables. Los chips pueden retirarse haciendo click derecho sobre ellos.

Para construir o modificar el circuito el módulo debe estar apagado. Para construir un circuito primero se insertan los chips y luego se hacen las conexiones dibujando las líneas con el ratón.

Los cables se dibujan a mano alzada con el ratón. Para dibujar una línea de cable primero se presiona sobre una casilla libre, luego se arrastra el ratón y se libera sobre otra casilla libre.

Para retirar un cable se pulsa con el botón derecho del ratón sobre una casilla que contiene un extremo del cable.

Problemas detectados

Cuando se inserta el chip y luego se mueve a otra ubicación es posible que más adelante el programa no permita conectar cables en algunas casillas cuando debería permitirlo. Es una falla de programación. Para seguir trabajando en el mismo circuito guarde el programa, luego elija Archivo::Nuevo y después abra el archivo original.

Cuando se arma el latch SR con NOR el programa entra en un bucle infinito y aparece un mensaje con una notificación. También ocurre lo mismo si se enciende el módulo con un latch SR con NAND y las entradas puestas en ‘1’ (en este caso asegure las entradas en ‘0’ antes de encender el módulo). Para continuar debe cerrar el programa y volver a iniciar.

A veces el escenario del semáforo se queda estático con las luces en rojo. Para que no ocurra esto, encienda el módulo cuando no haya pasado un auto sobre el sensor. A los escenarios les agregaré una opción de reinicio para evitar este tipo de problemas.

Page 2: SimuladorDigital_GuiaPreliminar_0_9_1

Ventajas del Programa

o Los circuitos construidos pueden ser almacenados y recuperados. Ello permite una verificación y una reutilización de ejemplos para la enseñanza.

o Los ASICs simplifican los diseños y ahorran espacio la tarjeta de alambrado (protoboard), y pueden ser usados como ejemplos de funcionamientos de los circuitos deseados.

o Contar con el tutorial al lado de la herramienta de construcción permite validar rápidamente el conocimiento adquirido.

o Contar con un escenario brinda una mejor perspectiva y da una mejor primera especificación del diseño lógico.

Limitaciones

o Actualmente, todos los modelos digitales son de circuitos TTLs. Sin embargo, a través de los ASICs, se pueden crear modelos de microcontroladores y dispositivos de lógica programable con empaquetados tipo DIP.

o No se toma en cuenta los retardos en la propagación de las señales, ni los abanicos de entrada y salida.

o No se utilizan pines de tres estados ni bidireccionales. Los chips que tienen esa característica no se han incluido o su modelo ha sido modificado.

o Tampoco se consideran salidas de colector abierto. Las salidas de colector abierto de los chips TTL que las tienen, están modeladas como salidas ideales ON, OFF.

o Los eventos en los escenarios no pueden aparecer con una frecuencia mayor a 10Hz.

o Existe un número limitado de escenarios, mas ellos se irán agregando periódicamente.

Page 3: SimuladorDigital_GuiaPreliminar_0_9_1

El Módulo Digital

El módulo digital contiene:

Un protoboard. 18 leds: 8 rojos, 4 amarillos y un arreglo de seis leds de un semáforo. 3 visualizadores de siete segmentos. Dos temporizadores: un reloj de 1Hz y otro de 10Hz, aproximadamente. 12 interruptores: cuatro verdes y 8 rojos. 4 pulsadores azules. Alimentación VCC y GND. Un expansor de 18 pines para interfaz con los escenarios. Un interruptor principal, con su propio led indicador de módulo encendido.

Page 4: SimuladorDigital_GuiaPreliminar_0_9_1

Menús del Programa

Existen siete menús: Archivo, Cable, Circuitos, Escenarios, Tutoriales, Experimentos y Ayuda. Hay opciones que están deshabilitadas porque aun no han sido implementadas. Conforme las vaya implementando las iré anunciando directamente a los correos registrados.

El menú Archivo brinda opciones para abrir, recuperar y crear nuevos archivos de circuitos. Utiliza los diálogos comunes de Windows para abrir un archivo y para guardar con un nuevo nombre. Las opciones del menú son Nuevo, Abrir, Guardar, Guardar Como... y Salir. Los archivos se almacenan en formato de texto ASCII.

El menú Cable permite cambiar el color y la anchura de las líneas. El color se elige con un diálogo común de Windows. La anchura se establece con un diálogo a medida.

El menú Circuitos contiene modelos de circuitos integrados TTL y ASIC. Está dividido en los submenús: Básicos, Compuestos, Flip flops, Registros, Memorias, Contadores y ASICs.

El menú Escenarios brinda escenarios virtuales para la simulación interactiva de los circuitos construidos en el módulo. Con el interruptor principal apagado (del módulo digital) los escenarios operan en modo ideal, mientras que con el interruptor principal encendido los escenarios obedecen a las señales provenientes del módulo digital. Actualmente existen dos escenarios totalmente funcionales: Bomba de Agua y Semáforo con Sensores de Paso. Un tercer escenario solamente funciona en modo ideal, sin interfaz con el módulo digital. En una versión siguiente se incluirán más escenarios.

El menú Tutoriales presenta los aspectos básicos de algunos temas. En varios casos se acompañan descripciones VHDL. En una versión siguiente se incluirán más tutoriales con mayores facilidades pedagógicas.

Los tutoriales actuales son:

Puertas básicas: AndOrNot

Descodificadores: Descodificador 1 de 2Descodificador 1 de 4Descodificador 1 de 8Descodificador 74138

Page 5: SimuladorDigital_GuiaPreliminar_0_9_1

Multiplexores: Multiplexor de 2 entradasMultiplexor de 2 entradas de 4 bitsMultiplexor 74157Multiplexor de 4 entradasMultiplexor de 8 entradasMultiplexor 74151

Sumadores: Sumador semicompletoSumador completoSumador de 2 bitsSumador de 4 bitsSumador 7483A

Comparadores: Comparador de 1 bitComparador de 4 bitsComparador 7485

Latches y flipflops: Latch SR con NORLatch SR con NANDFlipflop JK (74LS76A)

El menú Experimentos aun se encuentra en preparación. Inicialmente estarán los experimentos del libro de Morris Mano.

El menú Ayuda brinda información de contacto. Escriba a la dirección indicada en la ayuda para enviar ideas, comentarios, correcciones, sugerencias, reportes de fallas, problemas, etc. y para recibir periódica y gratuitamente las actualizaciones del programa.

Page 6: SimuladorDigital_GuiaPreliminar_0_9_1

Modelos de Circuitos Integrados Estándares

Se han modelado varios circuitos integrados TTL. En la lista siguiente tener en cuenta que los circuitos con salida de colector abierto se han modelado con salida en ‘1’ y que el pin bidireccional del 7447 se ha modelado solamente como entrada

Básicos: 7400 Nand de 27402 Nor de 27404 Not7408 And de 27410 Nand de 37411 And de 37420 Nand de 47421 And de 47432 Or7486 Xor

Compuestos 7447 Decodificador 7 Segmentos7483A Sumador 4 bits7485 Comparador 4 bits74138 Decodificador 1 de 874151 Multiplexor 8 a 174155 Decodificador doble 1 de 474157 Multiplexor 2 a 1 de 4 bits

Flip flops 7474A Tipo D7476A Tipo JK

Registros 74164 Entrada serie, salida paralela74166 Entrada paralela, salida serie74194A Corrimiento bidireccional de 4 bits

Memorias 74170 Memoria de lectura y escritura 4 x 4

Contadores 7490 Contador de rizado, divisor por 2 y 57492 Contador de rizado, divisor por 2 y 67493 Contador de rizado, divisor por 2 y 874190 Contador BCD74191 Contador binario 4 bits

Para un detalle de la interfaz y funcionalidad de los chips se recomienda consultar una guía de circuitos integrados, por ejemplo “Fast and LS TTL”, 5ta edición, de Motorola. Los chips que necesite de ese documento u otros que no estén incluidos en la presente lista pueden ser agregados comunicando los códigos de los chips. En cuanto sea posible se le enviará el programa actualizado con los nuevos modelos.

Page 7: SimuladorDigital_GuiaPreliminar_0_9_1

Modelos de Circuitos Integrados de Aplicación Específica

En todos los ASICs la alimentación de VCC es en el pin 14 y de GND en el pin 7.

74801 Semáforo de seis luces con modos diurno y nocturno.El cambio de estado es por flanco de subida en el pin 1.El pin 2 es la entrada de modo. En ‘1’ (modo diurno) el semáforo sigue la secuencia VerdeA – RojoB, AmbarA – RojoB, RojoA – VerdeB, RojoA – AmbarB, y repite. Con el pin 2 en ‘0’ (modo nocturno) la secuencia es RojoA – apagado, apagado – AmbarB, y repite.Los pines del 3 al 6 no se conectan.Las salidas se ubican en los pines 8 a 13, de acuerdo al siguiente esquema:

VerdeA AmbarA RojoA VerdeB AmbarB RojoB8 9 10 11 12 13

74802 Contador BCD con salida en binario y en 7 segmentos.La entrada de reloj (flanco positivo) es por el pin 1. Las salidas de los pines 2,3,4 y 5 dan la cuenta binaria, con el pin 2 siendo el MSB y el pin 5 el LSB. Las salidas 13, 12, 11, 10, 9, 8 y 6 son las salidas a, b, c, d, e, f, y g respectivamente.

74803 Contímetro de 0 a 8.Cuenta de 0 a 8 usando ocho bits que se activan progresivamente con cada flanco de reloj por el pin 1. Las salidas de los pines 2, 3, 4 y 5 dan la cuenta binaria (el pin 2 es el MSB y el pin 5 el LSB). Las salidas 13, 12, 11, 10, 9, 8 y 6 son las entradas a, b, c, d, e, f, y g, respectivamente, para un visualizador de siete segmentos.

74804 Semáforo con sensores de paso.Es un ASIC especial para el escenario del Semáforo con Sensores de Paso. La entrada de reloj (flanco positivo) es por el pin 1. Las señales de los sensores se conectan a los pines de entrada 8 y 9. Las salidas para el semáforo de la avenida son 2 (rojo), 3 (ámbar) y 4 (verde), mientras que para la calle son 5 (rojo) y 6 (verde). Los pines de salida 10 a 13 indican las cuentas internas de cada estado del controlador (el pin 13 es el MSB, 10 es el LSB).

Otros chips ASIC que necesite pueden ser agregados comunicando la interfaz y la funcionalidad de los circuitos. La especificación puede ser en lenguaje castellano, VHDL, C ó C++. En cuanto sea posible se le enviará el programa actualizado con los nuevos modelos de ASICs. La única condición es que debe aceptar que los modelos también estarán disponibles para ser usados por el público en general.

Page 8: SimuladorDigital_GuiaPreliminar_0_9_1

Ejemplos de Circuitos, Escenarios y Tutoriales

En la carpeta Ejemplos que acompaña a este documento en el archivo comprimido puedes ver varios circuitos típicos con puertas básicas, decodificadores, comparadores, multiplexores, registros y contadores.

En http://www.geocities.com/tourdigital/SimuladorTTLconEscenarios.htm se colocarán más circuitos. Cualquier sugerencia es bienvenida.