You are on page 1of 17

synopsys

Silicon to Software

ICCII Freeze Silicon ECO Flow


Q-2019.12-SP2

ICCII ECO Team


03/27/2020
Outline
•Freeze Silicon ECO Flow
•User-Manageable Spare Cell Mapping Flow
•Programmable Spare Cell (PSC) Mapping Flow

synopsys Synopsys Confidential Information


ICCII Freeze Silicon ECO Flow Overview
•Making ECO change with only changing metal and via mask patterns,
recommended if taped out
•Utilize pre-inserted spare cells
•Programmable spare cell freeze silicon flow is available

synopsys Synopsys Confidential Information © 2019 Synopsys, Inc. 3


ICCII Freeze Silicon ECO Flow

add_spare_cell ; spread_spare_cell ;
Insert and place spare cells
place_eco_cells -legalize_only

Place & Route place_opt; clock_opt; route_opt;


/
eco_netlist or user-defined ECO TCL
Update netlist with ECO changes
source eco_script.tel
7
r

Feasibility analysis check_freeze_silicon

place_freeze_silicon , batch mode


Map new ECO cells to spare cells
map-freezejsilicon, manual mapping
r A

Connect PG and Tie connect_freeze_silicon_tie_cells

Update routing with ECO changes route_eco

synopsys Synopsys Confidential Information ©2019 Synopsys, Inc. 4


ICCII Freeze Silicon ECO Flow
Insert and Place Spare Cells

•User-Instantiated spare cells in verilog


- Verilog-in, placed and legalized during placement optimization
- place_opt
- TCL-in, manually add additional spare cells in Verilog, eco_netlist to create TCL ECO change file and
apply changes
- eco_netlist -by_verilog_file spare.v -write_changes spare.tel;
- source spread_spare_cells; place_eco_cells -legalize_only
•ICCII-lnserted spare cells
- Create and place spare cells
- add_spare_cells
- Legalize spare cells incrementally
- place_eco_cells -legalize_only \
— cells $spare_cells

V synopsys Synopsys Confidential Information ©2019 Synopsys, Inc. 5


ICCII Freeze Silicon ECO Flow
Map ECO Cells to Spare Cells

Placement base mapping (place_freeze_silicon)


- Coarse placement on ECO cells.
- Map ECO cells to the closest compatible spare cells

© 2019 Synopsys, Inc. 6


ICCII Freeze Silicon ECO Flow
Manual Freeze Silicon ECO
• Manual mapping for identifying specific cells for ECO

map_freeze_silicon -eco_cell eco_cell_names \


-spare_cell spare_cell_name \
[-filler_map_strategy pack_left|pack_right|pack_top
| pack_bottom|closest ]|
[-map_file map_file_name]

*Map file syntax


cell_l spare_cell_l
cell_2 spare_cell_2
cell_3 spare_cell_3 pack_top

synopsys Synopsys Confidential Information ©2019 Synopsys, Inc. 7


Outline

•Freeze Silicon ECO Flow


•User-Manageable Spare Cell Mapping Flow
•Programmable Spare Cell (PSC) Mapping Flow

synopsys Synopsys Confidential Information


ICC II Freeze Silicon ECO Flow
User Manageable Spare Cell Mapping

Features:
Insert and place spare cells
- Move ECO cells on top of targeted spare cell locations
without swapping spare cell
Place & Route - Perform analysis for timing, power, congestion
- Re-map as appropriate
Update netlist with ECO changes - Support both regular spare cells and PSC

Feasibility analysis place_freeze_silicon


Trial Spare/ECO mapping
, -no spare cell swapping

Map new ECO cells to spare cells Analysis QoR report_timing


place freeze silicon
Connect PG and Tie Commit Spare/Eco Mapping
. -map spare cell only
Update routing with ECO changes

synopsys Synopsys Confidential Information ©2019 Synopsys, Inc. 9


ICC II Freeze Silicon ECO Flow
User Manageable Spare Cell Mapping: Trial Mapping

Apply netlist changes • place_freeze_silicon -no_spare_cell_swapping


Analyze eco cells and
• No spare cell mapping
spare cells • Move the eco cells to the locations of the candidate
spare cells.
Trial map eco cells to
spare cells • place_freeze_silicon -no_spare_cell_swapping
-map_spare_ce11s_only
Analysis and remap eco
cells
• Enable user driven QoR tuning
• Use -map_spare_ceiis_oniy to avoid moving eco
map eco cells to spare cells from targeted location
cells
• May need to iterate between trial map and analysis (next
PG and ECO Route step) more than once if needed

synopsys Synopsys Confidential Information ©2019 Synopsys, Inc. 10


ICC II Freeze Silicon ECO Flow
User Manageable Spare Cell Mapping: Analyze Mapping

Apply netlist changes


• Check eco cells connectivity to see if trial
Analyze eco cells and mapped location is reasonable.
spare cells
• Run timing and congestion analysis to
Trial map eco cells to
spare cells determine if the locations of the eco cells are
acceptable
Analysis and remap eco
cells •If there is a need to adjust the eco cells
map eco cells to spare mapping order, create a eco cells collection
cells sorted by the desired criteria

PG and ECO Route • For routability, mark spare cells in congested


area as fs_dont_use

synopsys Synopsys Confidential Information ©2019 Synopsys, Inc. 11


ICC II Freeze Silicon ECO Flow
User Manageable Spare Cell Mapping: Commit Mapping

Apply netlist changes

Analyze eco cells and • Batch mode mapping:


spare cells • place_freeze_silicon
Trial map eco cells to -map_spare_cell_only
spare cells
• Manual spare cell mapping:
Analysis and remap eco
cells 1. place_freeze_silicon -write_map_file
$map_file
map eco cells to spare 2. map_freeze_silicon -map_file
cells
$map_file
PG and ECO Route

synopsys Synopsys Confidential Information © 2019 Synopsys, Inc. 12


ICC II Freeze Silicon ECO Flow
User Manageable Spare Cell Mapping: User Interface

• Options in place_freeze_silicon
[ -no_spare_cell_swapping]
- Trial map spare cells
- User can preview the mapping results as well as doing analysis and manually remap ECO cells if needed.
- A new cell attribute fs_mapped_ceii_name is used to record the mapping relationship. For ECO cells, the attribute
value is the trial mapped spare cell name and vice versa.

[ -map_spare_cells_only ]
- Perform spare cell mapping based on existing ECO cell location
- The option can be used after you apply -no_spare_cell_swapping and finalize the location of the ECO cells
- Mutually exclusive With -write_map_file

[-write_map_f ile <file_name> ]


- Write out ECO cell and spare cell mapping file to be used by map_freeze_silicon
- If user manually moves the eco cell after -no_spare_cell_swapping, the command removes the relationship of the
mapping pair

synopsys Synopsys Confidential Information ©2019 Synopsys, Inc. 13


ICC II Freeze Silicon ECO Flow
User Manageable Spare Cell Mapping: New Spare Cell Attribute

• set—attribute $spare_cell [fs_dont_use] true/false


- Spare cell marked as fs_dont_use should not be mapped
- User can select spare cells in congested area and set attribute to be fs_dont_use to prevent these
spare cells to be used

synopsys Synopsys Confidential Information ©2019 Synopsys, Inc. 14


Outline

•Freeze Silicon ECO Flow


•User-Manageable Spare Cell Mapping Flow
•Programmable Spare Cell (PSC) Mapping Flow

synopsys Synopsys Confidential Information ©2019 Synopsys, Inc. 15


ICC II Freeze Silicon ECO Flow
Programmable Spare Cell (PSC) Freeze Silicon Flow

Insert and place spare cells

Place & Route


/ X
1 Set PSC attribute on FILLER lib set_attribute [get_lib_cells
Update netlist with ECO changes I & ECO instance FILL PSC] psc type id 1
k — — — y

Insert Filler Cells create_stdcell_fillers

set_at.tribute $filler_cells
Feasibility analysis Set spare cell attribute on fillers
is spare cell true

Map new ECO cells to spare cells place_freeze_silicon


-lib_cells_for_filler_recovery FILL_PSC

Connect PG and Tie To initial PSC Freeze Silicon flow:


Update routing with ECO changes -Set PSC attribute to both the gate array cell and its
correspondingly sized filler cell
- Insert regular fillers
- Set filler cells as spare cells
synopsys Synopsys Confidential Information © 2019 Synopsys, Inc. 16
ICC II Freeze Silicon ECO Flow
Programmable Spare Cell (PSC) Freeze Silicon Flow: Example
filllx psc_type_id = 1
^nq
fill2x filllx fill3x fill4x filllx BF1 psc_type_id = 1

1 1 ND1 psc_type_id = 2

fill2x filUlx flll2x filllx fill2x


nad2_psc fill2x

fill4x
psc_type_id = 2

psc_type_id = 2

set_attribute [get_lib_cells FILLLIB/fill2x] psc_type_id 1 // Mark PSC type for filler cells
set_attribute [get_lib_cells STDLIB/ND1] psc_type_id 1 // Mark PSC type for std cells

create_stdcell_fillers -lib_cells [get_lib_cells FILLLIB/fill2x] II Create filler cells

set_app__option design.eco_freeze__silicon_mode true


create_cell ecol ND1 // Apply ECO changes
set_app_option design.eco_freeze_silicon_mode false

check_freeze_silicon // Check ECO feasibility


place_freeze_silicon // Implement ECO via PSC filler mapping

synopsys Synopsys Confidential Information ©2019 Synopsys, Inc. 17

You might also like