UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 23165

10.1 MAP - How do I debug an "impossible timing" problem when using MAP -timing?

Description

MAP failed for my design withthe following message about a timing constraint being impossible to meet. What does this mean and why did MAP failbefore any attempt was made to Route the design?

"ERROR:Pack:1653 - At least one timing constraint is impossible to meet because component delays alone exceed the constraint. A timing constraint summary below shows the failing constraints (preceded with an Asterisk (*)). Please use the Timing Analyzer (GUI) or TRCE (command line) with the Mapped NCD and PCF files to identify which constraints and paths are failing because of the component delays alone. If the failing path(s) is mapped to Xilinx components as expected, consider relaxing the constraint. If it is not mapped to components as expected, re-evaluate your HDL and how synthesis is optimizing the path. To allow the tools to bypass this error, set the environment variable XIL_TIMING_ALLOW_IMPOSSIBLE to 1."

Solution

This error message is an indication that there are timing constraints where the block delays alone exceed the constraint making it impossible for the Router to add delay and meet the constraint. The intent is to stop processing as early as possible rather than waste time on an impossible task. An NCD file is written for timing debug purposes. This NCD file should not be used for any purpose than to investigate the impossible timing issue. Since processing stopped before the design was fully packed and placed, it's not uncommon for"overmapped" messages to appear in the mapping report (.mrp) even though the design utilization isn't very high. The error message can be bypassed and a fully optimized design generated by setting the following environment variable:

Windows:
SET XIL_TIMING_ALLOW_IMPOSSIBLE=1

Linux:
setenv XIL_TIMING_ALLOW_IMPOSSIBLE 1

For general information about setting ISE software environment variables, see (Xilinx Answer 11630).

AR# 23165
Date Created 09/04/2007
Last Updated 05/12/2012
Status Active
Type Error Message
Devices
  • Spartan-3
  • Spartan-3 XA
  • Spartan-3A
  • More
  • Spartan-3A DSP
  • Spartan-3AN
  • Spartan-3E
  • Spartan-6 LX
  • Spartan-6 LXT
  • Virtex-5 FXT
  • Virtex-5 LX
  • Virtex-5 LXT
  • Virtex-5 SXT
  • Virtex-5 TXT
  • Virtex-5Q
  • Virtex-6 CXT
  • Virtex-6 HXT
  • Virtex-6 LX
  • Virtex-6 LXT
  • Virtex-6 SXT
  • Less