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

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

Description

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.

Solution

1

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

2

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---------------
#!/usr/local/bin/perl5

# 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>){
chomp;
@fields = split(/\s+/); # Split on white space
if ($fields[1] =~ /^SLICE_/) {
@site = split(/\./,$fields[1]);
unshift(@slice,$site[0]);
unshift(@pin,$site[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";
$cnt++;
}
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