Forum: FPGA, VHDL & Co. Frage zu Glitches bei Kombinatorik


von Josef G. (bome) Benutzerseite


Lesenswert?

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?

von Marius S. (lupin) Benutzerseite


Lesenswert?

Kommt das nicht drauf an ob MASK durch einen kombinatorischen oder 
getakteten Prozess erzeugt wird?

Ein multiplexer ist doch auch nur kombinatorik.

von Josef G. (bome) Benutzerseite


Lesenswert?

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.

von Daniel__m (Gast)


Lesenswert?

Sollte sicher sein.

Sicherheit bietet aber nur der Blick auf die LUT, welche AUS erzeugt.

von Marius S. (lupin) Benutzerseite


Lesenswert?

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.

von Josef G. (bome) Benutzerseite


Lesenswert?

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').

von Klaus Falser (Gast)


Lesenswert?

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.

von Lattice User (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.