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
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. - ...?
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.
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.
:
Bearbeitet durch User
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:-)
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
Vielen Dank für die Antworten. Es scheint also nicht komplett unmöglich zu sein :). Es muss ja nicht gleich DDR sein. Das hier habe ich gerade auch noch gefunden: https://www.enterpoint.co.uk/products/altera-soc/larg-2/ Was ich bis jetzt nirgendwo gesehen habe ist ein IP der irgendeinen RAM realisiert. Hat jemand soetwas schonmal gefunden? Gruß, gattler
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.
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
Vielen Dank! Ich nehme mal an der Code dazu ist nicht öffentlich verfügbar?
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.
Kaum anzunehmen, zumal solche Patente meistens gekauft werden, um sie nicht an einen anderen gehen zu lassen, damit man seine Sachen, die minderwertig sind, weiter abverkaufen kann.
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.
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.