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
Wie groß sind denn die Datenmengen und wie schnell die beiden Takte?
16 Bit mit 64 MHz bei einer maximalen Größe von 64 kByte
>> 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.
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?
ok genau hingeschaut sind es 15 x 36k Blockrams
nochmal ins manual geschaut: kb bedeutet kilobits und nich kilobyte, das erklärts dann wohl.
>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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.