Xilinx Constraint Problem mit externem Takt

OP (Firma: Projektleiter Medizinsoftware) #2766370
Lesenswert?

Ich habe ein Problem mit Xi constraints: Das Design kann nicht korrekt 
geroutet werden - irgendwo hängt er sich auf.

Ich habe das hier schon mal bezüglich der Outputs angesprochen:
Beitrag "Re: Spartan3 - DDR / DCM - Timing-Constraint-Probleme"

Mir ist nicht klar auf welchen Takt ich mich jeweils beziehen muss, 
damit XI versteht, was ich will.

In meinem Design habe ich inputmässig 2 Fälle:

Ich synchronsiere u.a. Schalterstellungen ein und habe diese in FFs 
registriert. Takt ist der Systemtakt im FPGA "Takt1" , der über einen 
DCM kommt. (QUARZ -> DCM -> TAKT1 , TAKT2 , TAKT3)

Praktisch sind "QUARZ" = 50MHz -> 20ns und TAKT1 = 150 MHz -> ~6ns

Wie muss das constraint beschaffen sein:

TIMEGRP "switches" OFFSET = IN 6.6 ns BEFORE "TAKT1" RISING oder die 
Bezugnahme auf den Eingangstakt

TIMEGRP "switches" OFFSET = IN 20 ns BEFORE "QUARZ" RISING  bzw

TIMEGRP "switches" OFFSET = IN 6,6 ns BEFORE "QUARZ" RISING?

Mir geht es einmal darum diese Schalterstellungen zeitlich zu 
entspannen, zum anderen darum, andere wichtige Signale genau zu 
spezifizieren.

Dies wäre dann Fall2:

Ich habe einen Datenbus mit seinem Clock, die nicht abgetastet werden, 
sondern die Register werden mit dem Takt geschrieben.

EXT_DATA (15 downto 0) -> FF-Dateneingang
EXT_CLOCK (125 MHz) -> FF-Takteingang

Wie constraine ich das?

Ich habe eine timegroup für die Daten und benutze den EXT_CLOCK als 
Bezug.

TIMEGRP "Data_INs" OFFSET = IN 4 ns BEFORE "EXT_CLOCK " RISING (Mitte 
des Bits, da 8ns Timespec).

Das wird auch gefressen, aber seither habe ich die Probleme oben.

Ich habe auch  TIGs gesetzt, kriege aber immer mehr Timing-Fehler.
Gast #2773097
Lesenswert?

R. K. schrieb:
> Mir geht es einmal darum diese Schalterstellungen zeitlich zu
> entspannen,

wozu?

R. K. schrieb:
> TIMEGRP "switches" OFFSET = IN 20 ns BEFORE "QUARZ" RISING  bzw
> TIMEGRP "switches" OFFSET = IN 6,6 ns BEFORE "QUARZ" RISING?

Soweit mir bekannt, müssen die Angaben immer auf den jeweiligen Tlt 
bezogen sein. Da der Quarz-Takt, also der Eingang der PLL benutzt wird, 
müssten die SPECs auch hinsichtlich des Offsets so beschaffen sein, also 
Vesion 1 stimmen.

Ich lasse mich aber gern vom Gegenteil überzeugen.
Gast #3142589
Lesenswert?

Ich habe ein ähnliches Problem mit zwei verschiedenen Eingangstakten, 
wobei der eine seine Daten mit der fallenden Flanke sendet. Damit kommen 
diese Daten bei mir dann mittenzentriert an.

Beide Takte nehmen somit (ohne PLL) ihre Daten in Register rein, daher 
verstehe ich das hier nicht:

Lothar Miller schrieb:
> Für Eingäng, die sowieso eingetaktet werden (wie zum Beispiel die
> erwähnten Schalter) gibt es ein TIG (timing ignore) Constraint. Das
> entspannt die Sache extrem... ;-)

Angenommen, ich habe die Daten mit ihren eigenen Takten drin, dann sind 
sie intern ja nun synchron. Wozu brauche ich dann das TIG? Wie sollte 
das "entspannend" wirken?

Das constraint gibt ihm doch vor, dass er die Daten in der valid-Zeit 
verarbeiten muss und Dank der Nutzung von IO-FFs sollte er das dann auch 
schaffen. Das constraint müsste dann lediglich geprüft werden.

Oder nicht?

Jetzt zur Frage:

Wie wäre es, wenn die Daten gemultiplext werden sollen?

Der ein Takt sendet auf 33MHz, der andere auf 48MHz. Beide Datenströme 
werden mit 100 MHz gesampelt und analysiert. Dann brauch ich ein TIG 
zwischen beiden Eingangstaken und dem Sampletakt.

Wie formuliere ich da?

Der Sampletakt kommt aus einer PLL mit eigenem Quarz und hat mit den 
Eingangstakten keinen Bezug.
Gast #3147053
Lesenswert?

CZM schrieb:
> Der ein Takt sendet auf 33MHz, der andere auf 48MHz. Beide Datenströme
> werden mit 100 MHz gesampelt und analysiert. Dann brauch ich ein TIG
> zwischen beiden Eingangstaken und dem Sampletakt.
Wenn Du die Eingangstakte absampelst, sind es keine Takte mehr, sondern 
nur noch ganz normale Signale.

Alternativ führst Du Deine Datenströme auf asynchrone FIFOs. Da wird mit 
externem Takt geschrieben und mit dem internen Takt gelesen. Und schon 
ist die Welt wieder synchron.

Duke

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