Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 9/26/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

4.1.33.8. get_cells (::quartus::sdc)

The following table displays information for the get_cells Tcl command:

Tcl Package and Version

Belongs to ::quartus::sdc

Syntax get_cells [-h | -help] [-long_help] [-compatibility_mode] [-hierarchical] [-no_duplicates] [-nocase] [-nowarn] [ <filter> ]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-compatibility_mode Use simple Tcl matching
-hierarchical Specifies use of a hierarchical searching method
-no_duplicates Do not match duplicated cell names
-nocase Specifies case insensitive node name matching
-nowarn Do not issue warning messages about unmatched patterns
<filter> Valid destinations (string patterns are matched using Tcl string matching)
Description
Returns a collection of cells in the design. All cell names in the
collection match the specified pattern. Wildcards can be used to
select multiple cells at once.

There are three Tcl string matching schemes available with this
command: the default method, the -hierarchical option, and the
-compatibility_mode option.

When you use the default matching scheme, use pipe characters to
separate one hierarchy level from the next. They are treated as
special characters and are taken into account when string matching
with wildcards is performed. When this matching scheme is enabled, the
specified pattern is matched against absolute cell names: the names
that include the entire hierarchical path. A full cell name can
contain multiple pipe characters in it to reflect the hierarchy. All
hierarchy levels in the pattern are matched level by level. Any
included wildcards refer to only one hierarchical level. For example,
"*" and "*|*" produce different collections since they refer to the
highest hierarchical level and second highest hierarchical level
respectively.

When using the -hierarchical matching scheme, pipe characters are
treated as special characters and are taken into account when string
matching with wildcards is performed. This matching scheme forces the
search to proceed recursively down the hierarchy. The specified
pattern is matched against the relative cell names: the immediate
names that do not include any of the hierarchy information. Note that
a short cell name cannot contain pipe characters in it. Any included
wildcards are expanded to match the relative cell names.

The -compatibility_mode matching scheme uses simple Tcl string matching
on full, absolute cell names. Pipe characters are not treated as special
characters when used with wildcards.

The default matching scheme returns cells whose names match the
specified filter and also cells automatically generated by the Quartus
II software from these cells). Use -no_duplicates option to not
include duplicated cells.

The filter for the collection is a Tcl list of wildcards, and must
follow standard Tcl or Timing Analyzer-extension substitution rules. See 
help for the use_timing_analyzer_style_escaping command for details.
Example Usage
# Find a cell called "reg" using case insensitive search
get_cells -nocase reg
# Create a collection of all cells whose names start with "reg"
get_cells reg*
# Create a collection of all cells on the highest hierarachical level
set mycollection [get_cells *]
# Create a collection of all cells in the design
# Output cell names.
foreach_in_collection cell $mycollection {
    puts [get_cell_info -name $cell]
}
set fullcollection [get_cells -hierarchical *]
# Output cell IDs and names.
foreach_in_collection cell $fullcollection {
    puts -nonewline $cell
    puts -nonewline ": "
    puts [get_cell_info -name $cell]
}
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_ERROR 1 ERROR: Timing netlist does not exist. Use create_timing_netlist to create a timing netlist.