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