T2 Malla Pres Snps Good
T2 Malla Pres Snps Good
T2 Malla Pres Snps Good
SNUG 2015 1
Agenda
PrimeTime IC Compiler
Run PrimeTime
• Produce ECO changes
ECO Guidance • Generate optimized SNPS tcl output
Run
IC Compiler/ICC-II • ECO Place and legalize
MPI Flow • ECO route
• Inputs
– Netlist + DEF • Outputs
– Library + LEF – ASCII ECO file with
coordinates
– SPEF/SBPF with coordinate
information
Netlist,
StarRC SPEF/
PrimeTime LEF/DEF
IC Compiler
Parasitic SBPF Signoff STA & Optimization
Extraction ECO Guidance ECO list w/
coordinates
non critical
load
High
utilization 0.6v
Macro Macro
High
utilization
CHIP.DEF
• Hierarchical DEF flow BLK_A.DEF
BLK_B.DEF
– Read multiple DEF for top
and block level
– Generate fix guidance
separately for top and BLK_C.DEF
blocks
BLK_D.DEF
Unfixable violations:
D - Cell or net is located in high density area
E - Physical information is incomplete or unavailable
H - Logical and physical hierarchies are inconsistent
O - No open free site is available
• Example:
– Unfixable reason : “O” - No open free site is available
– Action : - Try occupied_site mode to apply more aggressive fixing relative to layout
U1 U6 U8
U3 U4 slack = -3
U2
U5 U7 U9
slack = -2
Start
point Violation Reasons Prio/Slk
-----------------------------------------
S:U2/Z O D P9
End U3/Z S P8 Fixing priority
point U4/Z T P7
U6/Z A T P4
E:U8/D Unfixable -3.0 Endpoint slack
C:U3/Z reasons S P8
Connect U5/Z O D S P7
point U7/Z O D V P2
E:U9/D -2.0
SNUG 2015 15
Synopsys Confidential
PrimeTime to IC Compiler
ECO Flow with Minimal Physical Impact (MPI)
IC Compiler
eco_netlist -by_tcl_file pt_eco.tcl
place_eco_cells \ IC Compiler
-eco_changed_cells \
-legalize_only \ MPI flow
-displacement_threshold 10
legalize_placement -incremental
– Buffer insertion and cell sizing only when open sites available
– Minimizes disturbance to physical layout
– Targeted for final stage ECO
Logical ECO
size_cell U1 AND8X
insert_buffer U2/Z BUF1X New cell placement
information
Physical ECO
size_cell U1 AND2X
insert_buffer U2/Z BUF1X -location {212.3 753.2}
add_buffer_on_route net1 BUF2X –location {215.0 853.2 0}
NewICC
ICCcommand
commandfor for on
on-route
route buffer
buffering
New New
Buffer Buffer
swap HVT_BUF1X
LVT_BUF1X
HVT_BUF1X NVT_BUF1X
NVT_BUF1X
NVT_BUF1X swap HVT_BUF1X
LVT_BUF1X
HVT_BUF1X no swap
Changing
pattern • Changing pattern can be a prefix, suffix or in the middle
• Fixed pattern has to match for the swappable cells
scenario-1
remote_execute {
source pwr_attr.tcl
scenario-2
}
scenario-3
fix_eco_power -power_attribute pwr_attr
…
scenario-x
-methods
-buffer_list
-setup_margin
-hold_margin
-current_library
-verbose
Violation Totals:
Scenario Count Initial noise violation
-------------------------------------------------------- count
mode1 21
mode2 63
...
Final ECO Summary:
--------------------------------------------------------
Number of size_cell commands 154
Number of insert_buffer commands 75 Final ECO sumamry
Total number of commands 229
Area increased by cell sizing 14.04
Area increased by buffer insertion 25.60
Total area increased 39.64
SNUG 2015 46
Thank You
SNUG 2015 47