mikrocontroller.net

Forum: FPGA, VHDL & Co. was baut die Synthese bei "falling_edge()"


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: K. L. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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"

Autor: Hallo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Inverter vor dem clock eingang?!

Autor: Sigi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Grossteil aktueller FPGAs hat in den div.
Zellen hinter den Eingängen einen optionalen
Inverter. Bei Falling-Edge wird dieser aktiv
geschaltet. Schau dir z.B. mal in XIlinx ISE
den FPGA-Editor zu einem Design an.

Autor: Sigi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus E. schrieb:
> Kann man sich das irgendwo anzeigen lassen?

im FPGA Editor, auch Netzliste kann man sich problemlos anzeigen lassen

Autor: Signalverarbeiter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo schrieb:
> Einen Inverter vor dem clock eingang?!

Aber vermindert der nicht die zur Verfügung stehende Zeit für das 
Schalten der Folgeelemente? Aber warscheinlich sind das nur einige 10ps 
nehme ich an, oder?

Autor: A. S. (achs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Signalverarbeiter schrieb:
> Hallo schrieb:
> Einen Inverter vor dem clock eingang?!
>
> Aber vermindert der nicht die zur Verfügung stehende Zeit für das
> Schalten der Folgeelemente? Aber warscheinlich sind das nur einige 10ps
> nehme ich an, oder?

Tut das nicht jede(!) Kombinatorik?

Autor: K. L. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: 1234567890 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Signalverarbeiter schrieb:
> Hallo schrieb:
>> Einen Inverter vor dem clock eingang?!
>
> Aber vermindert der nicht die zur Verfügung stehende Zeit für das
> Schalten der Folgeelemente? Aber warscheinlich sind das nur einige 10ps
> nehme ich an, oder?

Er verkürzt nicht das Zeitfenster, er verschiebt das Zeitfenster.

Autor: Sigi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Lothar M. (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: K. L. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sigi schrieb:
> selbst ohne den Inverter gibt es schon zwischen 2 FFs idR
> einen ClockJitter, z.B. bei Xilinx "Clock Path Skew" genannt.

aber das, was der Inverter tut, kommt noch oben auf..

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.