Errores de Oscilación

El algoritmo de propagación, que normalmente es transparente, será visible cuando construyas un circuito que oscile.

Este circuito se encuentra en una situación estable, pero si pones la entrada a 1, el circuito circuito entrará en un bucle infinito. Al cabo de un tiempo, Logisim se dará por vencido y lanzará un mensaje comentando que en su opinión el circuito oscila.

Logisim dará a conocer los valores que existen cuando se da por vencido. Estos valores podrán parecer incorrectos - en esta captura de pantalla, la puerta AND envía un 1 a su salida aunque una de sus entradas es un 0, pero podría ser que la puerta NOT tenga un 1 a la entrada y un 1 a la salida.

Logisim rodea con una línea roja los puntos que parecen estar implicados en la oscilación. Si alguno de los puntos involucrados se encuentra dentro de un subcircuito, Logisim marcará el contorno del subcircuito en rojo.

Cuando Logisim detecta una oscilación, se para cualquier tipo de simulación. Podrás restablecer la simulación en el menú Simulación a través de la opción Simulación Conectada.

Logisim detecta una oscilación con una técnica bastante simple. Si la simulación del circuito necesita demasiadas iteraciones entonces simplemente se dejará de simular y se dará a conocer que el circuito oscila. (Los puntos que se indentifican como causantes de la oscilación son aquellos modificados en el último 25% de las iteraciones) De esta manera, Logisim podría concluir erróneamente que existe una oscilación, en concreto si trabajas con un circuito excepcionalmente grande, pero que tendría que ser uno más grande que cualquiera que yo haya construido con Logisim. En cualquier caso, si estás seguro de que el informe de oscilación es erróneo, puedes configurar el número de iteraciones completadas antes de determinar oscilación a través de la ventana de Opciones de proyecto en La pestaña Simulación.

Siguiente: Deficiencias.