Forum: FPGA, VHDL & Co. BRAM - Disributed RAM


von Gast (Gast)


Lesenswert?

Hallo,

kann mir eventuell jemand sagen, was der unterschied zwischen Block Ram 
und Distributed Ram ist?

Danke

von Uwe Bonnes (Gast)


Lesenswert?

UG331?

von Gast (Gast)


Lesenswert?

d.h.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Blockram ist ein Bauteil, das je nach FPGA-Größe z.B. im Spartan3 4 bis 
104 mal vorhanden ist. Das RAM ist synchron, d.h. die Adresse wird 
getaktet, die Ausgangsdaten haben also 1 Takt Latency. Siehe dazu z.B. 
http://www.xilinx.com/support/documentation/ip_documentation/bram_block.pdf 
und die XAPP463

Für Distributed RAM werden LUTs in einen bestimmten Modus umgeschaltet. 
Jede LUT wird also zu einem 16x1 Speicherelement. Weil das idR. zu wenig 
ist, müssen für eine annehmbare Speichergröße viele LUTs 
zusammengescheltet werden. Das kostet wertvolle Logik-Ressourcen. Ein 
Distributed RAM verhält sich wie ein "normales" SRAM: nach dem Anlegen 
der Adresse stehen am Ausgang die Daten bereit.

Etwas ausführlicher dort:
http://www.lothar-miller.de/s9y/archives/20-RAM.html#extended

von Gast (Gast)


Lesenswert?

vielen Dank

von Morin (Gast)


Lesenswert?

Zusätzlich kann man ein Distributed RAM zur selben Zeit (IIRC) nur lesen 
oder schreiben. Ein BRAM kann man von zwei Ports aus gleichzeitig 
jeweils lesen oder schreiben.

Distributed RAM ist granular in Blöcken von 16x1, 32x1 oder 64x1 je nach 
Architektur. Block-RAM ist granular in Blöcken von insgesamt (9*2048) 
Bits, ansteuerbar in verschiedenen Breiten (z.B. 2Kx8, 4Kx4, 2Kx9, usw.)

Wie Uwe Bonnes schon sagt: Genauer steht es im Datenblatt bzw. User 
Guide.

von Falk B. (falk)


Lesenswert?

@  Morin (Gast)

>Zusätzlich kann man ein Distributed RAM zur selben Zeit (IIRC) nur lesen
>oder schreiben.

Nein. Distributed RAM kann auf einem Port lesen und schreiben, der 
zweite kann nur lesen. Für ein FIFO ausreichend.

MFgG
Falk

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Nein. Distributed RAM kann auf einem Port lesen und schreiben, der
> zweite kann nur lesen. Für ein FIFO ausreichend.
Stichwort dazu: XAPP464

von Morin (Gast)


Lesenswert?

Danke für den Hinweis!

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.