mikrocontroller.net

Forum: FPGA, VHDL & Co. fixed Delay Buffer


Autor: Tobias Floery (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich beschäftige mich seit einigen Tagen mit VHDL und finde die
Möglichkeiten einfach klasse.

Kurze Beschreibung was ich machen möchte:
Ich habe 2 Ausgänge auf denen ich mit einstellbarer Verzögerung Pulse
ausgeben will (also die Zeit zwischen den Pulsen auf Pin1 und Pin2
sollte einstellbar sein). O.k. das würde ja noch gehen, aber ich
benötige eine Auflösung von <= 150ps.

Meine Idee war, ein paar Gatter hintereinander zu schalten um somit die
Durchlaufszeit als Verzögerung zu nehmen. Mit einem Multiplexer könnte
ich dann versch. Verzögerungszeiten abgreifen. In der Theorie sollte
dies ja funktionieren nur leider scheint der VHDL Compiler zu tüchtig
zu sein Optimiert die Verzögerungen & Co immer weg. Leider habe ich es
noch nicht geschafft ihm das abzugewöhnen.

Hat jemand von euch eine Idee wie das gemacht werden könnte (ohne
PLL)?

Ich verwende einen Altera FPGA und Quartus II.

Danke
Tobias

Autor: Jochen Pernsteiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>O.k. das würde ja noch gehen, aber ich
>benötige eine Auflösung von <= 150ps.

Welchen FPGA benutzt Du?
Haben die so eine geringe Durchlaufverzögerung?
(Pin->Gatter, Gatter, Gatter->Pin)

Hast Du die nötigen Messgeräte um das zu messen?

Was genau soll das eigentlich werden?

Autor: FPGA-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit den 150ps hast Du schlechte Karten.

Dass die Delays wegoptimiert werden, ist sicher hinzubekommen
(sofern Du mal Deinen VHDL-Code preisgibst), aber
die tatsächliche Delay-Zeit ist unbestimmt, von Temp. und
Betriebsspannung abhängig und von MUX-Abgriff zu Abgriff
verschieden, es sei denn Du machst Hand-Placement.

Da würde ich sicherheitshalber eine externe Delay-Line
(von MAXIM oder so) bevorzugen, keine Ahnung ob die 150ps
können - wohl weher 1 ns aufwärts.

Autor: Tobias Floery (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die 150ps sind nicht von Pin-zu-Pin sondern nur intern...

Ja das mit einer externen Delay Line habe ich mir auch schon überlegt.


(Habe bei On-Semiconductors so gar einen Chip mit 10ps Auflösung
entdeckt...)

Nur wenn ich schon für das ganze erstliche Timing einen FPGA verwenden
muss, dachte ich mir das es halt schöner wäre wenn ich alles im FPGA
realisieren könnte.

Ich verwende im Moment einen Altera ACEX1k30T144-1 werde aber nächste
Woche mit einem Cyclone anfangen zu arbeiten.
Beim Cyclone werde ich mir mal die PLL genauer anschauen, laut
Datenblatt sollte man 125ps delay herbekommen. Das wäre dann ja schon
mal etwas.

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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