ICCII 2019.03 Data Model Update Training Part4
ICCII 2019.03 Data Model Update Training Part4
Data Model
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.
• Advanced placement technology needs to support new placement constraints using a bound-
like object that contains cells with a similar placement location.
• Changed Commands:
⁻ get_cells
o The -of_objects option accepts the new placement_attractions object type. The command returns all cells
that are explicit members of a given placement attraction collection.
⁻ get_objects_by_location
o The command returns placement attractions that have a defined region that meets the search criteria.
• Supernets are a collection of flat nets that are connected through buffers and
inverters (repeaters)
• Starting in the P-2019.03 release, the following enhancements have been
added to support supernets:
– Supernets can now be created between two anchor points
– You can query all the transparent cells between the starting and stopping anchor using the
name of the supernet and report the list of nets, ports, and cells from the starting anchor to
the stopping anchor
– Supernet creation is enhanced to stop tracing when it hits a tied-off connection with the
following type of nets: tie_high, tie_low, power, or ground
• To support supernet creation between two anchor points, the create_supernet command is
enhanced with the following new options:
create_supernet
[-start pin_or_port]
[-stop pin_or_port]
• The following example creates a supernet where A1 is the starting anchor and B1 is the
stopping anchor:
• Supernet creation stops tracing when it encounters the following types of nets: tie_high,
tie_low, power, or ground and does not include that net in the supernet
• Both the anchor nodes (start and stop) must be in the same physical hierarchy
• Supernet supports the creation of the anchor on different hierarchy and also supports saving
and restoring the data but it does not support MIB instance specific data
• In the existing block, if a child block has instantiated multiple times, the creation of a supernet
in one child block creates the anchor in all the MIB instances of that block
• You can create, query, remove, and report multidimensional net buses using the following Tcl commands:
– create_net_bus
– report_net_buses
– remove_net_buses
– get_net_buses -of_objects
– get_nets -of_objects
• You can create, query, remove, and report multidimensional port buses using the following Tcl commands:
– create_port_bus
– report_port_buses
– remove_port_buses
– get_port_buses -of_objects
– get_ports -of_objects
• When net A[3][0] of 2-D bus A is deleted, a hole will be created in bus A. When net A[3][0] is re-created, it
will automatically fill the hole at slot [3][0] in bus A.
icc2_shell> create_net_bus A[3:0][2:0] -create_nets
Name Start End Bit order Net
--------------------------------------------------------------------------------
A 11 0 down A[3][2] A[3][1] A[3][0] A[2][2] A[2][1] A[2][0] A[1][2] A[1][1] A[1][0] A[0][2] A[0][1] A[0][0]
• Auto-fill of holes in net_bus and report_net_buses support these kinds of complex structured
buses.
– inM 3 0 down inM[veri] inM[data][2] inM[data][1] inM[parity]
– out 2 0 down out.b out.l out.r
• The project adopts the “MSG” messaging infrastructure in the IC Compiler II tool as a replacement of the
existing messaging system.
get_message_info Prints the number of occurrences as the Prints the number of occurrences as sum
print_message_info number of times the message is actually of the number of times the message is
printed. actually printed and the number of times it
was suppressed.
Message limit The limit on messages is applied for every Same limit across multiple source
source and mega command. For example, commands and mega commands. For
if a message limit is 2, for every source example, if a message limit is 2, the
command, the message can only be message can only be printed twice, even
printed twice. for multiple script sourcing.
• MSG-3913 prints the summary of the suppressed messages at the end of every source or mega command.
It is also printed when you change the limit of a message that was suppressed.
– For example, MSG-3913 is printed out in P-2019.03 in the following circumstances:
– If the MSG-3913 is printed during the source command, as shown, the message is printed with the file information (file name and
line number):
3 out of 5 NDMUI-669 messages were not printed due to limit 2 (after 'set_message_info' at test2.tcl:21) (MSG-
3913)
– If the MSG-3913 is printed at the end of the source command, as shown, the message is printed when the sourcing is finished but
does not include file information:
3 out of 5 NDMUI-669 messages were not printed due to limit 2 (MSG-3913)
• In the hierarchical flow, you can save your lower-level blocks using labels (for example, subblock/pre_place
subblock/post_place) as follows:
save_block -as blockName/labelName
save_block -label labelName
• Starting with version P-2019.03, you can control which labels the tool uses when linking a top-level block to lower-
level blocks by using the new set_label_switch_list command. The command specifies a precedence-ordered list
of labels to use during linking.
For example:
set_label_switch_list {pre_place post_place cts}
set_label_switch_list –reference {mid1 mid2} {post_place}
The first example sets an ordered list of preferred labels for the current design when linking to a subblock.
The second example sets a preferred label for the resolution of references mid1 and mid2.
Note:
the tool searches for a block with the preferred label during linking.
If the requested label is not available, a warning message is issued, and the top block default label is used.
• New Commands:
set_label_switch_list
get_label_switch_list
• The tool monitors the computing resource and network and issues warning messages when
issues are detected
• This monitoring capability and the warning messages are off by default in IC Compiler II.
• To enable these messages, set the following environment variable before running the tool:
setenv SNPS_ICC2_SML_ENABLE 1
These messages will be written out to icc2_sml_<timestamp>.log file by default.
These messages can be written out to the env specified by providing log file name using
SNPS_ICC2_SML_LOGFILE variable
• For more details, see the man page for each message
High CPU usage SML-002 The current process is using <5% of total CPU capability, while
the host is running at >95% load.
Network congestion SML-003 The current process is running on a host where >5% of all
issue packets are being retransmitted due to loss or damage,
indicating network congestion.
Network connectivity SML-004 The current process is running on a host where >5% of all
issue packets it is sending are not being received by the recipient. It
indicates poor network connectivity.
High network latency SML-005 The current process is running on a host that has high latency
>300ms to the hosts specified in the message