Hallo, ich brauch für mein neues Projekt etwas mehr und schnelleren Ram. Da wollt ich mich an Drams ranwagen. Da Drams nicht mehr so einfach zu bekommen sind und auch nciht die größten sind, wollte ich SDrams verwenden. Zum Beispiel den MT48LC8M8A2 von Micron. Die Ansteuerung wollte ich nicht in den µC packen. Ich hätte lieber nen Interface, das die SDrams für meinen µC wie ein Sram aussehen lässt. Ich glaube nämlich nicht, dass ich es schaffe das RefreshTiming noch mit im µC unterzubringen. Außerdem wäre es so denke ich auch etwas sauberer. Mein Problem ist nur, ich bin nicht der beste in Verilog. Ich beherrsche zwar die Grundlagen, aber einen wirklich funktionierenden SDram Controller bekomme ich glaube ich nicht hin, bzw hab ihn bisher noch nicht zum funktionieren gebracht. Deswegen wollte ich fragen, ob es evtl jemand schon ein gutes Projekt kennt. Ich kenne die Sourcen von XESS und OpenCores, habe sie aber noch nicht zum synthetisieren gebracht. Vorallem die von OpenCores machen starke Probleme und passen auch nicht ganz zu dem was ich suche. Gut wäre es, wenn das in einem CPLD (XC9...) von Xilinx oder so untergebracht werden könnte. Kennt jemand vielleicht noch gute andere Projekte mit SDram Controllern, die sich synthetisieren lassen? Vielen dank für etwaige Antworten Gruß Chris
Ouch, sorry hatte OpenCores falsch eingestellt. Er hatte mir nur die als fertig gekennzeichneten Projekte angezeigt. Dafür könnt ich mich echt hauen. Habe jetzt zwei Projekte gefunden, die vielversprechend aussehen. Werde sie mal unter die Lupe nehmen. Falls jemand dennoch irgendwelche Vorschläge hat, immer her damit :) Die beiden Projekte die ich meine: http://www.opencores.org/projects.cgi/web/sdram/overview http://www.opencores.org/projects.cgi/web/mem_ctrl/overview
Ok ich habe mich mit beiden Projekten etwas befasst und habe festgestellt, dass ich keines von beiden zum laufen bekomme. Habe mich hauptsächlich mit dem ersten von beiden beschäftigt, da dies nicht so groß war. Ich bekomme es zwar wunderbar zum synthetisieren und so, allerdings ergibt die Simulation nicht das was sie sollte. ich habe auch schon ein bisschen daran rumgespielt, aber bisher keinen erfolg. Kennt vielleicht jemand, das sich synthetisieren lässt und so funktioniert wie es sollte? Gruß Chris
Die Teile bei opencores sollen teilweise nicht 100%ig gehen, aber die autoren bieten gegen bares nen funktionierenden ip an (hat unser vhdl-dozent gesagt).
Ui... das ist vielleicht spaßig... ich glaube da hätte ich fast selbst einen schreiben können... ich habe jetzt immerhin das behavioural model zum laufen gebracht, habs aber noch nicht mit nem model von micron gechekt ob alles einwandfrei läuft... aber die post fit version weigert sich immernoch... also vorschläge sind jederzeit gern gesehen... ne frage zum timing: ist es möglich 100mhz mit nem cpld zu erreichen? hab mich mit den datenblättern noch nicht befasst...
Wie schnell soll denn der RAM sein? Muss es SD-RAM sein oder ginge auch EDO? Bin ganz stolz, hab gestern EDO RAM am µC Mega16 in Betrieb genommen, war für mich als nob etwas knifflig aber letztlich kein großes Problem. Von wegen Refresh kann ich nur sagen ... mach dir keinen unnötigen Kopf drum. Hab durch Versuch festgestellt, das die Refreshzyklen auch im 5-6 Sekunden Bereich liegen können, ohne das bei mir Datenverluste eingetreten währen. Ansonsten brauchste nur 18 Pins für Daten und Adressen IO und 3 Pins für Ansteuerung WE, CAS, RAS. Die 18 IOs kannste auch anderweitig noch verwenden, solange Du die Steuerleitungen in Ruhe sprich high lässt. Extra RAM-Controller oder sonstiges Gesumse ziemlich unnötig. Ich vermute aber mal von der Betriebsspannung her wirds eng, meine DIMM laufen auf 5V, ob die auch tiefer gehen müsst ich erst noch testen
würde ich unterschreiben, als Dipl. Arbeit habe ich mal einen Digitizer gebaut mit TTL-Grab und DRAMs, erst wenn der Refresh >20s geschaltet wurde konnte man einige Pixelfehler sehen.
Also nunja... was heißt schnell... also ein Lesezugriff sollte nicht mehr als 90ns dauern. Ist für nen ARM Aber deine Ansteuerung des EDOs würde mich trotzdem mal interessieren Marko. Vielleicht lässt sie sich ja auf SDRAMs oder DRAMs übertragen. Ich kann zwar wie gesagt etwas Verliog(schreiben und lesen) und VHDL(nur lesen) Aber es direkt im µC zu machen wäre mir lieber.
DRAM's und Artverwandte sind weitaus komplexer in der Ansteuerung als SRAM. Falls es Kosten und Speicherdichte zulässt, sollte man SRAMS, vielleicht besser synchrone SRAM's einsetzen. Dein VHDL-Prof erzählt hinsichtlich opencores Mist. Die Designs laufen sehr wohl und sind oft von anderen weiter debuggt. Der SDRAM-controller auf opencores von Markus läuft auch besetns aber ist halt beschränkt (Burst-länge?). Die unbeschränkte Version wird als IP verkauft.
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.