Gegeben sei folgendes VHDL-Konstrukt: AUS <= EIN when MASK = '1' else '0'; EIN sei Ausgang einer Kombinatorik und schwanke unkontrollierbar während (MASK = '0'). Wenn die Synthese für das Konstrukt einen Multiplexer einsetzt, ist nach meiner Kenntnis gewährleistet, dass AUS während (MASK = '0') glitchfrei ist. Wenn die Synthese jedoch das Konstrukt in die Kombinatorik hineinrechnet, ist dies nach meiner Kenntnis nicht sicher. Kann dieser zweite Fall auftreten?
Kommt das nicht drauf an ob MASK durch einen kombinatorischen oder getakteten Prozess erzeugt wird? Ein multiplexer ist doch auch nur kombinatorik.
Marius S. schrieb: > Kommt das nicht drauf an ob MASK durch einen kombinatorischen oder > getakteten Prozess erzeugt wird? > > Ein multiplexer ist doch auch nur kombinatorik. In dem mich interessierenden Fall ist MASK Ausgang eines FF. Natürlich ist ein Multiplexer auch nur Kombinatorik. Ich meinte hier die Kombinatorik, welche EIN erzeugt.
Sollte sicher sein. Sicherheit bietet aber nur der Blick auf die LUT, welche AUS erzeugt.
Ich würde davon ausgehen, dass es mit in die kombinatorik gerechnet wird, wenn EIN ansonsten nicht verwendet wird. Aber warum sollte das zum glitch führen? Kommt doch nur auf die Verzögerung zwischen Takt und MASK an denke ich.
Marius S. schrieb: > Verzögerung zwischen Takt und MASK Die Stellen, an denen MASK sich ändert, sind nochmal ein anderes Problem. Mir geht es bei meiner Frage um den inneren Bereich von (MASK = '0').
Ganz allgemein wird sich die Frage nicht beantworten lassen, da es letztendlich auf die Architektur ankommt, auf welche die Kombinatorik abgebildet wird. Bei Xilinx z.B. wird ja bekanntermaßen die Kombinatorik auf LUTs abgebildet und Xilinx garantiert meines Wissens, dass es beim Umschalten der Eingangssignale zu keinen Glitches kommt, wenn der Ausgang dabei den gleichen Wert behält. Wenn man aber 100 % sicher sein will, dann verwendet man ein getaktetes Signal.
Klaus Falser schrieb: > Bei Xilinx z.B. wird ja bekanntermaßen die Kombinatorik auf LUTs > abgebildet und Xilinx garantiert meines Wissens, dass es beim Umschalten > der Eingangssignale zu keinen Glitches kommt, wenn der Ausgang dabei den > gleichen Wert behält. > Das dürfte nur für den Fall gelten wenn sich EIN Eingangssignal ändert, und das ist Pflicht für jede LUT Architectur. Sonst wäre sie für Kombinatorik unbrauchbar. Auch wenn sich das Ausgangsignal dabei ändert darf es zu keinem Glitch kommen. Bei Änderung von mehreren Eingangsignalen kann es nicht garantiert werden, ausser es ist sichergestellt dass sie sich absolut gleichzeitig ändern. Und das ist so gut wie unmöglich.
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.