Forum: FPGA, VHDL & Co. FPGAs vs DRAM heute?


von Martin G. (Firma: http://www.gyurma.de) (martin_g)


Lesenswert?

Hi!

Hab mal über die Anfänge von den FPGAs gelesen und drüber nachgedacht.

Im Grunde sind ja FPGAs mit ihren Innereien nix anderes als 
programmierbare logikbausteine, die auch Statusmaschinen sein können, 
meistens auch Rückkopplungen, Eingänge und Ausgänge haben.

Am einfachsten wäre das ja mit einem RAM Baustein lösbar in dem die 
Adressenleitungen die Eingänge bedeuten, und die Datenpins die Ausgänge. 
Jeder Zustand ist darin frei einprogrammierbar, und man kann jede 
beliebige komplizierte Funktion verwirklichen, vor allem, wenn auch die 
Ausgänge rückgekoppelt zu den Eingängen kommen.

Vor langer Zeit ist das daran gescheitert, daß man dafür riesige RAMs 
gebraucht hätte, die man nicht hatte. Aber heute? Heute ist RAM fast 
kostenlos.

Was kann man eigentlich in einen 16GByte DRAM Riegel unterbringen?
Welcher FPGA-größe würde das entsprechen?
Wie war das nochmal mit der Adressierung der DRAMs?

von Christian R. (supachris)


Lesenswert?

Dieser Vergleich hinkt gewaltig auf allen Beinen. In einem RAM kann man 
allerhöchstens eine Logik Ebene unterbringen, was anderes ist eind LUT 
im FPGA ja auch nicht. Aber schon Rückkopplung und FlipFlops gehen da 
nicht, von allen anderen FPGA Features wie Clock Manager, Transceiver 
usw mal ganz abgesehen. Die komplexe Ansteuerung eines DRAM verhindert 
sowas sowieso.

von Helmut S. (helmuts)


Lesenswert?

16GB/64 = 256MB = 28 Adressleitungen

Nehmen wir mal an wir benötigen 12 davon für Rückführungen, dann bleiben 
gerade mal noch 16 Eingnänge übrig.
Umd das RAM ansteuern benötigen wir allerdings einen zusätzlichen 
Baustein(FPGA), weil man heutige RAMs mit Kommandos und Daten füttern 
muss damit die überhaupt etwas tun.

Fazit:
Ein Mega-Aufwand für gerade mal 16 Eingänge  und nur simple logische 
Funktionen und simple Zustandsautomaten. Im Hintergrund benötigen wir 
dann auch noch 16GB Flash-Memory zum laden.

.

von Falk B. (falk)


Lesenswert?

@ Martin G. (Firma: http://www.gyurma.de) (martin_g)

>Am einfachsten wäre das ja mit einem RAM Baustein lösbar

Nö, einem EEPROM oder FLash. Das wurde vor 20 Jahren als Workaround in 
Bastlerkreisen gemacht.

>in dem die
>Adressenleitungen die Eingänge bedeuten, und die Datenpins die Ausgänge.
>Jeder Zustand ist darin frei einprogrammierbar, und man kann jede
>beliebige komplizierte Funktion verwirklichen, vor allem, wenn auch die
>Ausgänge rückgekoppelt zu den Eingängen kommen.

Stimmt, aber diese Lösung wird immer ineffizineter, je größer die Breite 
es Eingangsvektors wird. Es hat schon seinen Grund, warum man es nicht 
so macht. Da haben viele kluge Leute lange überlegt und nachgerechnet.

>gebraucht hätte, die man nicht hatte. Aber heute? Heute ist RAM fast
>kostenlos.

Sehr billig, weshalb er auch von Softwerkern gern verschwendet wird 8-0

>Was kann man eigentlich in einen 16GByte DRAM Riegel unterbringen?
>Welcher FPGA-größe würde das entsprechen?

Du wärst SEHR enttäuscht. Selbst das kleinste FPGA von heute kann 
deutlich mehr Logik unterbringen als ein 16 GB RAM.

>Wie war das nochmal mit der Adressierung der DRAMs?

Das ist das nächste Problem. Moderner SDRAM ala DDR3, DDR4 ist nicht 
mehr  mit dem guten, alten SRAM von vor 20 Jahren vergleichbar, eine 
direkte Rückkopplung der Ausgänge auf die Adressen ist nicht möglich, 
denn die Ansteuerung dieser RAMs ist komplex und vor allem mit viel 
Pipelining/Burstmode verbunden.

von Sigi (Gast)


Lesenswert?

Ein einfacherer Vergleich wäre zunächst mal FPGA<=>SRAM:
Beim SRAM wird immer nur ein Datenwort (z.B. 16/32 oder
bei paralleler Schaltung >=64 Bits) zu einem Zeitpunkt
gelesen oder geschrieben, beim FPGA dagegen im Extremfall
ALLE, Du hast also "absolute Parallelität" gegen "totale
Serialität". Oder etwas mathematischer ausgedrückt: Du
hättest beim SRAM eine extrem magere Topologie, beim FPGA
eine extrem "dichte" Topologie. Einzige Einschränkung ist
immer die Anzahl Pins.
Deim DRAM kommt noch hinzu, dass es einen Refresh-Mechanismus
hat, d.h. noch unflexibler wird.

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.