ICC LG 03 Placement
ICC LG 03 Placement
ICC LG 03 Placement
Learning Objectives
Introduction
In this lab you are provided with a floorplanned design called ORCA_floorplanned
which is ready for the placement phase. You will execute the appropriate pre-
placement setup steps and then perform standard cell placement. After placement
you will analyze the results and execute additional appropriate steps to improve the
results.
Answers / Solutions
There is an ANSWERS / SOLUTIONS section at the back of each lab. You are
encouraged to refer often to this section to verify your answers, or to obtain help
with the execution of some steps.
design_data/
ORCA_TOP.scandef Scan chain information used during scan-
chain re-ordering.
Instructions
UNIX$ cd lab3_placement
UNIX$ icc_shell -gui -shared_license
open_mw_lib orca_lib.mw
open_mw_cel ORCA_floorplanned
source scripts/opt_ctrl.tcl
4. Macro placement is usually defined and “fixed” during design planning. It is,
however, possible that a last minute change is made to the macro placement
while forgetting to “fix” the new location. It is therefore a good idea to repeat
the “fixing” step prior to placement to ensure that no macros are moved
during the placement phase:
set_dont_touch_placement [all_macro_cells]
5. Verify that all process metal layers are available for routing - there should be
no ignored layers:
report_ignored_layers
6. Verify that standard cells are allowed to be placed under the METAL2 –
METAL4 power nets, as long as no DRC violations occur (partial blockage):
report_pnet_options
7. During design planning both soft and hard placement keepouts were applied.
Verify that these variables are still set and are not the default value of zero:
printvar physopt_hard_keepout_distance
printvar placer_soft_keepout_channel_width
.............................................................................
.............................................................................
.............................................................................
.............................................................................
.............................................................................
.............................................................................
check_physical_constraints
11. This design includes scan chains, which were inserted during synthesis. The
netlist that was read into IC Compiler during the data setup phase was a
Verilog netlist.
Question 3. Does the SCANDEF information transfer into IC
Compiler through the Verilog netlist?
.............................................................................
12. Execute the following command to confirm that no scan chain information
exists:
report_scan_chain
The report is empty, which means that no scan chain annotation exists.
13. Load the SCANDEF file (which was generated during synthesis, after scan
insertion):
read_def design_data/ORCA_TOP.scandef
.............................................................................
14. Generate another scan chain report. Use the “view” TCL procedure:
v report_scan_chain
You should see scan chains now! This information will be used during
place_opt to optimize the scan chain ordering.
Question 5. What place_opt option is required to perform
scan chain re-ordering during placement?
.............................................................................
report_saif
source scripts/inputs_toggle_rate.tcl
report_saif
Notice that the toggle-rate coverage is reported under the “User Annotated”
column.
While place_opt is running you may observe the output on the screen
to get an idea of the optimizations that occur.
report_design –physical
.............................................................................
report_qor
.............................................................................
.............................................................................
.............................................................................
report_power
From the previous analysis steps we have determined that we have some
congestions issues and no significant timing violations. We should perform an
incremental optimization to improve the design’s area and power utilization.
2. Generate a congestion map and verify that it is about the same as before:
report_design –physical
.............................................................................
4. Generate a QoR report and check for any setup timing violation:
report_qor
report_power
Answers / Solutions
Question 1. Since the above are variable settings, which are not saved
with a design cell, how did these variables retain their non-
default values?
11.
Question 5. What place_opt option is required to perform scan chain
re-ordering during placement?
-optimize_dft
What place_opt option is required to perform power
optimization during placement?
-power
Question 6. What is the reported standard cell utilization?
No.