04-25-2012 02:43 AM - edited 04-25-2012 02:46 AM
in my design there are several clock domains. Most of the Paths crossing this domains (around 95%) leading through fifos so I applied the TIG constraint like:
TIMESPEC "TS_clk100_to_sdr_clk" = FROM "TNM_clk_100" TO "sdr_clk" TIG;
But there are one or two paths I would need to apply a Time Constraint like:
INST "u_data_if_a/u_data_if_control/o_ddr_align*" TNM = TNM_ddr_sdr_allign; INST "u_data_if_a/u_data_if_control/o_sdr_align*" TNM = TNM_ddr_sdr_allign; INST "u_data_if_a/lane[*].u_data_if_lane/data_rr*" TNM = TNM_lane_data_rr; TIMESPEC "TS_data_if_ddr_sdr_allign" = FROM "TNM_ddr_sdr_allign" TO "TNM_lane_data_rr" "TS_sdr_clk";
My problem is that the "TS_data_if_ddr_sdr_allign" time spec has now analyzed paths in the timing report and all paths which belongs to this constraint are still covered by the TIG constraint.
The question is:
Is there a statement to tell the Timing Analyzer that the TIG constraint should apply, except the paths of the "TS_data_if_ddr_sdr_allign" constraint?
I already tried to apply the PRIORITY keyword to the both constraints but I got an error for the TIG Constraint. It seems that the PRIORITY keyword cannot be applied after a TIG statement.
Solved! Go to Solution.
04-25-2012 08:42 AM
You may exclude some group from another group using EXCEPT.
Please see page 57 of http://www.xilinx.com/support/documentation/sw_man
04-25-2012 05:57 PM
TIG constraint has the highest priority. So PRIORITY keyword is not applicable for two constraints with different level.
As Ajmir points out, you can exclude the time groups from TIGed group by using EXCEPT.
Suppose "TNM_ddr_sdr_allign" is within group "sdr_clk" and "TNM_lane_data_rr" within "TNM_clk_100",
TIMEGRP "TNM_clk_100_TIG" = "TNM_clk_100" EXCEPT "TNM_lane_data_rr";
TIMEGRP "sdr_clk_TIG" = "sdr_clk" EXCEPT "TNM_ddr_sdr_allign";
TIMESPEC "TS_clk100_to_sdr_clk" = FROM "TNM_clk_100_TIG" TO "sdr_clk_TIG" TIG;