Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
217 views28 pages

Hierarchical Flow

hier

Uploaded by

Sd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
217 views28 pages

Hierarchical Flow

hier

Uploaded by

Sd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

IC Compiler I-2013.

12 CAE Training
Hierarchical Flow

Design Planning CAE

© Synopsys 2013 1
Enhanced Data Flow Analysis and
Improved RDL Route Shielding
• Improved RDL routing flow
Read Verilog
with support for RDL net
shielding
Initial Placement • New, highly integrated Data Flow
• Support for creating and Analysis tool
removing RDL net shields with
new create_rdl_shield I/O Planning
• DFA Control Center panel organizes
command RDL Routing
functions for easy operation
• Reporting pinpoints blockages Data Flow
Analysis • All legacy DFA critical functions are
and other issues that prevent supported
complete shielding
Plan Group
Shaping

Power Network
Synthesis

Timing Budgeting

Hierarchical Flow

© Synopsys 2013 2
Two Major Projects for I-2013.12

• RDL Shielding
– New command (RDL routing flow)

• Data Flow Analysis


– LayoutWindow integration

© Synopsys 2013 3
IC Compiler I-2013.12 CAE Training
RDL Shielding

© Synopsys 2013 4
Overview

• To simplify shield wire creation and removal for routed


RDL nets, IC Compiler supports the new
create_rdl_shield command

• To improve the shielding ratio, routing resources for


shielding wires must be reserved during the routing
stage
– The route_rdl_flip_chip command routes RDL nets and
reserves additional space to create shielding wires
– The push_rdl_route or optimize_rdl_route commands
also reserve space for shielding wires on RDL nets

© Synopsys 2013 5
Flow to Create Shielding Wires for Nets
• P/G P/G P/G
• P/G P/G P/G
define_routing_rule Define shielding rules

set_net_routing_rule Set rules to target nets

set_route_rdl_options Set the shielding net

route_rdl_flip_chip Route RDL nets

push_rdl_route Modify routes (Optional)


/optimize_rdl_route

create_rdl_shield Create shielding wires

© Synopsys 2013 6
Define the Shielding Net
set_route_rdl_options
set_route_rdl_options
[-layer_bump_spacings {layer_spacing_list}]
[-connect_edge_center true | false]
[-detour_cost low | high]
[-secondary_routing_layer_cost low | medium | high]
[-layer_routing_angles {layer_angle_list}]
[-shielding_net net_name]

• Example
set_route_rdl_options -shielding_net VSS \
-layer_bump_spacings {M8 5}

• Report current RDL route options


report_route_rdl_options

© Synopsys 2013 7
Create Shielding Wires
create_rdl_shield
create_rdl_shield
-layers layer_list
[-nets collection_of_nets | -nets_in_file
nets_file]
[-mode new | unshield | reshield]
[-shield_on_bump true | false]
[-shield_via_tie true | false]
[-shield_routing_tie true | false]
[-trim_floating true | false]
Example:
create_rdl_shield –layers {ZA M8} –mode new \
–nets {PAD_NET1 PAD_NET2}

© Synopsys 2013 8
Creating and Replacing Shield Wires
create_rdl_shield –mode mode_type

-mode new
• Creates new shielding wires on target layers for unshielded nets
• If a target net is fully or partially shielded on a target layer, no new
shielding wire is created on that layer
• If a target net does not have shielding rules defined by
define_routing_rule or its shielding width of target layer defined by
define_routing_rule is 0, the tool skips this net and issues a
warning message
-mode unshield
• Removes existing shielding wires on target layer that are associated with
shielded nets
• Removes vias and routes used to tie (route type is “shield dynamic”)
-mode reshield
• Creates new shielding wires on target layer after unshielding the nets

© Synopsys 2013 9
Example #1

create_rdl_shield –layers ZA –nets PAD_NET1 \


–shield_on_bump true

create_rdl_shield –layers ZA –nets PAD_NET1 \


–shield_on_bump false

© Synopsys 2013 10
Example #2
• When creating shielding wires for PAD_NET1 and PAD_NET2 with ground net gndNet,
you can use the following command:
create_rdl_shield –layers {ZA M8}
–mode new
–nets {PAD_NET1 PAD_NET2}
• This command reports the shielding ratios per net:

Layer ZA :
Shielded 80% side-wall of (PAD_NET1)
Shielded 100% side-wall of (PAD_NET2)
Shielded 2 nets with average ratio as follows
1) 90.00% (total shield ratio/number of shielded nets)
2) 95.00% (total shield length/total shielded net length)

Layer M8:
Shielded 85% side-wall of (PAD_NET1)
Shielded 90% side-wall of (PAD_NET2)
Shielded 2 nets with average ratio as follows
1) 87.50% (total shield ratio/number of shielded nets)
2) 88.00% (total shield length/total shielded net length)

© Synopsys 2013 11
DRC Concerns
• Shielding wires created by create_rdl_shield
should not have any DRC violations, including spacing
violations or 45 degree acute angles
• Fat rules are not honored in the RDL router
• Example violations
– Spacing violation formed by two shielding
wires of different shielded nets

– A 45 degree acute angle violation formed


by shielding wires is a violation
– (90 degree angle is OK)

© Synopsys 2013 12
Recommended Flow to Update Nets With
Existing Shields
1) Remove shielding wires with one of these commands:
• create_rdl_shield –mode unshield
• remove_route_by_type –shield
• remove_net_shape [get_net_shapes -shield_of N]

2) Apply push_rdl_route or optimize_rdl_route to


the nets

3) Create shielding wires for targets


create_rdl_shield –mode new

© Synopsys 2013 13
I-2013.12 Design Planning
Data Flow Analysis (DFA)
Layout Window Integration

© Synopsys 2013 14
Data Flow Analysis
UI Integrated Into IC Compiler Layout Window
• Same capabilities, and more, Before 2013.12: Two window UI
all available in Layout Window
– Consumes less screen space
DFA Viewer IC Compiler
Window Layout Window
• Logical modules are presented
as module object blocks to the
left of the design
– Can easily create a placement
movebounds from a module
object block 2013.12: Single window UI

• Logical connectivity analysis


now performed directly in
Layout Window
– Module sizes represent actual
area @ utilization %

© Synopsys 2013 15
Data Flow Analysis
Accessing The 3 Parts Of Data Flow Analysis
DFA includes 3 parts: Pull-downs
1. Logic Connectivity Analysis
– Performed in DFA Viewer DFA Viewer IC Compiler
Window Layout Window
– Now integrated in Layout
Window

2. Advanced Flyline Analysis


– Formerly accessed from
pull-down Tabbed palette
– Now accessed from palette

3. Macro Editing
– Formerly accessed from
pull-down
– Now accessed from palette

© Synopsys 2013 16
Data Flow Analysis
Logic Connectivity Analysis In Layout Window
• Module data, such as hard DFA Modules / Hierarchy Browser
macro count and utilization
displayed on each DFA
module (lower left corner)

• Can color and cross-color


DFA children modules in
layout
– Can “mirror” colors set in
the Hierarchy Browser
– Same UI command is
set_hierarchy_color

• Can save module object


block layout to a file, then
reload file to resume work

© Synopsys 2013 17
Data Flow Analysis
Logic Connectivity Analysis, Use Mouse To See More
Click or Cursor
1. Left click inside DFA module
– Displays total # of net
connections to other module
object blocks (red lines) 3
– Displays connections to 2
module I/Os (yellow lines) 1

2. Place cursor over module


object block edge
– Displays module information
in an InfoTip

3. Left click on a connection


flyline
– Displays net names, by
driver/load direction

© Synopsys 2013 18
Data Flow Analysis
Summary

• We continue to invest in DFA Integrated In Layout Window


DFA and other floorplan
analysis capabilities

• Our objective is to
provide assistance in
addition to automation

• Your success is our


success

© Synopsys 2013 19
Agenda

End-of-Life of ILMs

Attribute to Query Blocks With Abstraction Data

© Synopsys 2013 20
Agenda

End-of-Life of ILMs

Attribute to Query Blocks With Abstraction Data

© Synopsys 2013 21
End-of-Life of ILMs
• Starting with version I-2013.12, the following commands are
obsolete as part of the phased end-of-life of ILMs:
create_ilm, create_ilm_models,
write_interface_timing, compare_interface_timing
– IC Compiler issues an OBS-030 error message when you use any of
them
Error: Starting from the 2013.12 release, the command
%s is no longer supported. (OBS-030)

• IC Compiler issues an OBS-001 message when you use the


following commands:
get_ilms, report_ilm, check_ilm,
get_ilm_objects, propagate_ilm

Warning: Starting from the 2014.09 release, the command %s


will no longer be supported (OBS-001)

© Synopsys 2013 22
End-of-Life of ILMs

• IC Compiler issues an OBS-031 warning message when you use


ILMs at the top level
Warning: Starting from the 2014.09 release, ILMs will no longer
be supported. Use blocks with block-abstraction information
instead. (OBS-031)

• To support the hierarchical clock mesh flow, the


propagate_ilm –clock_mesh_annotation command is
replaced by the
propagate_clock_constraints –clock_mesh_annotation
command

© Synopsys 2013 23
Agenda

End-of-Life of ILMs

Attribute to Query Blocks With Abstraction Data

© Synopsys 2013 24
Attribute to Query Blocks With
Abstraction Data
• Overview
– Starting with H-2013.03-SP2, IC Compiler supports querying
blocks that are annotated with abstraction information

• Benefit
– Improved ease-of-use; you can now check if a block is annotated
with abstraction data without loading the top-level design

© Synopsys 2013 25
Usage Details

• To get a collection of blocks for which block abstractions


have been created, run the following commands after you
open the design library:

set BLOCK_LIST {block1 block2 ...}


get_mw_cels \
–filter "@has_block_abstraction == true" \
$BLOCK_LIST

© Synopsys 2013 26
Summary

• The phased end-of-life of ILMs continues with the


create_ilm and associated commands being made
obsolete in version I-2013.12

• Without loading the top-level design, you can check if a


block has a corresponding block abstraction based on
the has_block_abstraction attribute setting

© Synopsys 2013 27
Thank You

© Synopsys 2013 28

You might also like