Hallo, beim systhetisieren bekommen ich folgende Meldung ... INFO:Xst:2117 - HDL ADVISOR - Mux Selector <arbiter> of Case statement line 0 was re-encoded using one-hot encoding. The case statement will be optimized (default statement optimization), but this optimization may lead to design initialization problems. To ensure the design works safely, you can: - add an 'init' attribute on signal <arbiter> (optimization is then done without any risk) - use the attribute 'signal_encoding user' to avoid onehot optimization - use the attribute 'safe_implementation yes' to force XST to perform a safe (but less efficient) optimization Kann mir jemand sagen was hier genau optimiert wird ? danke Chris
Die einzelnen Zustände müssen vom Synthesewerkzeug irgendwie auf Gatterebene umgesetzt werden. Dies geschieht durch Interpretieren der Zustände der Zustandsmaschine als Bitvektor. One Hot bedeutet, dass in dem Bitvector alle Bits auf Null gesetzt werden außer das Bit, welches dem aktuellen Zustand entspricht. Beispielsweise deine Zustandsmaschine hat 3 Zustände. Die drei Bitvectoren, die das Synthesewerkzeug den Zuständen zuordnet (one hot) sind dann: Zustand 1 = "001" Zustand 2 = "010" Zustand 1 = "100" Falls keine Vorinitialisierung vorgenommen wird befindet sich der vom Synthesewerkzeug erzeugte Bitvector in einem undefinierten Zustand. Es könnte passieren, dass mehr als ein Bit des Bitvectors gesetzt ist was ein undefiniertes Verhalten deiner Zustandsmaschine zur Folge hätte. Das Synthesetool will dich nur darauf hinweisen das du durch eine Vorinitialisierung dafür sorgen sollst, dass sich der Zustandsspeichers deines Automaten in einem definierten Ausgangszustand befindet. Andernfalls gibt es "Constraints" die vom Synthesetool vorgeschlagen werden. Falls du ein Reset für deinen Implementierung verwendest kannst du die Warnung getrost ignorieren. Dann hast du ja schon einen definierten Anfangszustand nach dem setzen des "Reset".
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.