ICC2_SAED32nm_Flow
ICC2_SAED32nm_Flow
1. Setup Environment
--------------------
Before running ICC2, set up your environment variables, including library paths and tool settings.
```bash
source /path_to_synopsys_tools/synopsys_setup.sh
export ICC2_HOME=/path_to_icc2
export SAED32NM_LIB=/path_to_saed32nm
export DESIGN_NAME=my_design
export WORK_DIR=/path_to_working_directory
```
```tcl
icc2_shell
read_verilog ./netlist/my_design.v
read_liberty ${SAED32NM_LIB}/saed32nm.lib
read_def ./floorplan/my_design.def
read_sdc ./constraints/my_design.sdc
set_top_module my_design
set_db library ${SAED32NM_LIB}/saed32nm.db
set_db search_path [list ${SAED32NM_LIB} ./lib]
```
3. Floorplanning
----------------
```tcl
create_floorplan -core_utilization 0.7 -aspect_ratio 1 -row_core_ratio 0.9 -left_io2core 5 -right_io2core 5
-top_io2core 5 -bottom_io2core 5
6. Routing
----------
```tcl
route_auto -global
route_auto -detail
verify_drc
```
7. Signoff Checks
-----------------
```tcl
report_timing -path full -delay max -max_paths 10
report_power
verify_drc
verify_lvs
```
```bash
icc2_shell -f icc2_flow.tcl | tee icc2_run.log
```
This script covers the major ICC2 steps using SAED 32nm libraries.