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# 35508

11.5 Pack - How can I precisely control the packing and pin usage of LUTs?


I would like to precisely control the packing of a LUTs into a delay chain, but MAP optimizes away the LUT1 buffers that form the delay chain.

Is there a way to prevent this optimization?


The LUT1 buffers are maintained if a LOCK_PINS constraint is applied to the LUTs:

UCF syntax example:


For a more complicated use case involving a multiple input LUTs, the same constraint can be used to lock the original input pin usage. Alternatively, a different pin mapping can be specified and locked using the LOCK_PINS constraint.

UCF syntax example:

INST "some_lut4" LOCK_PINS=I0:A4,I1:A3,I2:A2,I3:A1;

For more variations on the use of this constraint, see page 131 of the Constraints Guide (UG625):

The LOCK_PINS constraint can be combined with other pack and placement constraints (BEL, RLOC, LOC, LUTNM) to completely control the LUT usage.

AR# 35508
Date Created 05/07/2010
Last Updated 12/15/2012
Status Active
Type General Article
  • 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
  • ISE Design Suite - 11.1
  • ISE Design Suite - 11.2
  • ISE Design Suite - 11.3
  • More
  • ISE Design Suite - 11.4
  • ISE Design Suite - 11.5
  • ISE Design Suite - 12.1
  • Less