Forum: FPGA, VHDL & Co. Anfängerfrage zu Propagation Delays


von Johann (Gast)


Lesenswert?

Hallo zusammen.

Da ich trotz mehrstündiger Internet - Recherchen nichts vernünftiges 
gefunden habe, stelle ich die Frage hier.

Ich möchte eine Durchverbindung durch ein FPGA herstellen, also einfach 
einen Pin als Eingang und einen anderen Pin als Ausgang verwenden.

Dazwischen soll nichts passieren, es soll einfach eine Verbindung 
zwischen den beiden Pins hergestellt werden.

Wie groß ist dann die zeitliche Verzögerung, mit der das Signal (die 
steigende Flanke, z.B), das man am Eingang hineinschickt, am Ausgang 
wieder herausbekommt?

Ist die Verbindung analog oder digital (getaktet)?

Ich weiss schon.. Das hängt jetzt vom verwendeten FPGA ab, daher etwas 
konkreter:

Wie groß ist die Verzögerung für

- Stratix III
- Virtex-6

Mit Tipps, Anregungen, etc... wäre mir sehr geholfen. Ich bedanke mich 
im Voraus.



lg, Johann

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Ist die Verbindung analog oder digital (getaktet)?
Nach dem Eingangstreiber ist die Verbindung einfach nur eine Verdrahtung 
zum Ausgangstreiber.

Die Laufzeit ist im Timing-Report zu finden. Mit einem entsprechenden 
Timing-Constraint kannst du die maximale Verzögerung (in Grenzen) 
limitieren.

von global (Gast)


Lesenswert?

Hallo Johann,

wie Du schon richtig vermutet hast, kann Dir auf deine Frage keiner mit 
einer sinnvollen Antwort entgegnen.

Der Delay eines FPGAs setzt sich aus verschiedenen Komponenten zusammen:

Inputdelay (abhaengig vom verwendeten Pinstandard) einige 100ps
ggfl. zusaetzliches Inputdelay (Bausteinabhaengig, programmierbar)
Routingdelays (abhaengig von der Platzierung und Entfernung der Pins 
voneinander, es befinden sich im Pfad im schlechtesten Falle mehrere 
Switchmatrixen welche jeweils fuer mehrere 100ps Delay sorgen) jedes 
Leitungsstueck einige 100ps.
zum Schluss kommt dann noch ein grosser Brocken hinzu (Outputdelay der 
Pins), wiederum abhaengig vom programmierten genutzten Pinstandard ( von 
einigen 100ps bis mehreren ns (koennen auch mal 5-6ns werden).

Wichtig zu wissen: zwei durchgeroutete Signale koennen komplett 
unterschiedliche Delays aufweisen.
Kein Designtool, bzw. FPGA Hersteller laesst das Timing genauer 
festlegen bzw. Constrainen.
Einstellmoeglichkeiten sind: maxdelay und besonders fuer das constrainen 
mehrerer Signale zueinander: Maxskew (relativ zueinander).

Gruss

von Harald F. (hfl)


Lesenswert?

Hab's mal eben in Quartus eingetippt:

module delay
    (
    input           i,
    output wire     o
    );
assign o = i;
endmodule

Als Baustein habe ich einen EP3SE50F484C2 genommen. TimeQuest meldet 
ohne jegliche Constraints:

Propagation delay = 6.561 ns (RR) bzw 6.464 ns (FF)

Wenn man dann aber sagt, dass man die Verzögerung unter 5 ns haben will, 
dann kommt raus:

Propagation delay = 3.900 ns (RR) bzw 3.792 ns (FF)

Ich hoffe, das hilft Dir weiter. Ansonsten müsstest Du wohl etwas mehr 
über dieses Wahnsinnsdesign erzählen, auf dass man die weitere Infos 
geben kann.

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.