I'm doing some stunts using DLL's in a VirtexE to make different clockspeeds. I create a clock mux using BUFT's and different clocksources wich is then fed into a last DLL and then into a global clock buffer. (This is meant to be a separate clock domain with a few exceptions, and I dont care about phase relations between the domains)
I also specify a FROM:TO between the domains at a very large number (50us), cause the few signals going between the domains are not time critical, and resynced to the correct domain. (this is done properly by asynchronous set and synchronous clear and edge detector in the new domain) The FROM:TO statement specifies a kind of "timing ignore" between all the domains used by the mux.
I have problems getting the timing analyzer to analyze this correctly. I specify a new PERIOD on the signal out of the BUFG after the mux, but the analyzer ignores this and uses the large number (supposedly the FROM:TO has priority over the PERIOD attribute) even if both source and destination of the FF is in the same domain!
I have also tried the MAXDELAY and TIG attribute in between where the PERIOD attribute may cross the domains, but it still doesnt analyse this clock domain from the correct PERIOD constraint but uses the FROM:TO.
Somehow it seems difficult to really CUT the timing in a path. The TIG attribute does not work as expected.
Any ideas? Thanks