Probleme mit dem Routing von negiertem Takt

Gast #3094602
Lesenswert?

Für einen ODDR2 buffer brauche ich bekanntlich einen Takt und dessen 
Negation. Bislang führte ich immer den Takt an den C0 und ein weiteres 
mal über ein "not" an den C1, mitsamt der klassischen Belegung.

Problem: ISE bemängelt, dass diesen ODDR2 kein Buffer instnaziert sei 
und man dies per constraint tun solle.

Frage: Wo ist das Problem? Laut Xilinx Guide ist der Anschluss so i.O. 
Liegt es wieder an einer neuen Version?

Wenn ich es richtig sehe, muss der C1 über not ebenfalls einen BUFG 
bekommen. Muss ich den jetzt per Hand instanziieren?

Wie mache ich das per "constraint"?
Gast #3094623
Lesenswert?

Welche ISE Version hast Du?
Und wie lautet die genaue Fehlermeldung?
Ist es eine Warnung oder ein Fehler?
Wo wird Dein Takt C0 generiert?

Ich hab das die Tage erst verwendet: ISE 13.3 und Spartan6. Da ging da 
lokale negieren problemlos.

Duke
Gast #3094731
Lesenswert?

13.4 und er meckert (als warning) in dem Synthesis Report, dass nicht 
alle Takte mit Buffern versehen sind und man das als constraint 
einstellen müsse.

Ferner kommt "not locally static Expression für den Anschluss des C1" da 
dort ja der Takt als "not clockx" anliegt.
Gast #3095417
Lesenswert?

TG schrieb:
> Ferner kommt "not locally static Expression für den Anschluss des C1" da
>
> dort ja der Takt als "not clockx" anliegt.

Einige Xilinx Versionen haben scheinens eine andere Umgehensweise mit 
solchen Themen, bei einigen ist es ein error, bei einderen eine warning. 
Frage : Funktioniert das design?
Persönliche Seite #3099426
Lesenswert?

Würde ich auch meinen, nimm eine PLL und generiere einen 180 Grad Takt, 
den Du an den C1 Eingang heranführst.

Im Grunde kann er eigentlich gar nichts anderes bauen. Seltsamer weise 
spuken die Xilinx-Tools da manchmal rum. In den 14er Versionen scheint 
einiges restriktiver zu sein, da hatte ich auch schon mal den Fall, dass 
er was nicht bauen wollte.
Gast #3099851
Lesenswert?

Christian R. schrieb:
> Hast du das not direkt in der Port Map stehen?

Ich denke auch, dass dort der Hund begraben liegt.
Wenn der Takt vorher per Signalzuweisung invertiert wird, erkennt der 
Mapper das und nutzt die IOB-internen Clock-Inverter (zumindest bei 
14.4).

Jürgen S. schrieb:
> nimm eine PLL und generiere einen 180 Grad Takt

Finde ich "mit Kanonen auf Spatzen geschossen". Hier nicht notwendig und 
PLLs gibt es nicht wie Sand am Meer.


gruß
Persönliche Seite #3108490
Lesenswert?

daniel__m schrieb:
> Finde ich "mit Kanonen auf Spatzen geschossen". Hier nicht notwendig und
> PLLs gibt es nicht wie Sand am Meer.
Der 180 Grad-Ausgang ist bei (fast) jeder PLL kostenlos dabei :-) und 
irgend eine PLL muss er verwendet haben, und den pos-Takt zu generieren.

daniel__m schrieb:
> nutzt die IOB-internen Clock-Inverter
Das ist Chip-abhängig, wie ich unlängst nochmal ausdrücklich erfahren 
durfte. Einige (möglicherweise ältere) Chips ziehen in der Tat einen 
180Grad Takt an das DDR und neuere SW-Versionen packen es irgendwie 
nicht. Ich hatte da auch schon den Fall, dass er das partout nicht 
machen wollte.

Bei den letzten Designs kommt aber nur ein Info, jedenfalls bei ISE 14.

Von welchem Chip reden wird konkret?

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