Wer mit Xilinx FPGAs anfängt, der braucht früher oder später mal ein RAM.
Jetzt gibt es in diesen FPGAs zwei Möglichkeiten, ein RAM zu realisieren:
1) als Distributed RAM, bei dem (wertvolle) LUTs als 16x1 Speicherblöcke
zusammengeschaltet werden, oder
2) als BRAM (auch Block-RAM genannt), die je nach FPGA unterschiedlich
große synchrone RAM-Blöcke darstellen
Grundsätzlich wird ein RAM als Array in VHDL so beschrieben:
type speicher is array(0 to (2**Addrbreite)-1) of STD_LOGIC_VECTOR(Wortbreite-1 downto 0);
signal memory : speicher;
Wie kann man aber nun, ausgehend von einer generischen Beschreibung eines RAM-Arrays, steuern welchen RAM-Typ man bekommt?
Wenn die Lese-Adresse getaktet ist,
dann gibt es synchrones BRAM.
"RAM" vollständig lesen »
vorherige Seite