mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-25 14:08:27 -04:00
minor documentation/tooltip changes
This commit is contained in:
parent
56bbb21858
commit
cc7a2bb3ba
11
README.md
11
README.md
@ -53,7 +53,8 @@ Below I would like to explain briefly the reasons which led me to start a new de
|
||||
|
||||
### Switch On ###
|
||||
|
||||
Logisim has difficulties with the "switching on" of a circuit. A simple master-slave flip-flop
|
||||
In Logisim there is no real switching on" of a circuit. The circuit is working also while you are modifying it.
|
||||
This causes sometimes an unexpected behaviour. A simple master-slave flip-flop
|
||||
can not be realized with Logisim, since the circuit is not switched on, there is no
|
||||
settling time to bring the circuit to a stable condition after its completion.
|
||||
A master-slave flip-flop can only be implemented with a reset input. This
|
||||
@ -66,9 +67,11 @@ the outputs of the gate are not updated instantly. Only when all gates involved
|
||||
the outputs of all gates are updated. All gates seem to change synchronously, i.e.
|
||||
they seem to have all the exact same gate delay time.
|
||||
However, an undesirable feature of this approach is that even a simple RS flip-flop might not be able to
|
||||
reach a stable state.
|
||||
For that reason, another mode is used during settling time: Each time a
|
||||
gate undergoes a change at one of its inputs all gate inputs are read and their outputs are updated immediately.
|
||||
reach a stable state. The same problem Logisim has.
|
||||
|
||||
To solve that problem, the "switching on" is introduced and a different simulation mode is used during the
|
||||
settling time right after switching on the circuit:
|
||||
Each time a gate undergoes a change at one of its inputs all gate inputs are read and their outputs are updated immediately.
|
||||
This happens gatewise in random order until no further changes occur and the circuit reaches a stable state.
|
||||
The gates appear to have random delay times now.
|
||||
This way, a master-slave flip-flop reaches a stable state after "switch on", however, the final state is still undefined.
|
||||
|
12
README_de.md
12
README_de.md
@ -55,7 +55,8 @@ starten:
|
||||
|
||||
### Einschalten ###
|
||||
|
||||
Logisim hat Schwierigkeiten mit dem "Einschalten" einer Schaltung. Ein einfaches Master-Slave Flipflop
|
||||
In Logisim gibt es kein echtes "Einschalten" einer Schaltung. die Schaltung ist auch aktiv, während sie verändert wird.
|
||||
Dies kann zu unerwartetem Verhalten führen: Ein einfaches Master-Slave JK-Flipflop
|
||||
lässt sich mit Logisim nicht realisieren, da die Schaltung nicht "eingeschaltet" wird, gibt es keine
|
||||
Stabilierungsphase nach dessen Abschluss sich die Schaltung in einem stabilen Zustand befindet.
|
||||
Ein Master-Slave Flipflop lässt sich nur mit einem Reset-Eingang simulieren, und dieser muss auch betätigt werden, um die
|
||||
@ -67,9 +68,12 @@ Gatter eine Änderung an einem seiner Eingänge erfährt, werden zwar die Eingä
|
||||
werden die Ausgänge des Gatters nicht aktualisiert. Erst wenn alle betroffenen Gatter die Änderungen an
|
||||
ihren Eingängen eingelesen haben, werden die Ausgänge aller Gatter aktualisiert. Alle Gatter scheinen
|
||||
vollkommen synchron umzuschalten. Sie scheinen alle die exakt gleiche Gatterlaufzeit zu haben.
|
||||
Dieser Ansatz führt jedoch dazu, dass sich schon ein einfaches RS-Flipflop unter Umständen nicht stabilisieren kann.
|
||||
Während der Einschaltphase wird daher ein anderer Modus verwendet: Alle Gatter lesen ihre Eingänge ein und
|
||||
aktualisieren sofort ihre Ausgänge. Dies geschieht Gatter für Gatter in zufälliger Reihenfolge der Gatter, bis es keine
|
||||
Dieser Ansatz führt jedoch dazu, dass sich schon ein einfaches RS-Flipflop unter Umständen nicht stabilisieren kann.
|
||||
Dies ist das selbe Problem welches auch bei Logisim auftritt.
|
||||
|
||||
Um dieses Problem zu lösen, wird während der Einschaltphase wird ein anderer Simulationsmodus verwendet:
|
||||
Alle Gatter lesen ihre Eingänge ein und aktualisieren sofort ihre Ausgänge.
|
||||
Dies geschieht Gatter für Gatter in zufälliger Reihenfolge der Gatter, bis es keine
|
||||
Veränderungen mehr gibt und die Schaltung sich stabilisiert hat.
|
||||
Auf diese Weise stabilisiert sich auch ein Master-Slave Flipflop nach dem "einschalten", jedoch ist der sich einstellende
|
||||
Endzustand nicht definiert.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -69,7 +69,7 @@ public final class Keys {
|
||||
* Background Color of nested circuits
|
||||
*/
|
||||
public static final Key<java.awt.Color> BACKGROUND_COLOR
|
||||
= new Key<>("Color", new Color(255, 255, 0, 64));
|
||||
= new Key<>("backgroundColor", new Color(255, 255, 0, 64));
|
||||
|
||||
/**
|
||||
* The input splitting of a splitter
|
||||
|
@ -497,6 +497,8 @@ Sind evtl. die Namen der Variablen nicht eindeutig?</string>
|
||||
<string name="key_Bits_tt">Anzahl der Daten-Bits die verwendet werden.</string>
|
||||
<string name="key_Color">Farbe</string>
|
||||
<string name="key_Color_tt">Die Farbe des Elementes.</string>
|
||||
<string name="key_backgroundColor">Hintergrundfarbe</string>
|
||||
<string name="key_backgroundColor_tt">Hintergrundfarbe der Schaltung, wenn sie eingebettet wird. Wird für DILs nicht verwendet.</string>
|
||||
<string name="key_Cycles">Timeout Zyklen</string>
|
||||
<string name="key_Cycles_tt">Wenn nach dieser Anzahl von Takten kein Break eingegangen ist, wird ein Fehler erzeugt</string>
|
||||
<string name="key_Data">Daten</string>
|
||||
|
@ -487,6 +487,8 @@ The names of the variables may not be unique.</string>
|
||||
<string name="key_Bits_tt">Number of data bits used.</string>
|
||||
<string name="key_Color">Color</string>
|
||||
<string name="key_Color_tt">The Color of the element.</string>
|
||||
<string name="key_backgroundColor">Background color</string>
|
||||
<string name="key_backgroundColor_tt">Background color of the circuit when it is embedded in another circuit. Is not used for DIL packages.</string>
|
||||
<string name="key_Cycles">Timeout cycles</string>
|
||||
<string name="key_Cycles_tt">If this amount of cycles is reached without a break signal, an error is created.</string>
|
||||
<string name="key_Data">Data</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user