Uploaded by Habibur Rahman

ICC to ICCII migration

advertisement
Migrating a Design From
IC Compiler to IC Compiler II
Agenda
•
Overview
•
Design Data Migration
•
Sanity and Consistency Checkers
© 2016 Synopsys, Inc.
2
Overview
• The IC Compiler tool is enhanced to help you migrate design data to
the IC Compiler II format
• Several commands can output files in an IC Compiler II consumable
format for easy migration and setup
• After you migrated the design, there are two design setup checking
utilities:
– The consistency checker to ensure tool settings are consistent
– The sanity checker to sanity check the design data
© 2016 Synopsys, Inc.
3
Design Data Migration
•
Design Constraints Migration
•
Design Netlist
•
Floorplan Constraints
•
Design Constraints
•
Clock Tree Constraints
•
Scenario Constraints
•
Routing Constraints
•
Script Flow Example
© 2016 Synopsys, Inc.
4
Design Constraints Migration
IC Compiler to IC Compiler II
IC Compiler II Design Setup
IC Compiler
Verilog
write_verilog
write_floorplan
write_script
write_def
write_timing_context
write_rp_groups
report_net_routing_
layer_constraints
save_upf
Floorplan
write_script
output
Layer
constraints
Timing
constraints
UPF
read_verilog
Source floorplan Tcl file
Source write_script command output Tcl file
Source relative placement group Tcl file
Source layer constraint file
Load timing constraints
read_def
load_upf
Apply user define routing constraint if any
set_ignored_layers
set_routing_rule
set_attribute on physical_status
add_via_mapping
DEF
Generate IC Compiler II compliant Tcl scripts for easy transition from
IC Compiler to IC Compiler II
Design Netlist
write_verilog
• Writing out the netlist from IC Compiler for IC Compiler II is the same
as writing out for other tools
– Prepare the netlist names to be Verilog compliant before writing out
• Use the change_names command to prepare the netlist to be Verilog
compliant
icc_shell> change_names –rules verilog –hierarchy
icc_shell> write_verilog –pg from_icc1.v
© 2016 Synopsys, Inc.
6
Floorplan Constraints
write_floorplan
• The write_floorplan command has a –format icc2 option to
make the floorplan file consumable by IC Compiler II
• The content and coverage of the write_floorplan command is no
different than it normally is for IC Compiler
– The only difference is that the Tcl commands are written out using the IC
Compiler II Tcl command names
icc_shell> write_floorplan –format icc2 \
–output from_icc1_fp.tcl
© 2016 Synopsys, Inc.
7
Design Constraints
write_script
• The write_script command has a –format icc2 option to output
the constraints file in a IC Compiler II consumable format
– The content and coverage of the write_script command is the same,
but the commands match the names and format for IC Compiler II
• The following constraints are not covered by the write_script
command:
– set_max_transition
– set_max_capacitance
– set_max_fanout
– set_max_area
– set_max_net_length
icc_shell> write_script –format icc2 \
–output from_icc1_cstr.tcl
© 2016 Synopsys, Inc.
8
Clock Tree Synthesis Constraints
write_script
• One new feature of using the write_script –format icc2
command is that clock tree synthesis (CTS) options are written out
into a new file
– A second file is written out with CTS and timing constraints in a single file
named ${output_name}_cts_setup.tcl
• The following table has the CTS constraints that are covered
Covered CTS Constraints
CTS scenario settings
Target latency
Clock tree references
Clock routing rules
Maximum transition, capacitance and
fanout
Fixed detail routes
Latency adjustment options
Clock tree exceptions
Inter clock delay options
Exceptions on pins, nets, cells
Target skew
Clock cell spacing
© 2016 Synopsys, Inc.
9
Scenario Constraints
write_timing_context
• In IC Compiler a scenario includes mode, corner, and scenario
specific constraints
– The write_timing_context command writes out a Tcl scripts that can be
sourced in IC Compiler II to rebuild the scenarios
• The write_timing_context command generates:
– A directory and scripts that contain the write_script command output
for each scenario
– A wrapper script named top.tcl re-create all the modes, corners, and
scenarios
– Duplicates the IC Compiler scenario options in IC Compiler II
icc_shell> write_timing_context –format icc2 \
–output from_icc1_tim_context
icc2_shell> source from_icc1_tim_context/top.tcl
© 2016 Synopsys, Inc. 10
Design Constraint Setting for Timing
IC Compiler
Scenario options
(setup/hold/power)
Scenario
constraints
(mode/corner etc.)
Manual conversion
• Categorize SDC into
mode/corner/scenario
• Identify common corner/mode
to leverage IC Compiler II
MCMM capacity advantages
IC Compiler II
Scenario options
(setup/hold/power)
Mode
Corner
scenario
IC Compiler II
write_timing_context
Scenario options
(setup/hold/power)
• Push-button solution for initial
migration and new users
• Expanded scenario settings like
IC Compiler
© 2016 Synopsys, Inc. 11
Scenario
constraints
(mode/corner etc.)
Routing Constraints
Not Covered
• The write_floorplan, write_def, and write_script commands
can cover many of the routing constraints but not all routing settings
are covered
• Settings that are not covered
– set_ignored_layers
– Router options (set_route_zrt_common_options to route.common.*
application options, etc.)
– Net routing layer constraints
• The sanity and consistency checkers can help highlight the constraint
differences not covered here
© 2016 Synopsys, Inc. 12
UPF
save_upf
• No special options are necessary for transferring the UPF file to IC
Compiler II
• The same commands can be used for writing out the UPF constraints
for either the UPF Prime or Golden UPF flow
• UPF Prime
icc_shell> save_upf from_icc1.upf
• Golden UPF
icc_shell> save_upf –supplemental from_icc1.supplemental.upf
icc_shell> save_upf –supplemental from_icc1.supplemental.pg.upf \
–include_supply_exceptions
© 2016 Synopsys, Inc. 13
Script Flow Example
Output From IC Compiler and Input Into IC Compiler II
IC Compiler
change_names –rules verilog –hierarchy
write_verilog –pg from_icc1.v
write_floorplan –format icc2 –output from_icc1_fp.tcl
write_script –format icc2 –output from_icc1_cstr.tcl
write_def –all_vias –via_style_as_generated –version 5.7|5.8 \
–output from_icc1.def
write_timing_context –format icc2 –output from_icc1_tim_context
save_upf from_icc1.upf
IC Compiler II
read_verilog –top $design_name from_icc1.v
load_upf from_icc1.upf
read_def from_icc1.def
source from_icc1_fp.tcl
source from_icc1_cstr.tcl
source from_icc1_tim_context/top.tcl
source from_icc1_cstr_cts_setup.tcl
## Apply other routing constraints
© 2016 Synopsys, Inc. 14
Script Flow Example
Output From IC Compiler And Input Into IC Compiler II (Golden UPF)
IC Compiler
change_names –rules verilog –hierarchy
write_verilog –pg from_icc1.v
write_floorplan –format icc2 –output from_icc1_fp.tcl
write_script –format icc2 –output from_icc1_cstr.tcl
write_def –all_vias –via_style_as_generated –version 5.7|5.8 \
–output from_icc1.def
write_timing_context –format icc2 –output from_icc1_tim_context
save_upf –supplemental –include_supply_exceptions \
from_icc1.supplemetal.upf
IC Compiler II
read_verilog –top $design_name from_icc1.v
load_upf golden.upf
load_upf from_icc1.supplemental.upf
read_def from_icc1.def
source from_icc1_fp.tcl
source from_icc1_cstr.tcl
source from_icc1_tim_context/top.tcl
source from_icc1_cstr_cts_setup.tcl
## Apply other routing constraints
© 2016 Synopsys, Inc. 15
After Design Migration
• Settings Consistency Checker
• Design Sanity Checker
• IC Compiler II Reference Methodology
© 2016 Synopsys, Inc. 16
Flow After Design Migration
• Perform setting consistency check
–Compare variables, application option
values and command option values of
the IC Compiler and IC Compiler II
session
• Perform design sanity check
–Compare design timing, constraints,
and physical design data of IC
Compiler and IC Compiler II
• Check IC Compiler II scripts
–Use updated RM scripts as startpoint
© 2016 Synopsys, Inc. 17
IC Compiler II
Placed design
Perform setting
consistency
check
Perform design
sanity check
Check IC Compiler
II scripts
Settings Consistency Checker
© 2016 Synopsys, Inc. 18
Settings Consistency Checker
• The consistency checker allows for automated comparisons of settings
between the IC Compiler and IC Compiler II tools
– Checks and compares the tool settings in key areas of data model, placement,
legalization, timer, extraction, preroute optimization, CTS, routing and
postroute optimization
• The consistency checker is a set of scripts, with the following two main
scripts
– snps_settings.tcl
– Defines a Tcl procedure named report_settings to output the tool session’s settings
– snps_consistency_checker.pl
– A Perl script to compare the output of the report_settings procedure, from both
tools, and report the differences
• SolvNet article #2112936 includes these scripts and information on how
to use them
© 2016 Synopsys, Inc. 19
Settings Consistency Checker
Scripts Flow
# Step 1 in IC Compiler: Open the top design, source snps_settings.tcl, and redirect report_settings to a file
open_mw_lib orca_lib.mw
open_mw_cel orca
source consistency_checker/snps_settings.tcl
redirect –file icc_settings.rpt {report_settings}
# Step 2 in IC Compiler II: Open the top design, source snps_settings.tcl and redirect report_settings to a file
open_lib orca_lib.nlib
open_block orca
source consistency_checker/snps_settings.tcl
redirect –file icc2_settings.rpt {report_setttings}
# Step 3 in UNIX: Pass report_settings outputs from both tools to the snps_consistency_checker.pl
consistency_checker/snps_consistency_checker.pl \
icc_settings.rpt icc2_settings.rpt > consistency.rpt
IC Compiler
icc_settings.rpt
report_settings
UNIX Terminal
IC Compiler II
report_settings
© 2016 Synopsys, Inc. 20
consistency_checker/snps_consistency_checker.pl
icc2_settings.rpt
Design Sanity Checker
© 2016 Synopsys, Inc. 21
Design Sanity Checker
write_sanity_check_point
Checkpoint contents
Setup and hold WNS/TNS/NVP (ZIC)
• Checks design timing, constraints, and
physical design data consistency between IC
Compiler and IC Compiler II
Maximum transition/capacitance
Macro/black box area and cell area
Number of buffers and inverters
Number of ideal nets
• Ensures IC Compiler II design has the same
or similar physical information and constraints
Number of dont_touch cells (+ user-set)
Number of size_only cells (+ user-set)
Number of fixed cells
• Three easy steps to report differences
IC Compiler:
write_sanity_check_point
IC Compiler II: write_sanity_check_point
unix% tkdiff icc_sanity_check.rpt \
icc2_sanity_check.rpt
Ignored layers
Group_path list and weight
Timing paths
Placement blockages (placed cell)
Number of bounds (placed cell)
Number of physical only cells (placed
cell)
Standard cell utilization (placed cell)
Number of voltage areas
© 2016 Synopsys, Inc. 22
Design Sanity Checkers
write_sanity_check_point
• The write_sanity_check_point command outputs a file that is a
simple text file of the design’s checkpoint criteria
– Use a UNIX utility, such as tkdiff, to compare the output file from both
tools
– The criteria should be close or the same between the two tools
© 2016 Synopsys, Inc. 23
Design Sanity Checkers
write_sanity_check_point
• The write_sanity_check_point command has two stages
‐stage setup and –stage placement
• The –stage setup reports all of the checkpoint criteria for the
design, including the zero interconnect timing for the design
• The –stage placement reports all of the same criteria but also runs
the create_placement command under-the-hood to get the wire
length number for comparison
• The –output option controls the name of the output file
– By default, the output file name for the
– Setup stage is sanity_setup_qor_log
– Placement stage it is sanity_placement_qor_log
© 2016 Synopsys, Inc. 24
Design Sanity Checker
write_sanity_check_point example
# Step 1 in IC Compiler: Open the top design and execute the write_sanity_check_point command
open_mw_lib orca_lib.mw
open_mw_cel orca
write_sanity_check_point –stage setup –output icc_sanity_check.rpt
# Step 2 in IC Compiler II: Open the top design and execute the write_sanity_check_point command
open_lib orca_lib.nlib
open_block orca
write_sanity_check_point –stage setup –output icc2_sanity_check.rpt
# Step 3 in UNIX: Use the tkdiff command and compare the output files from both tools to compare
any differences. Expect few to no differences
tkdiff icc_sanity_check.rpt icc2_sanity_check.rpt
© 2016 Synopsys, Inc. 25
Design Sanity Checker
Output File Comparison Example
IC Compiler II
IC Compiler
##SANITY_REPORT_AREA
Buf/Inv Cell Count: 255945
Buf/Inv Area: 239757.408000
Macro/Black Box Area: 506240.707200
Cell Area (netlist): 3058653.739223
##SANITY_REPORT_AREA
Buf/Inv Cell Count: 255945
Buf/Inv Area: 239757.408000
Macro/Black Box Area: 506240.707200
Cell Area (netlist): 3058653.739223
##SANITY_DONT_TOUCH_CELLS
18208
74 (user‐set dont‐touch)
##SANITY_DONT_TOUCH_CELLS
18210
74 (user‐set dont‐touch)
##SANITY_SIZE_ONLY_CELLS
205570
16226 (user‐set size‐only)
##SANITY_SIZE_ONLY_CELLS
205570
16226 (user‐set size‐only)
##SANITY_FIXED_PLACEMENT_CELLS
72
##SANITY_FIXED_PLACEMENT_CELLS
72
##SANITY_IGNORED_LAYERS
Min Routing Layer
Max Routing Layer
RC Estimation Ignored Layers
M2
M8
M1 M7 M8 M9
##SANITY_IGNORED_LAYERS
Min Routing Layer
Max Routing Layer
RC Estimation Ignored Layers
##SANITY_PATH_GROUP
Group Name
Weight
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
REGIN
1.00
REGOUT
2.00
##SANITY_PATH_GROUP
Group Name
Weight
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
REGIN
1.00
REGOUT
1.00
##SANITY_IDEAL_NETS
0
##SANITY_IDEAL_NETS
0
##SANITY_PLACEMENT_BLOCKAGE
Hard Blockage: 72
Soft Blockage: 7
Partial Blockage: 0
...
##SANITY_PLACEMENT_BLOCKAGE
Hard Blockage: 72
Soft Blockage: 7
Partial Blockage: 0
...
© 2016 Synopsys, Inc. 26
M2
M6
M1 M5 M6 M7 M8 M9
IC Compiler II Reference
Methodology
© 2016 Synopsys, Inc. 27
IC Compiler II Reference Methodology
• The IC Compiler II Reference Methodology scripts are a good starting
point for your place and route flow
– The scripts show the flow and features available in the tool
• Download the scripts from SolvNet
– https://solvnet.synopsys.com/rmgen/
© 2016 Synopsys, Inc. 28
Thank You
Download
Study collections