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

8.2i MAP - Problems related to improper use of LUTNM properties in Synplify Pro netlists

Description

The Xilinx LUTNM property is intended to provide user control of the packing of LUT5 and LUT6 symbols together in the same LUT pair in Virtex-5 devices. It is not valid to apply these constraints to LUT symbols in non-Virtex-5 architectures or to LUT symbols other that LUT5 and LUT6.

Several cases have been seen in Synplify Pro Version 8.6.2U netlists where these constraints were used improperly leading to the following problems:

1. A cases has been seen where a Spartan-3 design contained LUTNM properties. Although this constraint is not supported in Spartan-3 designs, the property does affect the processing of LUTs in code that is common to all architectures and therefore affects LUT packing. In one case, a LUT1 buffer failed to be optimized away as expected, lead to suboptimal MAP results, and failed Directed Routing constraints.

2. Cases have been seen where LUTNM properties applied to LUT1 constants in Virtex-5 designs resulted in the following fatal error:

FATAL_ERROR:Pack:pkibaexception.c:198:1.4.102.2 - Failed to program a device

usage model for comp

"idot16ephytop/idot16ephytx_top/itxsrcbank_Q/u_filt_exp/N_49105_i". The comp

is an instance of type SLICEL. The following configuration string was used

to program the device usage model: D5LUT:#LUT:O5=2

D6LUT:#LUT:O6=(A6+~A6)*(2) DOUTMUX:O5 DUSED:0 Exception text: ERBCF SLICEL

Failure: INVALID_EQN: "O5=2" CFG: "D5LUT:#LUT:O5=2 D6LUT:#LUT:O6=(A6+~A6)*(2)

DOUTMUX:O5 DUSED:0 " Process will terminate. To resolve this error,

please consult the Answers Database and other online resources at

http://support.xilinx.com.If you need further assistance, please open a

Webcase by clicking on the "WebCase" link at http://support.xilinx.com

Solution

The Virtex-5 fatal error has been fixed for ISE version 9.1i. The non-Virtex-5 issue will be fixed in 9.1i sp1.

Meanwhile, these problems can be avoided by either turning off LUTNM insertion in Synplicity or by using the following Perl script to strip invalid LUTNM properties from the resulting EDIF file. To run this script, use the command:

script.pl design.edf > stripped_design.edf

---------- Cut here and edit first line below to access xilperl for your instalation-------------------------

#!/My_XILINX_PATHf/bin/lin/xilperl

$lut="false";

while (<>){

chomp;

@fields =split();

# Capture LUT type

if ($fields[0] eq "(instance") {

$lut=$fields[5];

}

# Print LUTNM properties when appropriate

if ($fields[1] eq "LUTNM" && ($lut eq LUT5 || $lut eq LUT5_L || $lut eq LUT6 || $lut eq LUT6_L)) {

print "@fields\n";

}

# Print all non-LUTNM lines

if ($fields[1] ne "LUTNM") {

print "@fields\n";

}

}

--------------------------- Cut Here ----------------------------------------------------------

AR# 24333
Date Created 09/04/2007
Last Updated 12/15/2012
Status Active
Type General Article