Hallo zusammen,
ich setzte mich gerade mit einem DDR2 Interface auf einem Virtex5
auseinender. hier die Randbedingungen:
Eval-Board: ML505
MIG 2.3
ISE 10.1 SP3
auf dem Board befindet sich ein DDR2 RAM. Über MIG habe ich mir ein
IP-Core generieren lassen. Ich habe die Bänke soweit an den Schaltplan
des ML505 angepasst. Da ich ja allerdings im MIG Design die gleiche
Pin-Belegung wie auf dem ML505 benötige, habe ich das UCF File
abgeändert und dem Schaltplan des ML505 soweit angepasst.
Anschließend habe ich über MIG die Option "Update Design" gewählt um
mein abgeändertes UCF verifizieren zu lassen.
soweit auch alles gut und recht. Das neue Pinning ist im Update auch
übernommen. Allerdings ist mir aufgefallen, dass die Local Constraints
nicht mit den I/Os geupdatet wurden und immer noch dieselben wie im
ursprünglichen(von MIG generierten) UCF sind.
Als ich den Controller auf das Board aufgespielt habe, haben die
einzelnen Takte des Conttrollers (clk, clk90,...) auch gelockt und alle
Reset-Signale sind auf LOW (wie's auch sein sollte). die Kalibrierung
ist allerdings nicht gestartet (habe die einzelnen Kalibrierungsstufen
auf LEDs nach außen geführt-die blieben alle aus).
Vlt. kann mir ja jemand mit meinem Problem weiterhelfen, wie ich den
Core und letztendlich das ganze Interface zum Laufen bringe. Ich steh
grad bissl auf dem Schlauch. Ich schätze, dass es was mit den Local
Constraints zu tun hat.
Danke schon mal im Voraus
MfG Thomas
thomas schrieb:> MIG 2.3> ISE 10.1 SP3
Antik ;-)
> soweit auch alles gut und recht. Das neue Pinning ist im Update auch> übernommen. Allerdings ist mir aufgefallen, dass die Local Constraints> nicht mit den I/Os geupdatet wurden und immer noch dieselben wie im> ursprünglichen(von MIG generierten) UCF sind.
Was meinst Du mit "Local Constraints"? Etwa die Pin-Locations ("LOC")?
Deine geänderten Pins wurden in die MIG-GUI übernommen? In welchem UCF
sind jetzt wieder die alten (wurde überhaupt ein neues UCF
geschrieben?)?
Manchmal ganz blöd: Welches UCF ist im Projekt eingebunden? Evtl. im
falschen geändert (ich hatte da schon die tollsten Dinge mit verdeckt
eingebundenen UCFs, allerdings in der 12)? Nach Place & Route am besten
das Pinning überprüfen.
> Als ich den Controller auf das Board aufgespielt habe, haben die> einzelnen Takte des Conttrollers (clk, clk90,...) auch gelockt und alle> Reset-Signale sind auf LOW (wie's auch sein sollte). die Kalibrierung> ist allerdings nicht gestartet (habe die einzelnen Kalibrierungsstufen> auf LEDs nach außen geführt-die blieben alle aus).
Ja, wenn die Pins nicht richtig liegen, funktioniert die Kalibrierung
natürlich nicht.
Ist beim Board ein Beispielprojekt dabei, dass Du weiterverwenden
kannst?
servus Rudolph,
ich weiß, dass das nicht die neueste Version ist, allderdings hab ich
von der halt die Vollversion... (und ein Downgrade funktioniert nun mal
nicht!!!)
Tut hier ja allerdings nichts zur Sache...
Wenn ich ein Update des Designs mache, wird die abgeänderte UCF
übernommen. Allerdings ändere ich da nur die I/Os (also alle LOC). Muss
diese ja an das ML 505 Pinning anpassen.
Somit habe ich ein komplett neues Design mit meiner abgeänderten UCF.
Alldergins sind da noch RLOCs für die jeweiligen DQs (Datenpins)
enthalten. Die ändere ich allerdings bisher noch nicht.
Deswegen meine Frage, ob ich, wenn ich meine I/Os ändere, diese auch
ändern sollte, und wenn ja, wie!?? Die besitzen ja nur x,y-Koordinaten,
welche die relative Platzierung der CLBs zueinander angibt.
Das Design läuft auch bis zu Place&Route problemlos durch...
Habs ja auch schon mal auf das Board aufgespielt.
Dass die Kalibrierung nicht funktioniert ist mir auch klar-sonst wär ich
ja wohl nicht hier ;-)
Ich habe kein Beispielprojekt oder ähnliches bisher zu dem Board
gefunden.
Danke für deine/eure Hilfe
Thomas
Thomas schrieb:> Alldergins sind da noch RLOCs für die jeweiligen DQs (Datenpins)> enthalten. Die ändere ich allerdings bisher noch nicht.> Deswegen meine Frage, ob ich, wenn ich meine I/Os ändere, diese auch> ändern sollte, und wenn ja, wie!?? Die besitzen ja nur x,y-Koordinaten,> welche die relative Platzierung der CLBs zueinander angibt.
Das sollte, WIMRE, eigentlich der MIG bei der "Update Design"-Funktion
machen.
> Ich habe kein Beispielprojekt oder ähnliches bisher zu dem Board> gefunden.http://www.xilinx.com/products/boards/ml505/reference_designs.htm
Da ist auch ein MIG-Design dabei. Der MIG hat aber auch die Möglichkeit
ein Design direkt für ein bestimmtes Eval-Board generieren zu lassen.
Das geht doch bestimmt auch für das ML505?
Rudolph schrieb:> Das sollte, WIMRE, eigentlich der MIG bei der "Update Design"-Funktion> machen.
Das hab ich auch gedacht-tut es aber anscheinend nicht. Hab mal von dem
ursprünglich generierten eine Backup gemacht und es dann mit dem neuen
UCF verglichen. sind immer noch die gleichen RLOC
Rudolph schrieb:> http://www.xilinx.com/products/boards/ml505/refere...>> Da ist auch ein MIG-Design dabei. Der MIG hat aber auch die Möglichkeit> ein Design direkt für ein bestimmtes Eval-Board generieren zu lassen.> Das geht doch bestimmt auch für das ML505?>
so weit war ich leider auch schon. Bei MIG lässt sich ein Design nur für
das ML561-ein spezielles Virtex5 EvalBoard für Speicher- erzeugen. für
meins allerdings nicht.
Ich kann im MIG auch nur die Bänke, die ich benutzen möchte, auswählen,
allerdings keine einzelne Pins zuweisen. (Ist ja auch normalerweise
sinnvoll, da sonst zu große Zeitverzögerungen zw. einzelnen Gruppen
auftreten).
Evtl häng ich auch an einem falchen Ansatz. Aber wie schon erwähnt,
Clocks werden alle erzeugt-hab sie mal auf 'nem Oszi angeschaut, und die
sahen alle ordentlich aus, also nix zu beanstanden.
Somit denke ich, dass es nur noch an falschen Constraints liegen kann...
Thomas schrieb:> Rudolph schrieb:>> http://www.xilinx.com/products/boards/ml505/refere...>>>> Da ist auch ein MIG-Design dabei. Der MIG hat aber auch die Möglichkeit>> ein Design direkt für ein bestimmtes Eval-Board generieren zu lassen.>> Das geht doch bestimmt auch für das ML505?>>> so weit war ich leider auch schon. Bei MIG lässt sich ein Design nur für> das ML561-ein spezielles Virtex5 EvalBoard für Speicher- erzeugen. für> meins allerdings nicht.
Ok. Dann bleibt immer noch das Reference-Design. Dessen UCF könntest Du
Dir einfach schnappen, bzw. mal mit Deinem vergleichen und gucken, was
anders ist. Guck Dir auch mal das "ML505 MIG Design Creation"-Dokument
an, da könnte z.B. der Verweis auf AR# 29313 interessant sein.
Wenn alle Stricke reißen: Das Webpack kann noch LX50T, Du könntest also
auch mit einer aktuellen Softwareversion arbeiten. Ist für die Reference
Designs gegebenenfalls interessant. Bei Virtex-5 und SODIMM streiche ich
sonst die Segel.