Well, with the structure the Virtex CLBs, a loadable counter implemented in one level of logic has the carry chain after the mux. The timing analysis does not take into account logic state, only combinatorial paths. In the case of the loadable counter, it sees a path out of the LUT and up the carry chain. Normally, the loadable counter uses the mult_and to gate off the DI input of the mux_carry when the counter is being loaded so that a carry does not propagate, but the timing analyzer has no way of knowing this without your help. You can either do what you can to reduce the delay on the load path so it meets timing without regard to false paths, or you can declare this as a false path. My preference is to try to make it pass without declaring false paths because of the danger of inadvertently marking a valid path as false.
John Providenza wrote:
--
--Ray Andraka, P.E. President, the Andraka Consulting Group, Inc.
Indeed, be careful with declaring false paths I noticed the clock skew was quite high(!) at 113ps. Does the carry chain straddle different bits of the clock tree? You could try locking it down to reduce the skew. You only need 8ps! Or, you could tell the timing analyser your worst case temperature and power supply voltage to get back the 8ps. good luck, Syms.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.