Hallo, Ich habe hier ein Spartan3e Starter Kit und moechte gerne das RAM darauf benutzen -- und zwar nicht via OPB fuer den Microblaze, sondern fuer eine eigene Schaltung. Nach einigen Umwegen bin ich zu der Ueberzeugung gekommen, dass es wohl am sichersten ist, wenn ich den MIG von der Xilinx Seite benutze. Aber auch dabei stellen sich einige Probleme ein: 1) Habe ISE 8.1.03i installiert, zusaetzlich das MIG Paket. Im CoreGenerator erscheint auch MIG, aber bei "customize" passiert einfach gar nichts (Unter Windows & Linux). 2) Ich habe mal die Verziechnisse des CoreGenerators durchstoebert, und da auch die MIG.exe gefunden. Dem Tool habe ich eine Datei als Eingabe gegeben, die sagt dass ich einen xc3s500e-fg320-4 habe -- es startet dann auch, ich kann mir RAM aussuchen und es generiert mir auch VHDL Files. Aber: Ich kann nirgends waehlen welche Signale auf welchen Pins liegen, und ueberhaupt werde ich aus den generierten Files nicht ganz schlau. Lange Rede, kurze Frage: Hat jemand von euch irgendein demo-design, das DDR RAM auf dem Starter Kit benutzt, und das nicht mit dem System-Builder fuer Miroblaze gebaut wurde? Vielen Danker schonmal, joerg PS: sorry for repost! -- Aber offenbar kann ich HTML Formulare nicht bedienen :(
#Aber: Ich kann nirgends waehlen welche Signale auf welchen Pins #liegen, Das macht man im *.ucf file oder per Klickkacki im pace . bei den generierten files sollte eine Vorlage (Template) in vhdl sein die du in dein design als component einbindest. Ferner eine netzliste (*.ngc (?) *.edn (?)) . Die wird während der Implementierung (ngdbuilt) automatisch in den FPGA eingebunden. Also das gleiche prinzip wie für jedes module aus dem Coregen (hoffe ich), so dass du auch bei den tutorials für den coregen nachschlagen kannst.
##Aber: Ich kann nirgends waehlen welche Signale auf welchen Pins ##liegen, #Das macht man im *.ucf file oder per Klickkacki im pace . Aber Coregen schreibt mir schon eine riesige .ucf, in der ganz viele contraints stehen: === [..] ############################################################# ## constraints for bit cntrl0_DDR_DQS, 0, location in tile: 0 NET "cntrl0_DDR_DQS[0]" LOC = N4; ## LUT location constraints for col 0 INST "main_00/top0/data_path0/data_read_controller0/dqs_delay0_col0/one" LOC = SLICE_X2Y17; INST "main_00/top0/data_path0/data_read_controller0/dqs_delay0_col0/one" BEL = F; INST "main_00/top0/data_path0/data_read_controller0/dqs_delay0_col0/two" LOC = SLICE_X2Y17; [..] === D.h. coregen schreibt die LUT belegung fuer (fast jede?) Logikzelle schon ins *.ucf; da kann ich doch jetzt nicht einfach die IO/Pins verlegen ohne dass das Timing kaputt geht, oder? joerg
Zu Dokumentationszwecken: Ich habe mit dem Xilinx-Support gemailed, und die haben mir einen speziell fuer das S3E StarterKit zugeschnittenen DDR Controller zugeschickt. MIG 1.5 kann den DDR Controller nicht generieren, da er die noetiger verteilung der Pins auf die IO-Banks gar nicht unterstuetzt. => Xilinx fragen, die schicken einem das. j.
Wieder was gelernt, bisher kannte ich nur den Xilinx PCI-Core als den Core der ein festes pinning verlangt. Jetzt kommt der DDR Mem-Controller dazu, bei dem sich das PCB-layout (pinning) nach dem Core zu richten hat. (oder Xilinx schickt einem den modifizierten Core) Langsam stimmt das mit den flexiblen User-I/O Pins nicht mehr :-( . Experimentell könnte man im generierten ucf zuerst die PIN-locations ändern ändern und schauen ob der PAR timing fehler meldet. Vorausgesetzt die richting timing constraints stehen im *.ucf. Wenns nicht klappt LOC-constraints für die slices im MemController auskommentieren. Am besten zuerst die die zu den Pins gehen (falls das im Core-ucf erkenntlich ist). Und Xilinx hat bei anderen cores die Möglichkeit relative LOCATION- constraints zu vergeben, also den Block im Ganzen innerhalb des FPGA's zu verschieben. Kollege hat mächtig gekämpft einen DDR-Controller mit korrektem timing zu schaffen, er hat dann manuell geplaced und geroutet (den Teil zu den Pins hin). Wäre schön wenn xilinx da 'ne flexible Lösung schafft.
Gerade heute habe ich im google FPGA Forum gelesen, daß der neue MIG ein speziell auf das Starterkit zugeschnittene DEsign liefert. Nur, wie kriege ich den MIG (ans LAufen)? Ich finde weit und breit keinen im CORE Generator.
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.