Forum: FPGA, VHDL & Co. Timing Constraints bei phasenverschobene Takten


von Mike G. (atom-dragon) Benutzerseite


Lesenswert?

Hi

Ich habe einen DDR2 Ram Controller geschrieben der auch wunderbar 
Funktioniert :)

Hab jetzt aber ein Problem, benutze 3 gegen einander Phasenverschobene 
Takte, einmal 0 Grad 200 MHz, 90 Grad 200 MHz und 180 Grad 200 MHz!

Alles ist so ausgelegt das es nicht notwendig ist das direkt aus dem 0 
Grad Bereich etwas nach einem Takt im 90 Grad Bereich verfügbar ist.

Das heißt es muss nicht nach 1,25 ns da sein sondern erst nach 6,25 ns!

Wie gesagt das Funktioniert auch aber ich würde das ganze auch gerne 
noch in Timing Constraints gießen ^^

Habe einzelne Constrains angelegt für die einzelnen unter Module aber 
würde liebe sagen das alle Signale aus dem Bereich mit 0 Grad im Bereich 
mit 90 Grad erst nach 6,25 ns angekommen sein müssen, nat. dann noch 
unter Beachtung von Setup und Hold Zeiten.

Gibt es da nicht eine ganz einfache Möglichkeit das ich pro Takt nur 
eine Constraint brauche ?

Gruß Max

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Maximilian Passarello schrieb:
> Hab jetzt aber ein Problem, benutze 3 gegen einander Phasenverschobene
> Takte, einmal 0 Grad 200 MHz, 90 Grad 200 MHz und 180 Grad 200 MHz!
Woher kommen diese Takte?
Aus einem FPGA-interen Taktmanager?

von Mike G. (atom-dragon) Benutzerseite


Lesenswert?

Jab alle aus einem Virtex 5 PLL!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dann musst du ausser dem angeschlossenem Quarztakt nichts angeben. Die 
abgeleiteten Takte und die resultierenden Zeiten sind der Toolchain 
bakannt (die hat ja ein Modell des Taktmanagers vorliegen).

von Jan M. (mueschel)


Lesenswert?

Wenn ich Maximilian richtig verstehe, geht es ja gerade darum, diese 
default-constraints zu ändern um dem Signal mehr Zeit für den Übergang 
zu geben.

Ich habe in letzter Zeit zu wenig mit Xilinx gearbeitet, aber bei 
Lattice würde die zugehörige Constraint so aussehen:

MULTICYCLE "M" START CLKNET "CLK_0" END CLKNET "CLK_90" 2.0 X ;

von Mike G. (atom-dragon) Benutzerseite


Lesenswert?

Genau so wie Jan es sagt hätte ich es gerne!

Aber so wie ich es bis jetzt gesehen habe kann man bei Xilinx das ganze 
nicht für Takt Domänen sondern nur für einzelne Module angeben!

Da die Takte aber nur im DDR2 Controller genutzt werden würde es alles 
vereinfachen wenn ich es nur für die Takte angeben könnte :)

Gruß Max

von Hans (Gast)


Lesenswert?

Ich meine, es gab so ein TIG constraint. Ich habe mal was Ähnliches 
machen müssen.

von Joe (Gast)


Lesenswert?

>Ich habe einen DDR2 Ram Controller geschrieben der auch wunderbar
>Funktioniert :)

Nur in der Simulation oder auch in Echtzeit?

von Max (Gast)


Lesenswert?

Hi

Auch wirklich auf meinem Eval. Board, ein Digilent Genesys!

Gruß Max

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
Noch kein Account? Hier anmelden.