read_iphys_opt_tcl - 2024.1 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
UG835
Release Date
2024-05-30
Version
2024.1 English

load iPhysOpt script and run it.

Syntax

read_iphys_opt_tcl [‑fanout_opt] [‑critical_cell_opt] [‑replicate_cell]
    [‑reconnect] [‑placement_opt] [‑forward_retime] [‑backward_retime]
    [‑dsp_register_opt] [‑bram_register_opt] [‑uram_register_opt]
    [‑shift_register_opt] [‑shift_register_to_pipeline] [‑auto_pipeline]
    [‑pipeline_to_shift_register] [‑control_set_opt] [‑critical_pin_opt]
    [‑restruct_opt] [‑equ_drivers_opt] [‑include_skipped_optimizations]
    [‑create_bufg] [‑insert_negative_edge_ffs] [‑hold_fix]
    [‑slr_crossing_opt] [‑memory_rewire_opt] [‑quiet] [‑verbose] [<input>]

Usage

Name Description
[-fanout_opt] Fanout optimization including very high fanout optimizations
[-critical_cell_opt] Do cell-duplication based optimization on timing critical nets
[-replicate_cell] Atomic cell replication operation for interconnect retiming and LUT optimization
[-reconnect] Reconnect loads from equivalent drivers for interconnect retiming and LUT optimization
[-placement_opt] Move cells to reduce delay on timing-critical nets
[-forward_retime] Forward retiming optimization
[-backward_retime] Backward retiming optimization
[-dsp_register_opt] DSP register optimization
[-bram_register_opt] BRAM register optimization
[-uram_register_opt] UltraRAM register optimization
[-shift_register_opt] Shift register optimization
[-shift_register_to_pipeline] Shift register to pipeline optimization
[-auto_pipeline] Auto pipeline
[-pipeline_to_shift_register] pipeline to shift register optimization
[-control_set_opt] Control set optimization
[-critical_pin_opt] Pin Swap optimization
[-restruct_opt] LUT restructuring optimization
[-equ_drivers_opt] Equivalent driver rewiring
[-include_skipped_optimizations] Apply undo changes
[-create_bufg] Insert bufg to drive HFO nets
[-insert_negative_edge_ffs] Inserting negative edge triggered FFs for high hold mitigation
[-hold_fix] Inserting buffers for hold fix optimization
[-slr_crossing_opt] Optimize slr crossing nets
[-memory_rewire_opt] memory rewire optimization
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
[<input>] iPhysOpt.tcl file

Categories

Tools

Description

Interactive physical optimization can be used in two ways:

  • Applying post-placement physical optimizations to the pre-placement netlist to improve the overall placement result and improve design performance.
  • Saving the physical optimizations in a Tcl script to be repeated as needed.

To apply post-placement optimizations to the pre-placement netlist, you can reset the implementation run and open the synthesized design, or open the opt_design checkpoint, and read the iphys_opt Tcl script to apply the physical optimizations.

You can apply all optimizations from the iphys_opt Tcl script, or apply specific optimizations using the options of the read_iphys_opt_tcl command. You can also include any optimizations that were defined but skipped during physical optimization.

If the iphys_opt Tcl script includes placement data, you can use that data to place the optimized cells in the design.

After reading the iphys_opt Tcl script, and placing the optimized cells, you can rerun placement for the overall design. The design now incorporates the benefits of the phys_opt_design optimizations before placement, such as fewer high-fanout nets due to replication, and fewer long distance paths from block RAM outputs. The results should be a better placement, and improved design performance, due to the early application of netlist optimizations.

This command returns a transcript of its processes, or returns an error if it fails.

Arguments

-fanout_opt - (Optional) Apply the fanout optimizations that are defined in the specified interactive physical optimization Tcl script.

-critical_cell_opt - (Optional) Applies the cell replication optimizations that are defined in the specified Tcl script.

-placement_opt - (Optional) Applies the cell placement optimizations that are defined in the specified Tcl script.

-rewire - (Optional) Applies the logic cone refactoring that are defined in the specified Tcl script.

-dsp_register_opt - (Optional) Applies the DSP optimizations that are defined in the specified interactive physical optimization Tcl script.

-bram_register_opt - (Optional) Applies the Block RAM optimizations that are defined in the specified Tcl script.

-shift_register_opt - (Optional) Applies the shift register optimization that are defined in the specified Tcl script.

-critical_pin_opt - Applies the pin-swapping that are defined in the specified Tcl script.

-include_skipped_optimizations - (Optional) Apply the skipped optimizations that are defined in the input Tcl script, as well as the standard optimizations. These are optimizations identified by phys_opt_design that are skipped because suitable locations for optimized logic cannot be found. When this option is specified, the iphys_opt_design command will attempt to use the included skipped optimizations in the pre-placement netlist.

-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.

<input> - (Required) The name of the interactive physical optimization Tcl file to read.

Note: If the path is not specified as part of the file name, the tool will search for the specified file in the current working directory and then in the directory from which the tool was launched.

Examples

The following example applies the Block RAM optimizations that are defined in the specified interactive physical optimization Tcl script, and applies any placement data for the optimized cells:

open_checkpoint C:/Data/opt_design.dcp
read_iphys_opt_tcl -shift_register_opt -placement_opt C:/Data/my_iphys_opt.tcl