Previous

Output from PAR

The output of PAR is a placed and routed NCD file (the output design file). In addition to the output design file, a PAR run generates a report file with a .par extension, a delay file with a .dly extension, and a pinout file with a .pad extension. The PAR file contains execution information about the place and route job as well as all constraint messages. The DLY file contains delay information about the routed nets in the design. The PAD file lists IOBs (Input/Output Blocks) on the chip and the primary pins associated with the IOBs.

If the options that you specify when running PAR are options that produce a single output design file, your output is the output design file, a PAR file, a DLY file, and a PAD file. The PAR file, the DLY file, and the PAD file all have the same root name as the output design file.

If you run multiple iterations of placement and routing, you produce an output design file, a PAR file, a DLY file, and a PAD file for each iteration. Consequently, when you run multiple iterations you have to specify a directory in which to place these files.

As the command is performed, PAR records a summary of all placement and routing iterations in one PAR file at the same level as the directory you specified, then places the output files (in NCD format) in the specified directory. Also, a PAR file, a DLY file, and a PAD file are created for each NCD file, describing in detail each individual iteration.

For example, suppose you have a directory named design with a design file called address.ncd, as shown in the following figure.

figures/x7231.gif

Suppose you run three iterations of place and route, using a different cost table entry each time (cost tables are explained in the “Placement” section) and specify that the resulting output be put into a directory called output.dir. The actual command would be

par -n 3 -l 1 address.ncd output.dir

-n 3 is the number of iterations you want to run, -l 1 sets the placement effort level, address.ncd is your input design file, and output.dir is the name of the directory in which you want to place the results of the PAR run.

The files resulting from the command are shown in the following figure.

figures/x7232.gif

The naming convention for the files, which may contain placement and routing information in varying degrees of completion, is placer_level_router_level_table.file_extension.

In the sample above, the effort level and cost table entries start at 1 (the default value). The PAR, DLY, and PAD files are described in the following sections. When you run multiple iterations, you get a summary PAR report file like the one shown below.


NOTE

The PAR Report is formatted for viewing in a monospace (non-proportional) font. If the text editor you use for viewing the report uses a proportional font, the columns in the report do not line up correctly.


PAR: Xilinx Place And Route M1.5.13.
Copyright (c) 1995-1998 Xilinx, Inc.  All rights reserved.
Tue Apr 28 10:57:28 1998
par -ol 3 -n 5 -i 20 main_pcb.ncd routed main_pcb.pcf
Constraints file: main_pcb.pcf
Level/      Design      Timing      Number      Run         NCD
   Cost [ncd]  Score       Score       Unrouted    Time        Status
   ----------  ------      --------    --------    -----       ------------
   3_3_3   *   737         0           0           04:55       Complete 
   3_3_5   *   748         0           0           05:13       Complete 
   3_3_4   *   756         0           0           05:12       Complete 
   3_3_1   *   773         0           0           06:00       Complete 
   3_3_2   *   816         0           0           05:22       Complete        
* : Design saved.
PAR done.

At the top of the summary PAR file is information regarding the software level, copyright information, and the date and time of the run. Directly below that is the command line used to run PAR, followed by the name of any physical constraints file used.

The body of the report consists of the following columns.

Level/Cost [ncd] - indicates the effort level (1-5) at which PAR is run. In the sample above, 3_3_4 indicates placer level 3, router level 3, and the fourth cost table used.

Design Score - see “The Place and Route (PAR) Report File” section.

Timing Score - see “The Place and Route (PAR) Report File” section.

Number Unrouted - indicates the number of unrouted nets in the design.

Run Time - the time required to complete the job in minutes and seconds.

NCD Status - describes the state of the output NCD file generated by the PAR run. Possible values for this column are

The Place and Route (PAR) Report File

The place and route (PAR) report file contains execution information about the PAR command run. The file shows the steps taken as the program converges on a placement and routing solution. A sample PAR file is shown following.


NOTE

The PAR Report is formatted for viewing in a monospace (non-proportional) font. If the text editor you use for viewing the report uses a proportional font, the columns in the report do not line up correctly.


PAR: Xilinx Place And Route M1.5.15.
Copyright (c) 1995-1998 Xilinx, Inc. All rights reserved.
Tue Apr 28 12:05:37 1998
Constraints file: timing.pcf
Loading device database for application par from file "x403-001.ncd".
"x403-001" is an NCD, version 2.27,device xc4028ex,package hq208, speed -3
Loading device for application par from file '4028ex.nph' in environment
/build/bcxfndry/rtf/x1_5.13.Device speed data version: x1_0.26 1.8
Device utilization summary:
   Number of External IOBs            60 out of 160    37%
         Flops:                          32
         Latches:                         0
      Number of Global Buffer IOBs        4 out of 8      50%
         Flops:                           0
         Latches:                         0
      Number of CLBs                     94 out of 1024    9%
         Total Latches:                   0 out of 2048    0%
         Total CLB Flops:               105 out of 2048    5%
         4 input LUTs:                  136 out of 2048    6%
         3 input LUTs:                   42 out of 1024    4%
   Number of BUFGLSs                   4 out of 8      50%
      Number of TBUFs                    54 out of 2176    2%
Overall effort level (-ol):   2 (default)
   Placer effort level (-pl):    2 (default)
   Placer cost table entry (-t): 1
   Router effort level (-rl):    2 (default)
   Timing method (-kpaths|-dfs): -kpaths (default)
Starting initial Timing Analysis.  REAL time: 47 secs 
   Finished initial Timing Analysis.  REAL time: 1 mins 21 secs 
Starting initial Placement phase.  REAL time: 1 mins 21 secs 
   Finished initial Placement phase.  REAL time: 1 mins 36 secs 
Starting Constructive Placer.  REAL time: 1 mins 43 secs 
   Placer score = 575479
   Placer score = 362356
   Placer score = 279001
           .
           .
           .
Placer score = 57390
   Placer score = 56110
   Finished Constructive Placer.  REAL time: 5 mins 15 secs 
Writing design to file "routed.ncd".
Starting Optimizing Placer.  REAL time: 5 mins 16 secs 
   Optimizing  . . . .
   Swapped 83 comps.
   Xilinx Placer [1] 49960 REAL time: 6 mins 9 secs 
Finished Optimizing Placer.  REAL time: 6 mins 9 secs 
Writing design to file "routed.ncd".
Total REAL time to Placer completion: 6 mins 11 secs 
   Total CPU time to Placer completion: 3 mins 1 secs 
0 connection(s) routed; 836 unrouted active, 2 unrouted PWR/GND.
   Starting router resource preassignment
   Completed router resource preassignment. REAL time: 6 mins 19 secs 
   Starting iterative routing.
   Routing active signals
   End of iteration 1 
   836 successful; 0 unrouted active,
      2 unrouted PWR/GND; (0) REAL time: 7 mins 14 secs 
   End of iteration 2 
   836 successful; 0 unrouted active,
      2 unrouted PWR/GND; (0) REAL time: 7 mins 20 secs 
   Constraints are met. 
   Routing PWR/GND nets.
   Power and ground nets completely routed.
   Writing design to file "routed.ncd".
   Starting cleanup
   Improving routing.
   End of cleanup iteration 1 
   838 successful; 0 unrouted; (0) REAL time: 10 mins 46 secs 
   Writing design to file "routed.ncd".
   Total REAL time: 10 mins 47 secs 
   Total CPU  time: 5 mins 21 secs 
   End of route.  838 routed (100.00%); 0 unrouted.
   No errors found. 
   Completely routed. 
Total REAL time to Router completion: 10 mins 51 secs 
   Total CPU time to Router completion: 5 mins 23 secs 
Generating PAR statistics.
   The Delay Summary Report
   The Score for this design is: 673
The Number of signals not completely routed for this design is: 0
   The Average Connection Delay for this design is:        3.890 ns
      The Average Connection Delay on critical nets is:       0.000 ns
      The Average Clock Skew for this design is:              1.173 ns
      The Maximum Pin Delay is:                              22.769 ns
      The Average Connection Delay on the 10 Worst Nets is:  14.210 ns
   Listing Pin Delays by value: (ns)
      d <= 10    < d <= 20   < d <= 30   < d <= 40   < d <= 50    d > 50
      ---------   ---------   ---------   ---------   ---------   ---------
      750         39          4           0           0           0
Timing Score: 0
-------------------------------------------------------------------------
  Constraint                                | Requested  | Actual     | Logic 
                                               |            |            | Levels
   -------------------------------------------------------------------------
     NET "CTLR/2SCLK" PERIOD = 43.000000 nS    | 43.000ns   | 32.913ns   | 2    
   -------------------------------------------------------------------------
     NET "CTLR/SCLK" PERIOD = 45.000000 nS     | 45.000ns   | 30.140ns   | 2    
   -------------------------------------------------------------------------
All constraints were met.
   Writing design to file "routed.ncd".
All signals are completely routed.
Total REAL time to PAR completion: 11 mins 1 secs 
   Total CPU time to PAR completion: 5 mins 29 secs 
PAR done.

Sometimes the design is completely routed, but the router continues to route in the attempt to meet timing constraints.

Note that in the sample PAR file above, in the “starting iterative routing” section, after the end of iteration 1, there is a figure in parentheses (0). This represents the timing score for the design (not to be confused with the PAR score) at the end of the particular iteration. This figure appears in the PAR file only when timing constraints have been specified in a PCF file. When the timing score is 0 (as it is in this example after iteration 1), this means that all timing constraints have been met. This score (0) also appears at the end of the delay report section of the PAR file.

The timing score at the end of the “starting iterative routing” section may not agree with the timing score in the Delay Summary Report. This can occur if a MAXSKEW constraint is scored and not met.

Had the design been completely routed but failed to meet all timing constraints, the score would have been a figure other than 0. A non-zero number would appear at the end of the delay report section. This tells you immediately whether your timing constraints have been met. It is possible that the timing score shown in parentheses at the top of the file may be different from the one shown in the delay summary section of the file. The score shown in the delay summary section is always the correct one.

The last section of the PAR file contains a summary of the delay information for the routed design. The DLY (delay) file produced by the PAR run contains more detailed timing information. The DLY file is discussed in the following section.

If you specify a command option that produces multiple output design files, there is a PAR file indicating all of the place and route iterations performed, and individual PAR files describing placement and routing for each design file produced.


NOTE

In PAR reporting, a tilde (~) preceding a delay value indicates that the delay value is approximate. Values with the tilde cannot be calculated exactly because of excessive delays, resistance, or capacitance on the net. You can use the PENALIZE TILDE constraint to penalize these delays by a specified percentage (see the “TRACE” chapter and the “Attributes, Constraints, and Carry Logic” chapter of the Libraries Guide for a description of the PENALIZE TILDE constraint).


Some notes about the entries in the PAR file.

For the Virtex devices, if more than one SelectIO standard is used, an additional section on Select IO utilization and usage summary is added to the PAR file. This section shows details for the different IO banks. It shows the IO standard, the output reference voltage (VCCO)] for the bank, the input reference voltage (VREF) for the bank, the PAD and Pin names. In addition, the section gives a summary for each bank with the number of pads being used, the voltages of the VREFs, and the VCCOs. A sample Select IO utilization and Usage Summary of the PAR file follows.

Select IO Utilization and Usage Summary
_______________________________________
NR - means Not Required.
   Each Group of a specific Standard is listed.
IO standard (LVTTL Vref=NR Vcco=3.30) occupies 45 pads.
IO standard (CTT Vref=1.50 Vcco=3.30) occupies 8 pads.
IO standard (SSTL3_I Vref=0.90 Vcco=3.30) occupies 12 pads.
Bank Summary
   ____________
   NR - means Not Required
   Bank 0 has 20 pads and is 80% utilized.
   Vref should be set to NR volts.
   Vcco should be set to 3.30 volts.
     Name                IO  Select Std Vref   Vcco   Pad   Pin
     ----                --  ---------- ------ ------ ------ ------
     bidir<7>            IO  LVTTL      NR     3.30   PAD2   P238
     bidir<6>            IO  LVTTL      NR     3.30   PAD3   P237
     bidir<3>            IO  LVTTL      NR     3.30   PAD8   P231
     bidir<1>            IO  LVTTL      NR     3.30   PAD10  P230
     b<10>               I   LVTTL      NR            PAD11  P229
     .
     .
     .
     b<7>                I   LVTTL      NR            PAD17  P221
     a<10>               I   LVTTL      NR            PAD18  P220
Bank 1 has 22 pads and is 13% utilized.
   Vref should be set to NR volts.
      Name                IO  Select Std Vref   Vcco   Pad   Pin
      ----                --  ---------- ------ ------ ------ ------
        .
        .
        .
   Bank 7 has 21 pads and is 38% utilized.
   Vref should be set to 0.90 volts.
   Vref sites in this bank cannot be used for user IOBs.
   Vcco should be set to 3.30 volts.
     Name                IO  Select Std Vref   Vcco   Pad   Pin
     ----                --  ---------- ------ ------ ------ ------
     bidir<11>           IO  SSTL3_I    0.90   3.30   PAD169 P28
     bidir<8>            IO  SSTL3_I    0.90   3.30   PAD170 P27
     bidir<9>            IO  SSTL3_I    0.90   3.30   PAD172 P25
     bidir<10>           IO  SSTL3_I    0.90   3.30   PAD173 P24
     c<9>                O   CTT               3.30   PAD181 P13
     c<10>               O   CTT               3.30   PAD187 P7
     c<7>                O   LVTTL             3.30   PAD190 P4
     c<8>                O   CTT               3.30   PAD191 P3
   
Total REAL time to Placer completion: 40 secs
   Total CPU time to Placer completion: 31 secs

The Delay (DLY) File

The delay file is output by each PAR run and is placed in the directory with the NCD output of the design file and the PAR file. The delay file contains delay information for each net in the design and includes

The following is a portion of a delay file. If this were a complete file, it would show the load delays for all nets in the design.


NOTE

The Delay Report is formatted for viewing in a monospace (non-proportional) font. If the text editor you use for viewing the report uses a proportional font, the columns in the report do not line up correctly.


File: routed.dly
 The 20 Worst Net Delays are:
-------------------------------
| Max Delay (ns)  | Netname   |
-------------------------------
  22.769            CTLR/VID/MUX/RHORZ
    19.962            CTLR/VID/MUX/RVERT
    18.060            CTLR/VID/S3
    15.488            CTLR/VID/VA6
    15.009            CTLR/VID/MUX/AVERT
    13.171            CTLR/VID/MUX/AHORZ
    12.829            CTLR/VID/VA1
    12.829            CTLR/VID/VA3
    12.641            CTLR/VID/VA7
    12.629            CTLR/VID/VA8
    11.315            CTLR/VID/VA4
    11.315            CTLR/VID/VA2
    10.881            CTLR/PA9
    10.486            CTLR/VID/VA0
    10.197            CTLR/VID/VA5
     9.541            CTLR/PA11
     9.306            CTLR/PA13
     9.180            CTLR/VISC/VCS_ACK
     8.981            CTLR/ODM/EF7
     8.941            CTLR/SCLK
---------------------------------
---------------------------------------------------- Net Delays
   -----------------------------------------------------
2SCLK_I
   2SCLK_I.CLKIN
            0.100  CTLR/$1I293.I
   
   ALE_I
      ALE_I.CLKIN
            0.100  CTLR/VISC/$1I354.I
   
   CTLR/2SCLK
      CTLR/$1I293.O
            5.424  CTLR/ODM/FIFOCTRL/READ.F2
            4.920  CTLR/ODM/FIFOCTRL/NS_FBYT_CE.K
            4.902  CTLR/ODM/SE_FGEN/SEA2.K
            4.913  CTLR/PA19.K
            4.911  CTLR/PA18.K
                    .
                    .
                    .

The PAD File

The PAD file contains a listing of all IOBs used in the design and their associated pads. The file specifies connections to device pins (with a P prefix).

The PAD file is divided into three sections.

A sample PAD file is shown following.


NOTE

The PAD Report is formatted for viewing in a monospace (non-proportional) font. If the text editor you use for viewing the report uses a proportional font, the columns in the report do not line up correctly.




PAR: Xilinx Place And Route M1.5
   Copyright (c) 1995-1998 Xilinx, Inc.  All rights reserved.
   Thu Apr 16 15:21:43 1998
   
Xilinx PAD Specification File
   *****************************

Input file:       x403-001.ncd
   Output file:      routed.ncd
   Part type:        xc4028ex
   Speed grade:      -3
   Package:          hq208
   
Tue Apr 28 12:16:35 1998
   
Pinout by Pin Name:
   
+------------------------------------------------+-----------+----------+
|                    Pin Name                    | Direction |  Pin Number  |
   +------------------------------------------------+-----------+----------+
   | 2SCLK_I                                        |  INPUT    | P47          |
   | A2I                                            |  INPUT    | P31          |
   | A3I                                            |  INPUT    | P29          |
        .                                                          .
        .                                                          .
        .                                                          .
   | VIDCS_I-                                       |  INPUT    | P174         |
| VOC_O                                          |  OUTPUT   | P195         |
| WR_I-                                          |  INPUT    | P149         |
+------------------------------------------------+-----------+----------+
|                Dedicated or Special Pin Name               |  Pin Number  |
   +------------------------------------------------------------+----------+
   | /PROGRAM                                                   | P108         |
   | CCLK                                                       | P153         |
   | DONE                                                       | P103         |
   | GND                                                        | P101         |
      .                                                            .
      .                                                            .
      .                                                            .
   
   | VCC                                                        | P55          |
   | VCC                                                        | P26          |
   | VCC                                                        | P183         |
   +------------------------------------------------------------+----------+
   
   Pinout by Pin Number:
   +--------------+-----------------------------------+-----------+--------+
   |  Pin Number  |            Pin Name               | Direction | Constraint |
   +--------------+-----------------------------------+-----------+--------+
   | P1           | N.C.                              |           |            |
   | P2           | GND                               |           |            |
   | P3           | N.C.                              |           |            |
   | P4           | SCLK_I                            |  INPUT    |            |
      .                                                            .
      .                                                            .
      .                                                            .
   | P204         | SYSCLK_I                          |  INPUT    |            |
   | P205         | VCC                               |           |            |
   | P206         | N.C.                              |           |            |
   | P207         | N.C.                              |           |            |
   | P208         | N.C.                              |           |            |
   +--------------+-----------------------------------+-----------+--------+
   
   #
   # Pinout constraints listing
   # These constraints are in PCF grammar format
   # and may be cut and pasted into the PCF file
   # after the "SCHEMATIC END ;" statement to
   # preserve 
     
COMP "2SCLK_I" LOCATE = SITE "P47" ; 
   COMP "A2I" LOCATE = SITE "P31" ; 
   COMP "A3I" LOCATE = SITE "P29" ; 
.             
           .                
           .                
   
COMP "VERT_O-" LOCATE = SITE "P178" ; 
   COMP "VIDCS_I-" LOCATE = SITE "P174" ; 
   COMP "VOC_O" LOCATE = SITE "P195" ; 
   COMP "WR_I-" LOCATE = SITE "P149" ;

For the Virtex devices, when SelectIOs are used, the PAD file also contains details of the pads that must be used for the input reference voltage (VREF), and those that must be used for the output reference voltage (VCCO). For the VREF pads, their location and the value of the input reference voltage is shown. A sample Virtex PAD file follows.

PAR: Xilinx Place And Route M1.5.13.
   Copyright (c) 1995-1998 Xilinx, Inc.  All rights reserved.
   Wed May  6 10:15:49 1998
Xilinx PAD Specification File
*****************************
Input file:       virtex_test.ncd
   Output file:      virtex_test.out.ncd
   Part type:        xcv50
   Speed grade:      -5
   Package:          pq240
Wed May  6 10:15:49 1998
Pinout by Pin Name:
   +------------------------------------------------+-----------+----------+
   |                   Pin Name                     | Direction |  Pin Number  |
   +------------------------------------------------+-----------+----------+
   | a<0>                                           |  INPUT    | P97          |
   | a<1>                                           |  INPUT    | P99          |
   | a<2>                                           |  INPUT    | P103         |
   | a<3>                                           |  INPUT    | P113         |
            .
            .
            .
   +------------------------------------------------+-----------+----------+
   |               Dedicated or Special Pin Name                |  Pin Number  |
   +------------------------------------------------------------+----------+
   | CCLK                                                       | P179         |
   | DONE                                                       | P120         |
   | GND                                                        | P14          |
            .
            .
            .
   | VCCO                                                       | P197         |
   | VCCO                                                       | P105         |
   | VREF (0.90V)                                               | P9           |
   | VREF (0.90V)                                               | P70          |
   | VREF (0.90V)                                               | P84          |
   | VREF (1.50V)                                               | P36          |
   | VREF (1.50V)                                               | P50          |
   +------------------------------------------------------------+----------+
   Pinout by Pin Number:
   +--------------+-----------------------------------+-----------+--------+
   |  Pin Number  |           Pin Name                | Direction | Constraint |
   +--------------+-----------------------------------+-----------+--------+
   | P1           | GND                               |           |            |
   | P2           | TMS                               |           |            |
            .
            .
            .
   | P9           | VREF (0.90V)                      |           |            |
   | P36          | VREF (1.50V)                      |           |            |
   | P61          | VCCO                              |           |            |
   +--------------+-----------------------------------+-----------+--------+
   #
   # Pinout constraints listing
   # These constraints are in PCF grammar format
   # and may be cut and pasted into the PCF file
   # after the "SCHEMATIC END ;" statement to
   # preserve this pinout for future design iterations.
   #
            .
            .
            .
Next