100% found this document useful (1 vote)
474 views22 pages

ICCII P-2019.03 Platform Library Training PDF

Uploaded by

Naveen Nekkalapu
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
100% found this document useful (1 vote)
474 views22 pages

ICCII P-2019.03 Platform Library Training PDF

Uploaded by

Naveen Nekkalapu
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/ 22

IC Compiler II P-2019.

03 Release
Library Manager Update Training
CONFIDENTIAL INFORMATION
The information contained in this presentation is the confidential and proprietary
information of Synopsys. You are not permitted to disseminate or use any of
the information provided to you in this presentation outside of Synopsys
without prior written authorization.

IMPORTANT NOTICE
In the event information in this presentation reflects Synopsys’ future plans, such plans
are as of the date of this presentation and are subject to change. Synopsys is not
obligated to update this presentation or develop the products with the features and
functionality discussed in this presentation. Additionally, Synopsys’ services and products
may only be offered and purchased pursuant to an authorized quote and purchase order
or a mutually agreed upon written contract with Synopsys.

© 2019 Synopsys, Inc. 2


Agenda

• Exploration Flow Enhancement


• Physical Rules File

© 2019 Synopsys, Inc. 3


Exploration Flow Enhancement

© 2019 Synopsys, Inc. 4


Library Manager Exploration Flow

• The exploration flow is recommended for library assembly and is the flow used for library
configuration
– Currently, by default, all logic libraries must have consistent library cells and arc data
– The -allow_missing option is widely used because it is common to have missing arcs

• The -allow_missing option is now on-by-default in exploration mode


– In exploration mode, the option is no longer needed
– Other library preparation flows are unchanged
# Example
create_workspace -technology $lib_tech -flow exploration EXPLORE
read_db …
read_lef …
read_gds …
check_workspace

© 2019 Synopsys, Inc. 5


Physical Rules File

© 2019 Synopsys, Inc. 6


Physical Rules File
Overview
• The physical rules file (PRF) consolidates placement cell attributes, placement rule constraints,
physical properties for library cells and pins, and stream-in instructions into a unified file format
– Placement rules
– Horizontal cell spacing rule and vertical pin abutment rule

– Library cell physical properties


– allowable_orientation, cell_type, is_mask_shiftable, site_name

– Library pin physical properties


– connect_within_pin, is_diode, is_em_via_ladder_required, must_join_pin, pattern_must_join

– Stream-in instructions
– type, exclude_layers, pin_name_delimiter, port_type_map, text_layer_map,
trace_copy_overlap_shape_from_sub_cell, trace_terminal_length, trace_terminal_type,
trace_unmapped_text, use_only_mapped_text

© 2019 Synopsys, Inc. 7


Physical Rules File
Library Cell Attribute Preparation Flow
• Build from scratch • Update existing cell library

Technology PRF lib_cell


Logic/Timing Physical
File attribute
(.db files) GDSII/LEF PRF lib_cell
Cell Library
CLIB attribute
Timing + Frame
Library Manager
Library Manager
(Edit flow)
.frame

Library Manager
(Library Assembly) Cell Library
(Updated PRF)

Cell Library

© 2019 Synopsys, Inc. 8


Introduction to the Physical Rules File
User Interface in icc2_lm_shell
• You must specify the lc_shell executable location before reading the PRF file
– Set the file.lib.library_compiler_exec_script application option to specify the path to the lc_shell
executable
icc2_lm_shell> set_app_options -name file.lib.library_compiler_exec_script \
-value /LC/Testing/bin/lc_shell

• read_physical_rules # read physical rules


[-include all | cell | library] (Read only the specific rules)
file_name (Physical rules file)
• write_physical_rules # Report current physical rules in library/cell
[-file file_name] (File to write)
[-library library] (The library to report the physical rule rules from)
[-include all | cell | library] (Report only the specific rules)

• remove_physical_rules # Remove physical rules in current library/cel


[-include all | cell | library] (Remove only the specific rules)

© 2019 Synopsys, Inc. 9


Physical Rules File
Usage in icc2_lm_shell
• For physical properties and stream-in instructions,
– write_physical_rules writes out the physical properties whether they are are defined by the PRF or
Tcl commands
– remove_physical_rules does not remove physical properties because they might be defined with
set_attribute

• For stream-in instructions,


– read_physical_rules must be run before read_gds or read_oasis, so that the application options
are set
– The cell and pin attributes are automatically set during check_workspace
– write_physical_rules writes out the application options whether they are are defined by the PRF or
Tcl commands
– remove_physical_rules does not reset the application options because they might be defined with
set_app_options

© 2019 Synopsys, Inc. 10


Physical Rules File
Design Library Attribute Flow
• Step1
Technology PRF design library
Cell library with PRF
– Reference cell library with PRF library cell lib_cell attribute
File attribute

attributes

• Step2 Implementation Tool


– Read PRF with design library attributes and
then perform the place and route flow
– Legacy Tcl commands such as Place and Route
set_placement_spacing_rule are no longer
required

© 2019 Synopsys, Inc. 11


Physical Rules File
User Interface in icc2_shell or fc_shell
• You must specify the lc_shell executable location before reading the PRF file
– Set the SYNOPSYS_LC_ROOT environment variable to to specify the root of the lc_shell installation directory
prompt> setenv SYNOPSYS_LC_ROOT /LC/Testing/

• read_physical_rules # read physical rules


[-include all | cell | library] (Read only the specific rules)
[-library library] (The library to save the physical rules to)
file_name (Physical rules file)

• write_physical_rules # Report current physical rules in library/cell


[-file file_name] (File to write)
[-library library] (The library to report the physical rules from)
[-include all | cell | library] (Report only the specific rules)

• remove_physical_rules # Remove physical rules in current library/cell


[-library library] (The library to remove the physical rules from)

© 2019 Synopsys, Inc. 12


Physical Rules File
Usage in icc2_shell or fc_shell
• By default, the read_physical_rules command reads the PRF file into the library specified by
the library() statement in the PRF file or the current library if the specified library cannot be
found
– If you specify a target library by using the –library option, the command updates the runtime data of
the referenced library cell

• For placement rules,


– read_physical_rules can update both design library and library cell attributes
• For physical properties,
– read_physical_rules can update the settable attributes
– write_physical_rules writes out the physical properties whether they are are defined by the PRF or
Tcl commands
– remove_physical_rules does not remove physical properties because they might be defined with
set_attribute

© 2019 Synopsys, Inc. 13


Physical Rules File
General Syntax
library (name) {
placement_rules (rule_name) {
...
}
cell (cell_name) {
...
pin (pin_name) {
}
}
stream_in_instructions() {
...
}
}

© 2019 Synopsys, Inc. 14


Physical Rules File
Placement Rules Syntax – Horizontal Cell Spacing Rule
library (name) {
placement_rules (rule_name) {
forbidden_horizontal_site_spacing (label1, label2, min, max);
}
cell (cell_name) {
horizontal_spacing_labels ("left_label, right_label", "left_label2, right_label2", …);
}
}

• Legacy Tcl commands


– set_placement_spacing_rule -labels {label1 label2} {min max}
– set_placement_spacing_label -name name -side left | right | both \
-lib_cells lib_cells

© 2019 Synopsys, Inc. 15


Physical Rules File
Placement Rules Syntax – Vertical Abutment Rule
library (name) {
placement_rules () {
forbidden_vertical_abutment_pairs (label1, "label1_1, label_1_2, …");
}
cell (cell_name) {
vertical_abutment_labels_top ("label_t1_1, label_t1_2, …");
vertical_abutment_labels_bottom ("label_b1, label_b2, …");
}
}

• Legacy Tcl commands


– set_attribute [get_lib_cell */AOI/frame] vertical_abut_pattern_top {0 0 1 1}
– set_attribute [get_lib_cell */AOI/frame] vertical_abut_pattern_bottom {1 1 0 2}
– set_app_options -name place.legalize.vertical_abutment_forbidden_pairs \
-value {1-1,1-2,2-2}

© 2019 Synopsys, Inc. 16


Physical Rules File
Physical Cell Properties
library (name) {
cell (cell_name) {
allowable_orientation : ("list_of_orientations");
cell_type : type;
is_mask_shiftable : true | false;
site : site_name;
}
}

• Mapping of physical cell properties in PRF to library cell attributes


PRF physical cell property Tcl command
allowable_orientation allowable_orientation
cell_type design_type
is_mask_shiftable set_attribute [get_lib_cell */AND/frame] is_mask_shiftable false
site site_name
© 2019 Synopsys, Inc. 17
Physical Rules File
Physical Pin Properties
library (name) {
cell (cell_name) {

pin (pin_name) {
connect_within_pin : none | via | via_wire;
is_diode : true | false;
is_em_via_ladder_required : true | false;
must_join_pin : pin_name;
pattern_must_join : true | false;
}
}
}

• Mapping of physical pin properties in PRF to library pin attributes


PRF physical pin property Tcl command
connect_within_pin set_attribute [get_lib_pins */AOI/A1] connect_within_pin via_wire
is_diode set_attribute [get_lib_pins */DOX/O] is_diode true
is_em_via_ladder_required set_attribute [get_lib_pins */DOX/O] is_em_via_ladder_required true
must_join_pin set_attribute [get_lib_pins */AOI/A1] must_join_port
pattern_must_join set_attribute [get_lib_pins */AOI/A1] pattern_must_join true
© 2019 Synopsys, Inc. 18
Physical Rules File
Full Example of Cell and Pin Groups
library ( * ) {
distance_unit : 1um;
length_precision : 1000 ;
cell (AND*) {
is_mask_shiftable : true ;
pin (A1) {
pattern_must_join : true ;
connect_within_pin : via_wire ;
}
pin (A2) {
is_em_via_ladder_required : true ;
}
}
cell (diode) {
pin (I) {
is_diode : true ;
}
}
}

© 2019 Synopsys, Inc. 19


Physical Rules File
Stream-In Instructions
library (name) {
stream_in_instruction () {
type : gds | oasis | both;
exclude_layers("mapping_list");
port_type_map("mapping_list");
text_layer_map("mapping_list");
trace_copy_overlap_shape_from_sub_cell : true | false;
trace_terminal_length : float;
trace_terminal_type : pg | signal | all;
trace_unmapped_text : true | false;
use_only_mapped_text : true | false;
}
}

• The type statement specifies whether the instructions apply to GDSII, OASIS, or both
• The other statements in the stream_in_instruction group set the file.gds.* and
file.oasis.* application options with the same name
© 2019 Synopsys, Inc. 20
Physical Rules File Enhancement
Full Example of stream_in_instructions Group
library ( * ) {
distance_unit : 1um;
length_precision : 1000 ;
stream_in_instructions() {
type : both ;
use_only_mapped_text : false;
trace_copy_overlap_shape_from_sub_cell : false;
trace_unmapped_text: true ;
exclude_layers("M1 EM1:mask_one", "M2 EM2");
port_type_map("VDD power", "VSS ground", "VDDN nwell");
text_layer_map("M1 M1PIN", "M2 M2PIN:1");
trace_terminal_length : 0.1;
trace_terminal_type : signal;
}
}

© 2019 Synopsys, Inc. 21

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy