was baut die Synthese bei "falling_edge()"

Gast #5985749
Lesenswert?

Aus aktuellem Anlass (zugeliefertes design) muss ich die Frage stellen!

Was baut die Synthese da? Die Schaltung funktioniert (Artix 7 FPGA unter 
Vivado 2018.3). Kann man sich das irgendwo anzeigen lassen?

Ich habe diesen thread angesehen, aber dort gibt es auch keine gute 
Antwort:
Beitrag "physikalische Realisation des falling_edge Konstrukts"
Gast #5985792
Lesenswert?

Ich habe den anderen Thread überflogen,
in Etwa steht es ja schon da. Wie es
aber physikalisch implementiert ist,
da schweigen die Götter. Nimm also an,
dass die Inverter funktionieren, bei
mir hat es jedenfalls immer funktioniert.
Gast #5987355
Lesenswert?

Muss ich mir bei Gelegenheit ansehen.

A. S. schrieb:
> Tut das nicht jede(!) Kombinatorik?

Das ist nicht die Frage. Aus meiner Sicht verletzt ein Inverter ( wenn 
es einer ist) den ach so schön ausbalancierten clk-Baum, der ja 
sicherstellen soll, dass überall der Takt gleichzeitig ankommt.

Ein FF, dessen Takt nochmal verzögert, ist, hat mehr SetupTime für 
seinen Eingang, aber weniger Reserve für die HoldTime, weil es später 
beginnt - aber auch später aufhört, zu schalten.

Und sein Ausgang hängt gegenüber anderen etwas hinterher.
Gast #5987372
Lesenswert?

Klaus E. schrieb:
> Das ist nicht die Frage. Aus meiner Sicht verletzt ein Inverter ( wenn
> es einer ist) den ach so schön ausbalancierten clk-Baum, der ja
> sicherstellen soll, dass überall der Takt gleichzeitig ankommt.
>
> Ein FF, dessen Takt nochmal verzögert, ist, hat mehr SetupTime für
> seinen Eingang, aber weniger Reserve für die HoldTime, weil es später
> beginnt - aber auch später aufhört, zu schalten.
>
> Und sein Ausgang hängt gegenüber anderen etwas hinterher.

Schon richtig, dass das Auswirkungen auf den Baum hat, aber
selbst ohne den Inverter gibt es schon zwischen 2 FFs idR
einen ClockJitter, z.B. bei Xilinx "Clock Path Skew" genannt.
Wenn Quell- und Ziel-FFs beide mit invertirtem Clock
angesteuert werden, dann gleicht es sich ja wieder aus
(Inverter ist ja nicht gerade hochkomplizierte Kombinatorik,
hat also über das gesammte FPGA eine etwa konstante
Verzögerung).
Die Analysetools können so etwas ohne Probleme analysieren.
(wird z.B. auch glaube ich bei Alteras TimeQuest angezeigt,
da ist die Analyseausgabe bzgl. beteiligter Bausteine
wesentlich feiner als Xilinx oder auch Lattice)
Moderator (Firma: Titel) Persönliche Seite #5987570
Lesenswert?

Sigi schrieb:
> Die Analysetools können so etwas ohne Probleme analysieren.
Und das ist der Witz an diesem Inverter. Ein exakt 50:50 Takt mit 
100MHz, der im Design auf steigende und fallende Flanke abgefragt 
wird, resultiert dann eben im FPGA effektiv in einem 49,99:50,01 
Tastverhältnis. Und wenn das schon was ausmacht, dann sollte man sich 
gewahr sein, dass auch aus einem realen 50:50 Oszillator der Takt bis 
zum FPGA sicher schon mehr "verzerrt" und verjittert wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren