Como ejemplo del nivel de sofisticación del algoritmo de Logisim, considera el siguiente circuito.
Obviamente la salida será siempre 0. Pero realmente las puertas NOT no reaccionan instantáneamente a sus entradas y tampoco lo hacen en Logisim. Así, cuando la entrada de este circuito cambia de 0 a 1, la puerta AND tendrá brevemente a su entrada un 1 en cada una de sus patas y en consecuencia habrá un 1 a su salida durante un corto espacio de tiempo. El efecto sólo será observable si se utiliza la salida del circuito como entrada de reloj de un biestable D.
El cambiar la entrada de 0 a 1 conduce instantáneamente un 1 al biestable D y de esta manera el biestable conmutará cada vez que la entrada del circuito cambie de 0 a 1.
Todos los componentes tienen asociado un retardo. Los componentes más complejos tienden a tener retardos mayores, pero estos retardos son arbitrarios de alguna forma y puede que no reflejen la realidad.
De vez en cuando, con frecuencia irregular, Logisim añadirá un retardo a la propagación de un componente. Esto pretende simular la irregularidad de los circuitos reales. En concreto, un R-S que utilice dos puertas NOR oscilaría sin esta aleatoriedad en los retardos, ya que las dos puertas procesarían sus entradas a la vez. Esta aleatoriedad se puede desactivar a través de la ventana de Opciones de Proyecto en La pestaña Simulación.
Desde un punto de vista técnico, es relativamente fácil tratar con este nivel de sofisticación en un circuito simple. Por otro lado, y aunque tratar bien los retardos a través de los subcircuitos es más complicado, Logisim también inteta abordar este asunto de forma correcta.
Hay que fijarse en que no estoy diciendo que Logisim siempre se ocupe de los retardos de las puertas satisfactoriamente. Pero por lo menos lo intenta.
Siguiente: Errores de Oscilación.