Forum: FPGA, VHDL & Co. Constraining - asynchroner Fifo Xilinx ISE 14.6


von GH (Gast)


Lesenswert?

Hallo,

bei der Benutzung eines asynchronen FIFOS müssen bekanntermaßen TIGs 
gesetzt werden. Ich möchte den Fifo Core Generator (in der Version 9.3) 
benutzen. Im PG057 von Xilinx steht:
"The FIFO Generator core provides a sample clock constraint for 
synchronous and asynchronous FIFOs, and TIG constraints for asynchronous 
FIFOs. These sample constraints can be added to the user's design 
constraint file."
Leider kann ich in dem ucf file des Referenzdesigns keine TIG 
constraints finden. Kann mir jemand helfen? Welche TIGs muss ich setzen?
Die Constraints aus älteren Cores, z.B.:
NET <fifo_instance>/grf.rf/gcx.clkx/wr_pntr_gc<0> TIG;
funktionieren leider nicht mit der Coreversion 9.3 !

viele grüße GH

von Hallbergmoserer (Gast)


Lesenswert?

Nimm Altera, da ist das kein Problem.

von Duke Scarring (Gast)


Lesenswert?

Hallbergmoserer schrieb:
> Nimm Altera, da ist das kein Problem.
Achso?
Der CoreGen von Altera erzeugt wohl die benötigten TIG constraints für 
Xilinx ISE 14.6? Wäre mir neu...

GH schrieb:
> Leider kann ich in dem ucf file des Referenzdesigns keine TIG
> constraints finden.
Welche Dateien werden bei Dir vom Core Generator erzeugt?

> Welche TIGs muss ich setzen?
Schafft denn Dein Design das Timing?
Wenn ja, brauchst Du auch keine zusätzlichen TIG's.

> Die Constraints aus älteren Cores, z.B.:
[...]
> funktionieren leider nicht mit der Coreversion 9.3 !
Das ist der Fortschritt. Offenbar hat sich intern was getan, so das 
jetzt neue Instanzpfade und -namen genutzt werden.
Notfalls kann man mit dem FPGA-Editor nach den aktuell verwendeten 
Pfaden suchen.

Duke

von GH (Gast)


Lesenswert?

Hallo,

ich habe es rausgefunden. Es werden drei Constraints benötigt:

NET 
"*U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/w 
r_pntr_gc*"  TIG;

NET 
"*U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/r 
d_pntr_gc*"  TIG;

NET 
"*U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/g 
sync_stage*"  TIG;


--> Problem gelöst

viele grüße GH

von anton (Gast)


Lesenswert?

Wie heißt jetzt dein Eintrag im UCF File?

von Christian R. (supachris)


Lesenswert?

Steht doch direkt da. Das sind drei Zeilen die in die UCF können. Wird 
aber meines Wissens nur bei asynchronen FIFOs auf LUT Basis benötigt. 
Bei den Block RAM FIFOs geht das automatisch soweit ich weiß. Steht 
irgendwo ganz hinten im FIFO User Guide der automatisch als PDF mit 
erzeugt wird.

von Anton (Gast)


Lesenswert?

Brauche ich diese constraining auch wenn ich den Fifo aus nativen VHDL 
code erzeuge Fragezeichen

von Christian R. (supachris)


Lesenswert?

Nee, da brauchst du andere.

von Ingenieur (Gast)


Lesenswert?

Habe genau dasselbe Problem: Wie finde ich die benötigten Signale? Kann 
man das pauschal für die FIFO-Sigs machen?

Geht das irgendwie im VHDL-file? Das Problem ist, dass ich 64 kleine 
FiFos einbauen muss und jeweils 8 in 8 Gruppen instanziiere. Ich würde 
gerne der Synthese einmal im FiFO.vhdl diese Ignores mitgeben.

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.