ich wuerde gern wissen, wie man mit der Rekursion umgeht die im folgenden Gatterbild zu sehen ist, wenn man diese Komponente implementieren moechte?
formatting link
Ich wollte einen flipflop in SCADE (Esterel Technologies) implementieren und bekam bei der Simulation eine semantische Fehlermeldung, dass die komponente rekursiv sei.
Jemand eine Ahnung?
Danke.
Safak
Didn't find your answer? Ask the community — no account required.
O
oekmen
Hallo,
ich wuerde gern wissen, wie man mit der Rekursion umgeht die im folgenden Gatterbild zu sehen ist, wenn man diese Komponente implementieren moechte?
formatting link
Ich wollte einen flipflop in SCADE (Esterel Technologies) implementieren und bekam bei der Simulation eine semantische Fehlermeldung, dass die komponente rekursiv sei.
Jemand eine Ahnung?
Danke.
Safak
G
Georg Acher
"Im Kopf" geht das so, dass man die Ausgänge mit passenden Werten vorbesetzt. Passend heist hier, dass sie ungleich sein sollten... Wenn der Simulator es richtig macht, sollte er dann spätestens nach der zweiten Iteration auf einen Fixpunkt stossen.
Georg Acher, acher@in.tum.de
http://www.lrr.in.tum.de/~acher
"Oh no, not again !" The bowl of petunias
W
Winfried Salomon
Hallo Georg,
Georg Acher schrieb:
der Anfang muß nur logisch eindeutig sein, also Clock=1 und mind. ein Eingang auch auf 1, sonst ist der Anfangs-Speicherzustand unbekannt und alles was dahinter kommt auch. Manche Simulatoren rechnen trotzdem weiter, bis alles eindeutig bekannt ist, sollte also eigentlich nur eine Warnung auftreten.
Leider weiss ich nicht, wie man R oder S einen Initialwert uebergeben kann. Man kann Clock auf R,S,Q oder Qneg einstellen und man kann auswaehlen ob "Const" oder ob "Optional". Und man kann den Typ bestimmen: Input,Output oder Hidden.
Mir scheint, dass der Uebersetzer sich wenig daran stoeren wuerde, ob ein Initialwert eingestellt wurde oder nicht. Aber ich weiss es nicht.
formatting link
Im angehaengten lustre file kann man sich die rekursive Funktion anschauen.
Leider weiss ich nicht, wie man R oder S einen Initialwert uebergeben kann. Man kann Clock auf R,S,Q oder Qneg einstellen und man kann auswaehlen ob "Const" oder ob "Optional". Und man kann den Typ bestimmen: Input,Output oder Hidden.
Mir scheint, dass der Uebersetzer sich wenig daran stoeren wuerde, ob ein Initialwert eingestellt wurde oder nicht. Aber ich weiss es nicht.
formatting link
Im angehaengten lustre file kann man sich die rekursive Funktion anschauen.
Leider weiss ich nicht, wie man R oder S einen Initialwert uebergeben kann. Man kann Clock auf R,S,Q oder Qneg einstellen und man kann auswaehlen ob "Const" oder ob "Optional". Und man kann den Typ bestimmen: Input,Output oder Hidden.
Mir scheint, dass der Uebersetzer sich wenig daran stoeren wuerde, ob ein Initialwert eingestellt wurde oder nicht. Aber ich weiss es nicht.
formatting link
Im angehaengten lustre file kann man sich die rekursive Funktion anschauen.
Leider weiss ich nicht, wie man R oder S einen Initialwert uebergeben kann. Man kann Clock auf R,S,Q oder Qneg einstellen und man kann auswaehlen ob "Const" oder ob "Optional". Und man kann den Typ bestimmen: Input,Output oder Hidden.
Mir scheint, dass der Uebersetzer sich wenig daran stoeren wuerde, ob ein Initialwert eingestellt wurde oder nicht. Aber ich weiss es nicht.
formatting link
Im angehaengten lustre file kann man sich die rekursive Funktion anschauen.
bGruesse, Safak
W
Winfried Salomon
Hallo Safak,
oekmen schrieb:
also ich habe mir das File mal angesehen, obwohl ich die Software und Syntax nicht kenne, VHDL scheint es wohl eher nicht zu sein. Von Clock sehe ich auch nichts, Dein Programm weicht von der ersten Beschreibung ab.
Ein Fatal Error wäre z.B., wenn Du Ein- und Ausgang eines Inverters verbindest, dann wäre von vornherein keine logische Entscheidung möglich, weder Simulation noch Implementierung wäre möglich.