Presentación 3: Simulación de Entradas - franciscaconcha/ProyectoLogisim GitHub Wiki

Presentación 3

Automatización de Entradas para Simulación

Tareas Propuestas en Presentación 2

  • Modificar la tabla de forma que el usuario sólo pueda ingresar la cantidad de bits correspondientes a cada entrada, o crear una entrada de default en caso de que no se cumpla con la cantidad especificada.

  • Es deseable que el botón "Simular" no se pueda apretar a menos que, luego pasar la validación, no se modifique la tabla.

  • Modificar la tabla de tal forma que el botón "Validar" considere entradas de más de 1 bit.

  • Usando la información de la tabla, modificar el estado del circuito para determinar las salidas, y generar así la tabla de simulación.

Tareas Realizadas

  • Se eliminó el botón "Validar". En su lugar, se optó por automatizar la validación, de forma que apenas se ingrese un valor en una casilla, éste se valide automáticamente.

  • A su vez, se modificó la función de validación para que considere entradas de más de 1 bit, así como para que valide correctamente los valores del reloj, los cuales se validan de forma distinta que las entradas.

  • Se descartó la idea propuesta en la presentación 2 de limitar los caracteres que puede haber en cada casilla, ya que dado que la validación se hace en "tiempo real", al intentar ingresar una entrada muy larga, se le indicará al usuario el error inmediatamente.

  • Se logró coordinar la nueva validación automática de las casillas con la función que determina la disponibilidad o no disponibilidad del botón "Simular".

  • Se identificaron las clases responsables de realizar los ticks del reloj,y la cadena de delegación de responsabilidades que siguen para hacer un "tick".

  • De la misma forma, se identificó el thread que escucha los ticks del reloj, el cual es responsable de ir generando la tabla de resultados dinámicamente.

  • Finalmente, se consiguió cambiar el estado del circuito según los datos ingresados en la tabla, para ir generando dinámicamente los valores de las salidas, y obtener así la tabla de resultados.

Issues

Cerrados en el Último Periodo

Tareas Propuestas Sin Realizar

Se lograron cumplir todos los objetivos propuestos al comienzo del proyecto.

[Volver a Menú Presentación 3] (https://github.com/franciscaconcha/ProyectoLogisim/wiki/Presentaci%C3%B3n-3)