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

7.1i PAR - What is the Xplorer script?


Keywords: clock, performance

I have heard that there is a Perl script named "xplorer.pl" that can be used to optimize PAR results for a design. What does this script do and where can I find it?

The following is the "readme.txt" file for the Xilinx Perl script "xplorer.pl".

The purpose of the "xplorer.pl" script is to find the maximum performance for any clock in a design by running various combinations of implementation tool options known to give good performance results.

The "xplorer.pl" script runs several iterations of the tools adjusting the timing constraints for a specified clock (using the -clk switch) if an EDF or NGC file is provided.

NOTE: If no clock is provided (-clk not used), "xplorer.pl" will run using the existing UCF. The UCF constraints will not be adjusted. If no -clk or UCF is provided, "xplorer.pl" will run non-timing driven which will give inferior results to timing driven runs.

Use the -freq switch to specify a starting frequency to use as a starting point for testing. Specifying a starting frequency can reduce the number of iterations required to find the maximum frequency reducing run time.

All Xilinx FPGA Architectures are supported by the "xplorer.pl" script.

The "xplorer.pl" script is written in Perl. Xilinx includes a version of Perl that is installed with each software release called "XILPERL.exe", located in the $XILINX\bin\nt area.

For PC users, the "xplorer.pl" script can be run from the command prompt by typing:
xilperl xplorer.pl (This will output the usage message below.)

Usage: $XILINX\bin\nt\xilperl.exe xplorer.pl <design name> [-clk <clkname>] [-part <partname>]

FPGA Xplorer Version 2.30


<design name> is the name of the top level edif/ngc/ngd file.

-clk <clkname> to specify the name of the clock net you want to optimize.
If the -clk option is omitted the script will use the timespecs defined in
ucf file.

-p <partname> specify the complete Xilinx part name.
Default value is the part specified in the input design.


Results of all the runs are summarized in the xplorer.rpt file.
The best run is identified at the end of the report file.

Advanced Options (Optional):

-wd <dir name> : specify where the output of runs will be stored.
Default value is the current dir.

-sd <dir name> : specify a list of paths for directories containing the design files.
The directories in the path list are separated by a :
The first entry is the path is the location of the top level design.
Default value is the current dir.

-freq <value in Mhz> : specify the first attempted frequency.
The starting value will impact the number of runs. Without this option
the script will automatically figure out a good starting value.

-uc <ucf file> : UCF constraints file name.
Default value is <design name>.ucf.

-max_runs <number> : limit the maximum number of runs for the design.
Limiting the number of runs may adversely affect the final achieved

-no_retiming : disable retiming in map.
Default value is to perform retiming.

For xilperl to be recognized as a command, $XILINX\bin\nt must be included in the $PATH.

A companion batch file named "xplorer.bat" is available to reduce typing and make the "xplorer.pl" script available from any directory.

To use the "xplorer.bat" file:
1. Place it in a C:\bat directory.
2. Place the xplorer.pl file in the C:\bat\perl directory.
3. Add C:\bat to your $PATH variable.

PCT_ESTIMATED_MINPERIOD_FACTOR Factor used in determining initial target frequency. The initial target period is the product of PCT_ESTIMATED_MINPERIOD_FACTOR and the minimum estimated period from the initial mapped input netlist. Default value is 1.0.

PCT_FAILED_BADLY Factor used to derate the initial target frequency. If the target frequency is more than the best achieved frequency by a factor exceeding PCT_FAILED_BADLY, then derate target frequency.

PCT_INC_FREQ Factor used to determine target frequency for succeeding run if current run has met the current target. Default value is 1.05.

PCT_ROLL_BACK_FREQ Factor used to determine target frequency for succeeding run if current run has failed to meet the current target. Default value is 0.95.

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


The Xplorer script is available at:
Included in the ZIP file is an "xplorer.pl", "xplorer.bat", and "readme.txt" file. You might need to change the path to the Perl executable in the first line of either the ".pl" or ".bat" file.

System Requirements
- Microsoft Windows 2000 or Windows XP
- Sun Solaris 2.8/5.8, 2.9/5.9
- Red Hat Enterprise Linux 3 (32 or 64-bit)
AR# 21133
Date 10/19/2008
Status Archive
Type General Article
Page Bookmarked