Glaube an Versal Gen2: Problem mit constraints

OP #8089124
Lesenswert?

AMD hat keine Anleitung wie man genau LPDDR5 an Versal Gen2 anbinden soll. Die Lösung ist Vivado mit IO Wizard, da kommen dann richtige pin constraints raus. Problem ist bei IO Wizard geht dual rank nicht mit SSVA1440 Gehäuse weil da einige Banks mit nur jeweils 3 oder 5 pins sind. Wir haben versucht die CS[2] und cs[3] in das kleine bank manuell zu zuweisen aber es kommt immer Fehler.

von AMD support kommt email mit link auf Answer Record: https://adaptivesupport.amd.com/s/article/000040410?language=en_US

Ich probiere es aus, I/O Wizard roter Fehler, kann nicht zuweisen. Aufgeben? Oder glauben: es muss ja gehen?

Letzter versuch Heute:

  1. alle LPDDR5 constraints löschen!!!
  2. In LPDDR5 Wizard packed: links dann rechts auswählen
  3. Synthese
  4. magisches TCL von Answer record mit angepassten cell namen
  5. I/O Wizard

Und unglaublich, es ist möglich in I/O Wizard die Zuweisung zu machen, und kein Fehler. Und generate PDI geht durch, keine Fehler. Wenn AMD sagt es geht, dann muss man denen glauben, und solange versuchen bis es geht. Mein Fehler war das die richtigen single rank constraints schon da waren. Man sollte von neuen design starten oder constraints löschen. Nicht aufgeben!

OP #8089474
Lesenswert?

Antti L. schrieb:

AMD hat keine Anleitung wie man genau LPDDR5 an Versal Gen2

..

magisches TCL von Answer record mit angepassten cell namen

Man muss glauben, und man muss auch Glück haben:

Wir haben "altes" single rank Vivado design was ohne Fehler durchläuft. Die pins da sind aber nicht diejenigen was wir in Altium Designer haben. Wenn ich diesen design zu dual rank wandle, und die constraints für CS[2], CS[3] setzte wo der wizard die setzen würde kommt fehler! Magisches TCL ändert hier nichts.

Wir haben "neues" dual rank design was ohne Fehler durchläuft, aber auch mit pins die nicht von Altium sind. Die sind auch nicht die gleichen pins wie in "alten" design.

Jetzt das glück moment: wenn wir die pins von Altium in das "neue" design eintragen läuft der auch ohne Fehler durch! Das heisst unser PCB design ist validiert. Aber von wo kommen die pins in Altium? Nicht von "alten" Vivado design.

Es scheint das es mindestens drei unterschiedliche CA[x] mappings gibt die ohne Fehler laufen. Unser glück war das 3te mapping das war was wir in PCB schon geroutet hatten!

Für alle: Bei AMD PCB design IMMER Vivado durchbauen mit richtigen pin constraints.

(Firma: Starfleet) #8089517
Lesenswert?

Das erinnert mich an die Krämpfe ein durch das PCB vorgegebenes PinOut für ein Speicherinterface (war wohl DDR3) in Quartus-Designflow für ein Cyclone10 LP Design zu bringen. Da brachen auch ständig die tools mit einer Fehlermeldung bezüglich placement (?) oder zuviel noise bei gleichzeitig schaltenden Outputs (SSO ?) ab und erst mit einem Magischen Constraint (irgendein Parameter auf eine mehrstellige Zahl setzen) lief das Ganze durch, weil die Fehlermeldung unterdrückt wurde.

Also wie oben beschrieben, nach den Tools soll man erst ein Speicherinterface mit automatischer Pinzuweisung in den FPGA-tools machen und nach diesen Pinconstraints das PCB-Layout (bspw. mit Altium machen). Also erst das FPGA-Design machen, dann das PCB. Normalerweise macht(e) man das anders, während das Layout in der Fertigung ist (ca. zwei Wochen), bereitet man das FPGA-Design für die Inbetriebnahme vor. Also bei schnellen Speicherinterfacen sollte man sich wohl strikt an Referenz/Eval-boards vom Hersteller halten, was schwierig ist, wenn man neueste Technologien einsetzt für die es wenige/keine referenzdesigns gibt. Oder man plannt einen Layout Re-Spin ein.

PS: (siehe Anhang) Wie sich später herausstellte wollte intel schlicht verhindern, das jemand diesen LowCost FPGA mit DDR2/3 betreibt, obwohl das dem timing nach möglich ist. Wenn man das will sollte man doch bitte einen anderen FPGA nehmen, keinen Cyclone10 LP.

Angehängte Dateien:
OP #8089787
Lesenswert?

Bradward B. schrieb:

Wie sich später herausstellte wollte intel schlicht verhindern, das jemand diesen LowCost FPGA mit DDR2/3 betreibt, obwohl das dem timing nach möglich ist. Wenn man das will sollte man doch bitte einen anderen FPGA nehmen, keinen Cyclone10 LP.

Altera hat es wider getan mit Agilex 3/5, da gibt es restrictionen wo single ended und LVDS sein können. Wenn du pech hast geben tools ein fehler, und den wirst du nicht weg mit magishen constraint oder so.

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