www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Distributed RAM


Autor: Frager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Kann mir jemand erklären wie Distributed RAM unter Nutzung von LUTs 
funktioniert? Also nicht wie man das erstellt, corgen kann das ja 
soweit, sondern was da passiert. Ein 16x32(Tiefe x Weite)-Bit-Distr-RAM 
braucht z.B. 32 FF und 32 LUTs. Wie werden die genutzt bzw. die 16 
32-Bit-Werte gespeichert?

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Frager

>Kann mir jemand erklären wie Distributed RAM unter Nutzung von LUTs
>funktioniert? Also nicht wie man das erstellt, corgen kann das ja

Eine LUT kann als 16x1 Single Port RAM benutzt werden. Zwei LUTs können 
im Verbund als quasi 16x1 Dual Port RAM benutzt werden (der zweite Port 
kann nur lesen).
Daraus lässt sich leicht errechnen, dass für einen 16x32 Bit RAM eben 32 
LUTs benötigt werden. Die Flipflops werden meist vom Coregenerator 
drangemacht, damit sich der RAM wie synchoner RAM verhält (Daten können 
nicht kombinatorisch gelesen werden, erst mit der Taktflanke). Das 
bringt Geschwindigkeitsvorteile. Kann man aber auch ausschalten, dann 
kann kombinatorisch gelesen werden, so wie SRAM. Der Schreibzugriff ist 
immer synchron (als mit Takt).

MfG
Falk

P.S. Ach ja, das ganze geht nur bei Xilinx (weil die die Patente haben).

Autor: jf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>>>P.S. Ach ja, das ganze geht nur bei Xilinx (weil die die Patente haben).

Das ist Unsinn. Geht auch bei Lattice.

Autor: Frager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, danke soweit, das mein ich aber nicht ganz. Ich würde eben gern 
wissen wie das möglich ist. Wird das LUT dann so konfguriert, das die 
vier Eingänge einen bestimmten Ausgang erzeugen, also quasi das was man 
sonst als kombinatorische Funktion nutzt einfach als Speicher?
Das hieße der 32-Bit-Wert wird bitweise auf 32 LUTs verteilt und bei 
jedem Schreiben müssen alle LUTs neu geschrieben werden?

Autor: Lothar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Frager: ein FPGA von Xilinx (Lattice, Altera) ist nichts anderes als 
ein SRAM. Und weil eine LUT ein Teil eines FPGAs ist, ist die LUT auch 
nichts anderes als ein SRAM.

Normalerweise wird jetzt in einer LUT eine beliebige kombinatorische 
Funktion mit 4 Eingängen und 1 Ausgang abgebildet. Standard in einer 
FPGA-LUT ist also: 4 Adress-Leitungen und ein Daten-Ausgang.
Ja, und jetzt fehlt nicht mehr viel zum RAM: nur noch ein Daten-Eingang. 
Und da schaltet das FPGA die LUT in einen anderen Modus: schon haben wir 
keine LUT sondern ein richtiges klitzekleines RAM mit Eingang, Ausgang 
und 4-Bit-Adresse.

Das wars dann schon.

OK, wenn man punktgenau wissen will, was da intern wirklich abgeht, muss 
man schon mal die entsprechenden Patente studieren (aber da könnte man 
gleich beim MuxF5, MuxF6 und der Carry-Chain weitermachen).
So eine LUT lässt sich übrigens auch prima als Schieberegister mit bis 
zu 16 Bit Länge verwenden (das ist dann wieder ein anderer Modus für die 
LUT).

Autor: Paule (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meines Wissens steckt das zum RAM benötigte FF schon in den Zellen drin. 
Wenn die Logikzelle also durch ein LUT belegt ist, ist das FF auch weg 
oder adners herum gesehen, die Nutzung einer LUT-Zelle als RAM braucht 
kein zusaetzliches FF.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.