Hallo, kann mir eventuell jemand sagen, was der unterschied zwischen Block Ram und Distributed Ram ist? Danke
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
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.
@ 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
> Nein. Distributed RAM kann auf einem Port lesen und schreiben, der > zweite kann nur lesen. Für ein FIFO ausreichend. Stichwort dazu: XAPP464
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.