BRAM - Disributed RAM

Moderator (Firma: Titel) Persönliche Seite #1303251
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
Gast #1303828
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.

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