www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Array in RAM speichern


Autor: H-ko (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mir ein Array angelegt das ziemlich groß ist. Jetzt möchte ich 
diesen Array nicht auf dem FPGA sondern in den Vorhandenen RAM 
speichern.
Kann dieser einfach in den Ram verschieben?

Ich arbeite mit Altera Quartus II!

Bin für jeden Tipp dankbar.

Gruß

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FPGAs haben intern nur Dualport-RAM, was du braeuchtest waere ein 
Triport, da du ja drei unabhaengige Adressen verwendest. 
Hoechstwahrscheinlich wird dein Tool das nicht unterstuetzen. Bei einem 
Dualport-RAM stehen die Chancen gut, dass dein Tool das bei dieser 
Beschreibung direkt in einen RAM-Block packt. Das sollte dann aber auch 
im Synthesereport vermerkt sein.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll der Geiz, wir habens doch ;-)
Kein Problem, speichere die Daten einfach gleichzeitig in 2 von den 
DPRAMs ein. Dann kannst du das auf der anderen Seite dieser beiden 
DPRAMs problemlos mit den beiden Read-Adressen wieder auslesen.

Aber pass auf: du bekommst mit DPRAMs beim Auslesen einen Takt Latency 
mit rein (zumindest bei Xilinx).

Autor: Bayer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Aber pass auf: du bekommst mit DPRAMs beim Auslesen einen Takt Latency
>mit rein (zumindest bei Xilinx).

Das ist einstellbar. Man kann sogar mit zero Latency arbeiten, aber dann 
nur mit geringer Geschwindigkeit.

Es sit egal ob man 2 RAMs oder TRipoert instanziert - wenn es synchron 
abgefragt wird, wird ein DP draus, wird es asynchron abgefragt mappt er 
einen dritten Port. Das kann man der Synthese überlassen.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Bayer
>Man kann sogar mit zero Latency arbeiten...
Welche FPGAs bzw. welcher Hersteller?

>wird es asynchron abgefragt mappt er einen dritten Port...
Was für ein RAM wird dann angelegt?
Wie geht dieses "Mappen"?

Autor: H-ko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst mal danke für die schnellen Antworten!

Jetzt habe ich noch eine Frage.
Lass ich mir den Speicher automatisch generieren oder kann ich das auch 
selber machen. Habe mit den DPRAM bis jetzt noch keine Erfahrungen.

Wenn man das auch selber machen kann, hat dann jemand vielleicht ein 
Beispiel?

Danke

Gruß

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne Quartus nicht, aber bei Xilinx und Synplify wird ein Konstrukt 
wie deines (wenn es keinen dritten Port gibt) automatisch in einen 
RAM-Block gelegt, wenn das moeglich ist. Zum Thema Quad-Port-RAM gibt es 
von Xilinx eine application note mit Beispielcode.

Autor: H-ko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe es hin bekommen.

Danke für die schnellen und guten Antworten.

Gruß

H-ko

Autor: H-ko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe noch eine Frage.

Wie kann ich den kompletten Speicher am Anfang auf 0 setzen.
Sprich jeder Speicherblock ist erst einmal 0.

Grup

H-ko

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wie kann ich den kompletten Speicher am Anfang auf 0 setzen.
Bei Xilinx: gar nichts tun, 0 ist der Defaultwert.
Ist das bei Altera anders?

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.