Timing Constraints - asynchroner Fifo Xilinx ISE 13.4

Gast #2562740
Lesenswert?

Auszug aus dem Timing Report:
1
Paths for end point channel_3/U_3/U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/gsync_stage[1].wr_stg_inst/Q_0 (SLICE_X51Y69.BY), 1 path 
2
 -------------------------------------------------------------------------------- 
3
 Slack (setup path):     -0.802ns (requirement - (data path - clock path skew + uncertainty)) 
4
   Source:               channel_3/U_3/U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/rd_pntr_gc_0 (FF) 
5
   Destination:          channel_3/U_3/U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/gsync_stage[1].wr_stg_inst/Q_0 (FF) 
6
   Requirement:          1.250ns 
7
   Data Path Delay:      1.672ns (Levels of Logic = 0)(Component delays alone exceeds constraint) 
8
   Clock Path Skew:      -0.380ns (1.817 - 2.197) 
9
   Source Clock:         CLK_200_int rising at 5.000ns 
10
   Destination Clock:    CLKFX_int rising at 6.250ns 
11
   Clock Uncertainty:    0.000ns 
12
  
13
   Maximum Data Path: channel_3/U_3/U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/rd_pntr_gc_0 to channel_3/U_3/U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/gsync_stage[1].wr_stg_inst/Q_0 
14
     Location             Delay type         Delay(ns)  Physical Resource 
15
                                                        Logical Resource(s) 
16
     -------------------------------------------------  ------------------- 
17
     SLICE_X50Y68.YQ      Tcko                  0.676   channel_3/U_3/U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/rd_q<0><1> 
18
                                                        channel_3/U_3/U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/rd_pntr_gc_0 
19
     SLICE_X51Y69.BY      net (fanout=1)        0.682   channel_3/U_3/U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/rd_q<0><0> 
20
     SLICE_X51Y69.CLK     Tdick                 0.314   channel_3/U_3/U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/rd_q<1><1> 
21
                                                        channel_3/U_3/U0/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/gsync_stage[1].wr_stg_inst/Q_0 
22
     -------------------------------------------------  ---------------------------
Die Folgenden constraints gehen nicht:
NET *rd_pntr_gc_<*> TIG;
NET "*rd_pntr_gc_<*>" TIG;
Fehlermeldung:
1
ERROR:ConstraintSystem:58 - Constraint <NET *rd_pntr_gc_<*> TIG;>
2
   [ucf/tasd_top.ucf(318)]: NET "*rd_pntr_gc_<*>" does not match any design
3
   objects.

Hat sich in der ISE 13.4 was zum Schlechten verbessert? Hat noch jemand 
eine Idee?

Ich sag schon mal Danke!
Gast #2562768
Lesenswert?

Ich bin nicht 100% sicher, ob ich das komplett verstehe, weil ich den 
"*"-Konstrukt nicht verwende, ich meine aber, dass TIG noch ein zweites 
Signal benötigt.

Dann sehe ich, dass rd_pntr_gc_0 gar kein vektor ist, wo der zweite 
Stern greifen könnte.

Was es häufig gibt, ist ein mismatch zwischen UCF und Kommandogenerator 
in ISE. Die haben ein Grossschrift-Kleinschrift-Problem.
Gast #2562839
Lesenswert?

Bei mir sehen die timing ignore Sachen auch etwas anders aus:
1
NET "clk_driver_b.dcm_sp_i0_clkfx" TNM_NET = "clkfx";
2
NET "clk_driver_b.dcm_sp_i0_clkdv" TNM_NET = "clkdv";
3
TIMESPEC "TS_clkfx_clkdv" = FROM "clkfx" to "clkdv" TIG;

Duke
#2562868
Lesenswert?

Der braucht wahrscheinlich den richtigen Pfad der FIFO Instanz. So 
stehts ja auch im User Guide:
1
NET fifoinstance/grf.rf/gcx.clkx/wr_pntr_gc<0> TIG;
2
NET fifoinstance/grf.rf/gcx.clkx/wr_pntr_gc<1> TIG;
3
...
4
NET fifoinstance/grf.rf/gcx.clkx/wr_pntr_gc<9> TIG;
5
NET fifoinstance/grf.rf/gcx.clkx/rd_pntr_gc<0> TIG;
6
NET fifoinstance/grf.rf/gcx.clkx/rd_pntr_gc<1> TIG;
7
...
8
NET fifoinstance/grf.rf/gcx.clkx/rd_pntr_gc<9> TIG;
Gast #2562928
Lesenswert?

Vor dem Update auf die neueste Version in Xilinx ISE 13.4 also 
xilinx.com:ip:fifo_generator:8.4
hat folgendes getan:
1
NET "*/grf.rf/gcx.clkx/wr_pntr_gc<*>" TIG;
2
NET "*/grf.rf/gcx.clkx/rd_pntr_gc<*>" TIG;

Ich glaub ich schmeiß den Mist wieder raus und hol mir das Backup der 
vom alten core.
#2562972
Lesenswert?

Hm, im Fifo User Guide der 8.3 steht das drin:
1
NET <fifo_instance>/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/wr_pntr_gc<0> TIG;
2

3
NET <fifo_instance>/xst_fifo_generator/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.gcx.clkx/rd_pntr_gc<0> TIG;

Offenbar ist da jetzt die interne Bezeichnung anders.
Gast #2563236
Lesenswert?

so kein Wunder

Es gibt kein Netz mit rd_pntr_gc sondern nur rd_pntr_gc_xor....

Und wenn man das Xor netz über den timing constraints editor hinzufügt 
werden trotzdem fehlermeldungen geschmissen

-> ISE: LMAA

Ich gehe zurück auf den alten core und fertig

Danke für die Anteilnahme
Angehängte Dateien:

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