Forum: FPGA, VHDL & Co. Clock Domain Crossing - Shared Memory Verständnisfrage


von Klakx (Gast)


Lesenswert?

Hallo,
ich versuche einen Taktübergang mit großen auf einanderfolgenden 
Datenmengen auf einen Virtex-5.

Dabei schreibt nur Domain 1 mit Clk1 und Domain 2 ließt nur mit Clk2.

Da der Code Plattformunabhängig sein soll, sollte kein Xilinx IP (Fifo) 
verwendet werden.

Gleichzeitiges Lesen und Schreiben findet nicht statt. Der Zugriff 
erfolgt über Abstimmung mit Handshake Signalen.

Meine Gedanke war nun:
Single Port Ram und die Clock Leitung während des Handshakes auf die 
andere Domain multiplexen. Hier bekomm ich aber massive Timinig 
Violations.

Simple Dual Port Ram. Hier bin ich mir nicht sicher. Benötigt dieser 
mehr Blockram?

Wie würdet ihr hier rangehen?

Grüße Klakx

von Jimbo (Gast)


Lesenswert?

Wie groß sind denn die Datenmengen und wie schnell die beiden Takte?

von Klakx (Gast)


Lesenswert?

16 Bit mit 64 MHz bei einer maximalen Größe von 64 kByte

von abc (Gast)


Lesenswert?

>> Simple Dual Port Ram. Hier bin ich mir nicht sicher. Benötigt dieser
>> mehr Blockram?

Nein und es ist auch die sinnvollste Lösung.

Ansonsten ein asynchrones Fifo, das geht auch Plattformunabhängig.

Clk muxen ist murks, lass das.

von Klakx (Gast)


Lesenswert?

ok danke,

noch eine frage am rande:

wenn ich bei xilinx im core generator ein 16 bit breiten und 32768 
(=64kbyte) tiefen sdp_ram anlege, warum sind das dann 16 blockrams? Ich 
dachte ein Blockram fasst 32kbyte?

von Klakx (Gast)


Lesenswert?

ok genau hingeschaut sind es 15 x 36k Blockrams

von Klakx (Gast)


Lesenswert?

nochmal ins manual geschaut: kb bedeutet kilobits und nich kilobyte, das 
erklärts dann wohl.

von Jimbo (Gast)


Lesenswert?

>Ansonsten ein asynchrones Fifo, das geht auch Plattformunabhängig.

Ich würde erst einmal ein Hersteller-Template für einen DC-Fifo 
verwenden. Wenn das klappt, erst dann würde ich eine eigene 
HDL-Beschreibung ausprobieren. Ich verspreche dir: Die eigene Variante 
hat es in sich!

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.