Placement Script Analysis
Placement Script Analysis
BY : Abhishek Mandole
LinkedIn : Abhishek Mandole
add_buffer [get_nets –of [get_ports *] ] [get_lib_cells */SAEDRVT14_BUF_20]
▪ This code automates the process of adding buffers to all the nets connected to the chip's external
ports. Buffers are small driver circuits that strengthen the signal on a net, improving signal
integrity.
▪ [get_ports *]: This command retrieves a list of all the ports (input/output pins) of the design.
▪ [get_nets –of [get_ports *] ] : This command uses the output (-of) of the previous command (list
of ports) to find all the nets that are connected to any of those ports. Essentially it identifies all the
nets that interact with the external world.
▪ [get_lib_cells */SAEDRVT14_BUF_20] : This command retrieves information about a specific
cell from the standard cell library. In this case, it targets the cell named “SAEDRVT14_BUF_20”
which likely represents a buffer with a specific driving strength (SAEDRVT14) and size (20).
magnet_placement [get_ports *]
▪ This command instructs the tool to prioritize placing certain standard cells close to specific ports
during the placement process. These standard cells are likely I/O (input/output) buffers or cells that
are critical for signal integrity at the chip's interface.
▪ magnet_placement : This function or command suggests a placement strategy where specific cells
are “attracted” to certain locations.
▪ [get_ports *] :This part retrieves a list of all the ports (input/output pins) of the design
BY : Abhishek Mandole
LinkedIn : Abhishek Mandole
set_attribute [get_cells eco_cel *] physical_status fixed
▪ set_attribute : This command is used to modify attributes (properties) of design objects, such as
cells in this case.
▪ [get_cells eco_cel *] : This part retrieves a list of cells that match a specific criteria.
▪ get_cells : This function retrieves cells based on some criteria.
▪ eco_cell * : This specifies the criteria for selecting cells. “eco_cell” This likely refers to a
specific cell property or "cell tag" that identifies ECO (Engineering Change Order) cells.
▪ “*” : Indicates selecting all cells with this property.
▪ physical_status fixed : This defines the new value you want to set for the "physical_status"
attribute of the selected cells. Here, "fixed" indicates that the placement of these cells should be
fixed.
BY : Abhishek Mandole
LinkedIn : Abhishek Mandole
▪ get_cells : This retrieves cells based on specific criteria.
▪ -physical_context : This likely considers the physical location or placement of the cells.
▪ -filter design_type==macro : This filter selects only those cells where the “design_type”
attribute is equal to "macro". Essentially, it targets all macro cells within the design.
▪ -to [all_registers] : This part defines the destination objects for the group.
BY : Abhishek Mandole
LinkedIn : Abhishek Mandole
▪ -from [all_inputs] : This part defines the source objects for the group. Here, "[all_inputs]" refers to
all input pins of the design
▪ -to [all_registers] : This part defines the destination objects for the group. Here, "[all_registers]"
refers to all registers present in the design.
BY : Abhishek Mandole
LinkedIn : Abhishek Mandole
set_app_options -name place.coarse.congestion_driven_max_util -value 0.6
▪ -name place.coarse.congestion_driven_max_util -value 0.6 : You are instructing the placement
tool during the "coarse" placement stage to use a congestion-driven approach but limit the overall
cell utilization to a maximum of 60%.
analyze_lib_cell_placement -lib_cells *
▪ analyze_lib_cell_placement : This function or command initiates an analysis specifically focused
on the placement of standard library cells.
▪ -lib_cells * : This option specifies the target cells for analysis. The wildcard character “*” indicates
all standard library cells in the design.
create_placement –congestion
▪ Initiates the placement process with a focus on congestion management.
▪ create_placement : This command or function triggers the placement stage of the design flow,
where standard library cells are arranged on the chip layout.
▪ -congestion : This option instructs the placement tool to prioritize congestion management during
the placement process.
check_legality –verbose
▪ check_legality : This command initiates a design rule check (DRC) on your design.
▪ –verbose : This option instructs the tool to provide a more detailed output compared to the
default behavior.
BY : Abhishek Mandole
LinkedIn : Abhishek Mandole
analyze_design_violations
▪ Initiates a process to examine your design for potential rule violations.
report_qor –summary
▪ You instruct the tool to generate a concise report focusing on the essential QoR metrics. This
summary can help you quickly assess the overall health of your design layout.
report_timing
▪ The tool analyzes your design layout, including the placed and routed cells, and calculates the delays
for various signal paths.
BY : Abhishek Mandole
LinkedIn : Abhishek Mandole
report_utilization -config core_utilization
▪ report_utilization : command is likely a general command for generating utilization reports in
your EDA tool.
▪ -config core_utilization : option specifies that you want a report focused on the core area
utilization.
BY : Abhishek Mandole
LinkedIn : Abhishek Mandole
Thank You
BY : Abhishek Mandole
LinkedIn : Abhishek Mandole