DDR Modul mittels FPGA bauen

Gast #4904472
Lesenswert?

Hi,

ist es möglich mit soetwas hier: 
https://www.xilinx.com/products/boards-and-kits/1-2ajpg7.html

ein DDR Modul zu bauen?

Ich würde gerne mittels des FPGA z.B. die Zugriffe des Host-PC's auf dem 
Speicher analysieren. Dazu brauche würde ich gerne einen FPGA nehmen der 
in einen DIMM Slot passt und vom Host system als ganz normaler Speicher 
genutzt werden kann (Es muss nicht performant sein).

Gibt es dazu vielleicht schon einen IP Core?

Vielen Dank schonmal für eure Antworten.

Schöne Grüße,

Gattler
Gast #4904494
Lesenswert?

gattler schrieb:
> ist es möglich mit soetwas hier:
> https://www.xilinx.com/products/boards-and-kits/1-2ajpg7.html
>
> ein DDR Modul zu bauen?

Das Pinout des eines Speichermoduls und dieses FPGA-Moduls sind 
höchstwahrscheinlich nicht gleich, also wäre ein eigenes Board fällig.


> Ich würde gerne mittels des FPGA z.B. die Zugriffe des Host-PC's auf dem
> Speicher analysieren. Dazu brauche würde ich gerne einen FPGA nehmen der
> in einen DIMM Slot passt und vom Host system als ganz normaler Speicher
> genutzt werden kann (Es muss nicht performant sein).

Naja, performant müsste es insofern schon sein, dass Dein FPGA-System 
das vom Host-PC erwartete Timing erreicht.


> Gibt es dazu vielleicht schon einen IP Core?

Ich kann mir jetzt aus dem Stegreif keinen wirklich sinnvollen 
Einsatzzweck vorstellen, daher dürfte es da eher mau aussehen.


Was willst Du denn genau analysieren?
- Wie die Zugriffe aussehen? --> Das steht im Datenblatt des 
RAM-Bausteins.
- Adressen und Daten mitloggen? --> Wozu? Das wäre im Debugger auf dem 
Host-PC einfacher, zudem würde der Dir die Adressen schon "lesbar" 
aufbereiten.
- ...?
Persönliche Seite #4904535
Lesenswert?

mh schrieb:

> Das Pinout des eines Speichermoduls und dieses FPGA-Moduls sind
> höchstwahrscheinlich nicht gleich,

Die können nicht gleich sein, weil das FPGA sonst keine Funktion hätte 
:-)
Diese Module kommen von Enclustra und die Nutzung des SO DIMM als Sockel 
ist willkürlich, hat mit dem DDR nichts zu tun.

Wenn das ein Analyzer werden soll, muss man schwer nachdenken:

Die FPGAs können bei Weitem nicht die Bandbreite eines Modules 
verarbeiten, von daher könnte ein einfaches System weder die Menge noch 
die Gewschwindigkeit eines echten DDR emulieren. Die Breite und Tiefe 
liessen sich gebenenfalls über Time Multiplex erreichen. Ich kann mir 
vorstellen, dass die Mainboardhersteller solche Emulatoren haben.

Die Daten müssen irgendwie raus. Daher muss man einen Kanal oder einen 
Speicherbereich reservieren, um das, was man mit dem Modul machen will, 
zu parametrieren und zu analysieren. Oder man braucht eine weitere 
Anschlussmöglichkeit über die Luft hinweg ohne die Platine.

Besser wäre wohl ein Stecksockel, der nur Leitungen hat und an dem ein 
Analyzer dranhängt. Liefe auf einen echten LA hinaus. Parallel DDR 
beschreiben, geht dann halt nicht.
Persönliche Seite #4904714
Lesenswert?

gattler schrieb:
> Ich würde gerne mittels des FPGA z.B. die Zugriffe des Host-PC's auf dem
> Speicher analysieren.

Ich hab sowas mal als Uni-Projekt gebastelt ... Da hatte ich einen 
SDRAM-Kommando-Dekoder in VHDL implementiert. Der Kommando-Dekoder hat 
mitgezählt, auf welche Speicheradressen zugegriffen wird. Die Platine 
mit FPGA wurde auf ein SDRAM gesetzt und an die Leitungen des 
Speichermoduls angeschlossen.

Kerneltreiber hatte dann ein anderer geschrieben.

Lief mit 100MHz problemlos (unglaublich, aber wahr).

Bei DDR stelle ich mir das aber schwieriger vor.

Hier noch ein Video: https://www.youtube.com/watch?v=_bvcvUe8xXc

Man konnte da auch reinzoomen bis auf ich glaube 4k Auflösung.
Angehängte Dateien:
Persönliche Seite #4904741
Lesenswert?

Jürgen S. schrieb:
> Mampf F. schrieb:
>> Bei DDR stelle ich mir das aber schwieriger vor.
> Ja, das DDR-Timing besonders bei DDR4 mit aktuellen Raten könnte ein
> klein wenig anspruchsvoller werden:-)

Es gab da bei Qimonda mal eine Doktorarbeit, wo es um Analyse von DDR 
ging. Soweit ich mich erinnern kann, waren das etliche Rechner, die 
verkabelt waren und Gigabytes an Daten mit einer kranken Datenrate 
abspeichern mussten :)

Falls Georg mitliest, kann er sicher mehr dazu sagen xD
Gast #4905214
Lesenswert?

Mampf F. schrieb:
> Es gab da bei Qimonda mal eine Doktorarbeit, wo es um Analyse von DDR
> ging. Soweit ich mich erinnern kann, waren das etliche Rechner, die
> verkabelt waren und Gigabytes an Daten mit einer kranken Datenrate
> abspeichern mussten :)
>
> Falls Georg mitliest, kann er sicher mehr dazu sagen xD

Bin zwar nicht Georg, aber: ja das war mal so :-)

Die letzte Version lief bis DDR3 800MHz Taktfrequenz. Oben ein Foto vom 
Aufbau (das DRAM-Modul sitzt auf einer risercard, die mit dem FPGA-Modul 
verbunden ist). Das Rechner-Rack ist nicht gezeigt, es hat die Daten per 
10Gbit Ethernet empfangen und auf Festplatten verteilt.

Das Trace umfasste allerdings nur die Kommandos/Adressen, für die Daten 
(die mit 2*800MHz schalten) hätte weder die Erfassung mit dem Virtex 
noch die Bandbreite des Netzwerks ausgereicht.
Angehängte Dateien:
Gast #4905235
Lesenswert?

zur DDR3-Version gibt es keine Veröffentlichung. Die wurde aus der 
Konkursmasse von Qimonda nach Korea verkauft. Zur DDR2-Version, die ja 
wie von Mampf geschrieben aus einer Doktorarbeit hervorging, gibt es 
etwas Literatur:

Simon Albert: Development of a fast DRAM Analyzer and Measurement of 
Typical and Critical Memory Access Sequences in Applications. 
Dissertation TU München, 2008

Manuel Harrant: Verifizierung und Entwicklung einer Analyse-Karte für 
SDRAM-Module mit DDR3-Schnittstelle. Bachelorarbeit Fachhochschule 
München, 2008

Simon Albert, Sven Kalms, Christian Weiss, Achim Schramm: Acquisition 
and evaluation of long DDR2-SDRAM access sequences. In Proceedings of 
the IEEE International Symposium on Performance Analysis of Systems and 
Software 2006, pages 242-250, Austin Texas, March 2006
Gast #4905299
Lesenswert?

gattler schrieb:
> Ich nehme mal an der Code dazu ist nicht öffentlich
> verfügbar?

Wie gesagt: die Rechte daran hat sich eine koreanische Firma gekauft 
(und eine nennenswerte Summe dafür ausgegeben).

Ich gehe zwar eher nicht davon aus, dass die hier mitlesen. Aber wenn es 
jemand veröffentlichen wollte, dann müssten die das tun.
Gast #4908350
Lesenswert?

gattler schrieb:
> Es scheint also nicht komplett unmöglich zu sein :). Es muss ja nicht
> gleich DDR sein.

Wenn es nicht DDR sein soll, was dann sonst? DDR IST die beherrschende 
Architektur, die auch die einzige wäre, die man analysieren können muss, 
weil da ein komplexes Timing vorliegt. Der Rest ist ja trivial.

Ein SRAM kannst Du im FPGA in 30 Sekunden instanziieren.

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