mikrocontroller.net

Forum: FPGA, VHDL & Co. fifo mit eigenen takt


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: clocksyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich möchte eine synchrone FIFO Schnittstelle an einem FPGA anbinden 
(ft245). Diese Schnittstelle hat einen 60MHz Clock. Ich frage mich 
gerade wie ich am besten herangehen sollte. Ist es besser nur ein Takt 
zuverwenden und und den Zustand am Clock abzufragen? Dazu müsste der 
takt mindestens doppelt so groß sein.
Oder sollte ich besser ein always block erstellen, welcher auf die 
steigende taktflanke des externen 60MHz clocks reagiert? Dabei sehe ich 
aber die Schwierigkeit, dass die Datenpunkte zwischen den always blöcken 
unterschiedlicher clocks synchronisiert werden muss :/

Autor: Vancouver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
clocksyn schrieb:

> Ist es besser nur ein Takt
> zuverwenden und und den Zustand am Clock abzufragen? Dazu müsste der
> takt mindestens doppelt so groß sein.

Und wozu sollte das gut sein? Wenn Du die Daten schon clocksynchron 
geliefert bekommst, dann benutze diesen Clock als write-Clock für Deine 
Fifo. Dazu ist er da. Du willst den Takt doch sicher nicht als 
Datensignal einsamplen, oder?

> Dabei sehe ich
> aber die Schwierigkeit, dass die Datenpunkte zwischen den always blöcken
> unterschiedlicher clocks synchronisiert werden muss :/

Was sind Datenpunkte unud von welchen beiden always-Blöcken sprichts Du? 
Wenn Du eine synchrone Fifo implementieren willst, gibt es nur einen 
Clock. Wenn Du FPGA-intern einen anderen Clock hast als an der 
Schnittstelle nach außen, dann brauchst Du eine asynchrone FIFO mit zwei 
Clockdomains. Wenn man das unbedingt selbst schreiben will, nimmt man 
einen asynchronen Dualport-RAM mit entsprechender Logik drumherum. Oder 
man nimmt gleich einen fertigen FIFO-Core und bekommt die 
Synchronisation und das Handshake dazu geschenkt.

Autor: delta (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm eine Dual Clock Fifo

Autor: -gb- (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe ich auch gemacht am FT2232H. 64kByte und funktioniert super. Ich 
bekomme dauerhaft knapp 40MByte/s. Aber ich verwende auch nur die 
Richtung vom FPGA zum PC.

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, hier hab ich mal einen alten Thread von mir ausgegraben:
Beitrag "FT2232H Sync FIFO"

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.