Presentación 3: Conversión de Diagramas de Estado a Circuito Secuencial - franciscaconcha/ProyectoLogisim GitHub Wiki

Presentación 3

Conversión de Diagramas de Estado a Circuito Secuencial

Alcances Originales del Proyecto

Primero, se quiere implementar la generación de un circuito secuencial a partir de un diagrama de estados codificado en un archivo de texto. Así, el usuario podrá describir el diagrama de estados a convertir en un archivo, y luego importarlo a Logisim. A partir del archivo importado se construirá un circuito secuencial, con su parte combinatorial y de registro. Este es el principal objetivo de este proyecto.

Como idea adicional sería deseable agregar una interfaz gráfica donde el usuario pueda dibujar el diagrama de estados que desea. Esta interfaz debería tener las herramientas necesarias para especificar los estados y las transiciones entre ellos, junto con los símbolos que cada transición involucra. La realización de esta interfaz se evaluará según las dificultades que se encuentren en el desarrollo del proyecto y el tiempo disponible.

Tareas Propuestas y Realizadas

  • Se dibujó registro de n bits junto con la parte combinacional del circuito y se logró trazar los cables correspondientes entre ambos componentes.

  • Se implementó la verificación de las condiciones de correctitud del diagrama de estados que faltaban: completitud de transiciones (que las transiciones de salida de un estado cubran todas las posibles combinaciones de valores de variables de entrada). Conexidad fuerte decidió no hacerse ya que cabe la posibilidad de que un diagrama correcto no lo sea.

  • Se generaron archivos XML a partir de los diagramas dibujados. Así se podrán guardar y editar diagramas de estado.

Issues

Cerrados en el Último Periodo

Abiertos y Cerrados en el Último Periodo

Caso de Uso

Estos serían los pasos a seguir por un usuario al utilizar la nueva funcionalidad:

  1. En el menú project/proyecto, selecciona "Draw State Diagram"/"Definir Diagrama de Estados".

  2. Se abre una nueva ventana donde el usuario puede dibujar su diagrama de estados. Tiene herramientas para definir estados y transiciones. Las transiciones incluyen los strings de input y output. Es necesario que el diagrama cumpla varias condiciones para poder generar el circuito:

  • Los inputs y outputs sólo pueden ser de 1's, 0's y *'s.
  • Los largos de todos los inputs deben ser iguales, ídem para outputs.
  • No pueden haber dos transiciones provenientes del mismo estado con el mismo input.
  • Los inputs de las transiciones provenientes de un mismo estado deben cubrir todos los posibles inputs.
  1. Una vez que el usario termina de especificar las transiciones, aprieta el botón "Generate"/"Generar Circuito".

  2. El circuito aparece en el canvas principal de Logisim, con su parte combinacional y su registro.

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)