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

4.1i Virtex-II MAP - The packer is packing the function generators "F" and "G" backwards


Keywords: FLUT, GLUT, chain, luts, backwards

Urgency: Standard

General Description:
The packer is packing the function generators F and G backwards in cases where one LUT drives the other, causing some QOR loss. The G --> F connection is faster than F --> G connection.



This problem will be fixed in the 4.2i software release, which is currently scheduled for late February, 2002.


The following Perl script (named "f2g.pl") can be used to detect FLUT-to-GLUT feedback paths. To run it, create a verbose timing report of a placed design, and run the following command:

xilperl f2g.pl xxx.twr

------cut here---------------

# Parses .twr file looking for an FLUT to GLUT feedback path
# through consecutive .Fx-->.X-->.Gx pin connections in the
# same slice. Takes .twr file as command line arg and reports
# slice location and signal name when feedback is detected.

$cnt = 0;

open (FILE,$ARGV[0]);
while (<FILE>){
@fields = split(/\s+/); # Split on white space
if ($fields[1] =~ /^SLICE_/) {
@site = split(/\./,$fields[1]);
if ($slice[0] eq $slice[1] && $slice[0] eq $slice[2] &&
$pin[0] =~ /^G/ && $pin[1] eq "X" && $pin[2] =~ /^F/){
print "F to G feedback detected at $slice[0] involving net $fields[5].\n";
if ($slice[0] ne $slice[1] && $#slice > "1") {
@slice = $slice[0];
@pin = $pin[0];

print "A total of $cnt feedback paths were found.\n";
AR# 13318
Date Created 12/04/2001
Last Updated 08/20/2003
Status Archive
Type General Article