IsmaelAlvarez / logisim

Git fork of Logisim code base
http://www.cburch.com/logisim/
GNU General Public License v3.0
1 stars 0 forks source link

[RS08] Implementar Contador Síncrono #8

Open dintrans opened 8 years ago

dintrans commented 8 years ago

Se deberá implementar el componente Contador Síncrono, desplegable en el canvas de Logisim. El objeto deberá simular la función del estándar 74190, esto es, un contador síncrono de módulo 10, sin reset.

Finalmente, el contador deberá poder quemarse al recibir un voltaje mayor que el voltaje para el que fue diseñado y dejar de ser funcional a un voltaje menor.

Ref: RU08

javierdiazp commented 8 years ago

Initialization

Agregar contador síncrono como un nuevo componente desplegable en Logisim

javierdiazp commented 8 years ago

Concept Location

A través de la palabra clave "component" se han localizado las siguientes clases y paquetes que están directamente relacionadas con el nuevo modulo:

javierdiazp commented 8 years ago

Impact Analysis

Dado que el cambio es localizado y corresponde a la creación de un módulo que no es utilizado por ningún otro a posteriori, salvo por Protosim que lo despliega, el análisis de impacto resulta en las clases iniciales ya consideradas en la localización de concepto, sin extenderse a sus módulos dependientes.

javierdiazp commented 8 years ago

Prefactoring

Con el fin de facilitar la construcción del método propagate, que es la pieza central que determina el comportamiento del componente, se crearon los métodos auxiliares bin2Value y value2Bin que facilitan la conversión entre valores binarios y la clase Value.

Además se creó el método setOutputValue que corresponde a una funcionalidad refactorizada de propagate y consiste en entregar los valores de salida a los puertos del componente. Esto facilita la programación del método ya que abstrae una de sus partes fundamentales.

javierdiazp commented 8 years ago

Change Propagation

TODO