mikrocontroller.net

Forum: FPGA, VHDL & Co. fifo core generator


Autor: Rolf Riller (ultra-low)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo
ich habe ein fifo mit logicore erstellt.
- spartan3 xc3s1000/ft256
- Independent Clocks (RD_CLK, WR_CLK), Block RAM
- Standard FIFO
- Write Width 8
- Write Depth 16 (Actual Write Depth: 15)
- Write Depth 8
- Read Depth 16 (Actual Read Depth: 15)

nur dass es erwähnt ist, FIFO Generator v4.3 User Guide.PDF habe ich 
wahrscheinlich 100 mal durchgelesen und sonst tagelang gegoogelt. aber 
ich komme einfach mit dem verhalten von fifo nicht weiter. also hier 
sind die fragen:

1. warum ist "Actual Write Depth" immer um eins kleiner als der wert den 
ich im eingbefeld "Write Depth" eingebe.
2. warum erscheinen die daten erst bei 5em read_clock am 
datenausgang(siehe auch 4.).
3. warum kann ich nur 14 und nicht 15 daten auslesen.
4. wie macht man richtig reset. nur mit write_clock oder mit write_clock 
und read_clock(ist nicht das gleiche). beim reset nur mit 4 write_clock 
sind die daten erst erst bei 8em read_clock verfügbar. beim reset mit 4 
write_clock und read_clock sind die daten erst bei 5em read_clock 
verfügbar. (im manual steht nix davom).


gruss

Autor: Willy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>1. warum ist "Actual Write Depth" immer um eins kleiner als der wert den
>ich im eingbefeld "Write Depth" eingebe.

Xilinx implementiert die Fifo-Adressen (oftmals) als rückgekoppeltes 
Schieberegister. Diese sind schnell, Nachteil:
eine Adresse geht dabei verloren! Dies soll dem User bei der 
Core-Generierung verdeutlicht werden.

Gruß
Willy

Autor: Willy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>2. warum erscheinen die daten erst bei 5em read_clock am
>datenausgang(siehe auch 4.).

Wahrscheinlich fängst du nach dem Reset direkt an zu lesen (in deiner
Simulation). Ich würde nach dem Reset etwas warten.
Ich gehe mal davon aus, dass du überhaupt erst einmal Daten geschrieben 
hast bevor du sie liest.

Autor: Rolf Riller (ultra-low)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke. du hast mich auf den richtigen pfad gebracht.
nach dem schreiben muss man mehr als 8 read_clock(bei read_enable auf 
low) warten bis man die daten lesen kann. nur schade dass es nirgens im 
datenblatt steht.

---
Xilinx implementiert die Fifo-Adressen (oftmals) als rückgekoppeltes
Schieberegister. Diese sind schnell, Nachteil:
eine Adresse geht dabei verloren! Dies soll dem User bei der
Core-Generierung verdeutlicht werden.
---

übrigens wo kann man diese info nachschlagen. ich habe so ziemlich alles 
über fifos runtergeladen. aber ich kann mich nicht errinnern dass so was 
irgendwo dokumentiert ist.

gruss

Autor: Willy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man muss schon etwas genauer suchen:

xapp258.pdf
xapp256.pdf
xapp175.pdf


Ich würde mir jeweils auch immer den Code dazu (zip-File)
anschauen und mal durchsimulieren.

Gruß
Willy

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich verwende die FIFOs im Spartan 3E ohne Probleme. Aber das ist 
wirklich so, wenn man Daten rein schreibt, geht das Empty-Flasg erst 
nach 5 Takten weg. Ist halt so, ist doch kein Problem. Wen du nur 4 
auslesen kannst, wirst du einen FWFT FIFO gemacht haben, da steht das 1. 
Wort am Ausgang ohne dass du das ReadEnable gesetzt haben musst. Dann 
kannst du noch weitere 4 Worte lesen.

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.