Rams mit untersch. Breit+Tiefe am gleichen Adress+Datenbus

OP #1074150
Lesenswert?
• ▲
▼
Hallo,

ich habe 32 Blockrams (Xilinx, Simple Dual Port) mit den gleichen 
Speicherbreiten und -tiefen. Kann ich die alle an den gleichen Lese 
Daten- und Adressbus hängen und jeweils nur mit dem Readenable Signal 
steuern? Es wird auch immer nur von einem RAM gelesen und das 
Beschreiben kann auch sequentiell erfolgen. Will damit Leitungen, Signal 
und VHDL Code sparen.
Kann ich auch andere Blockrams an den gleichen Bus hängen, die total 
andere Speicherbreiten und -tiefen besitzen? Diese haben mehr oder auch 
weniger Leitungen für die Adresse/Daten.

Vielen Dank für eure Hilfe
Martina
#1074507
Lesenswert?
• ▲
▼
Die Leitungslänge im FPGA interessiert niemanden, das hängt sowieso vom 
Placement ab. Letztentlich ist nur entscheidend ob Du deine 
Geschwindigkeit erreichts, und das hängt auch von anderen Faktoren ab.
Kannst Du nicht die Blockrams zu einem zusammenfassen, wenn eh nur immer 
von einem gelesen/geschrieben wird?
OP #1074663
Lesenswert?
• ▲
▼
ja, ich werde jetzt wohl die Rams mit den gleichen Breiten und Tiefen 
zusammenpacken. Dann gibts halt ein großes. Bei denen mit verschieden 
Wort- und Adresslängen bleibt mir dann nichts anderes übrig, als viele 
Signal zu deklarieren. Kann man denn Signale in einer extra Datei extern 
deklarieren? sonst wird mein Hauptfile so unübersichtlich.
Gast #1074759
Lesenswert?
• ▲
▼
Für die 'Optimierung' viel entscheidender als die Anzahl der
VHDL-Zeilen wäre die richtige 'Partitionierung' der BRAMs..

Beispiel:
 falls 2k Daten a 16 Bit zu speichern sind, ist es günstiger,
 2 BRAMs a 8Bit "parallel" zu schalten, als den Adressbereich
  aufzusplitten (2 BRAMs a 16 Bit):

 Letzteres benötigt noch (besagte) Multiplexer, während diese
 im 1. Ansatz bereits 'in den BRAMs' enthalten sind..

Gruß
Jochen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren