Optimization Sweeping

You can use the scripts to sweep through all of the place-and-route optimization settings to find out which one works best for your design.

Example Usage

To sweep all of the optimization levels for project helloworld:

efx_run_pnr_sweep.py helloworld.xml sweep_opt_levels 
efx_run_pnr_sweep.bat helloworld.xml sweep_opt_levels

Using the Results

When sweeping completes, open the timing.sum.rpt file in the project directory. It gives an overview of the clocks analyzed and their frequency for each optimization setting. The following code shows and excerpt of the summary report for sweeping optimization levels for the pt_demo project.

|---------------------------------------------------------------|
|          Maximum possible analyzed clocks frequency           |
|---------------------------------------------------------------|
|                                                               |
|---------------------------------------------------------------|
| Clock Name: Oclk                                              |
|---------------------------------------------------------------|
|              |   Period (ns)    | Frequency (MHz)  |   Edge   |
|---------------------------------------------------------------|
| CONGESTION_1 |      6.453       |     154.964      |  (R-R)   |
| CONGESTION_2 |      6.867       |     145.620      |  (R-R)   |
| CONGESTION_3 |      8.141       |     122.841      |  (R-R)   |
|   TIMING_1   |      8.570       |     116.682      |  (R-R)   |
|   TIMING_2   |      8.914       |     112.182      |  (R-R)   |
|   TIMING_3   |      8.711       |     114.798      |  (R-R)   |
|---------------------------------------------------------------|

You can also review detailed reports in the run_sweep_<string>/seed_<number>/outflow directory.

If you are happy with the results for one of the optimization levels, you can set that option in your project:

  1. Open the Project Editor.
  2. Click the Place and Route tab.
  3. Choose the Value you want to set for the optimization level.
  4. Click OK.
  5. Recompile.