|
<h3 id='___get_cells'>get_cells</h3> |
|
<pre>Get all cells in the current module or sub-modules (LLM: find/get instance) |
|
<b>Usage:</b> my @cells = get_cells($pattern, @options); |
|
$pattern: The pattern matching instance name, '*', 'U*', 'U123' or '/UI_.*_./' |
|
It can have path, 'u_clk/*', 'u_abc/u_def/*' |
|
@options: |
|
-help: Print this information |
|
-hier: Or -h, do the command hierarchically |
|
-ref ref_pattern: Get cells that has reference matching ref_pattern, E.G. -ref OAI* |
|
-type type_pattern: Type_pattern can be 'ff','latch','itiming','cg','not','rom','ram' ... |
|
run 'get_lib_cells -type_info' for all existing type in the current libraries |
|
-type_match type_pattern: Get cells that have one of the types matches the type_pattern |
|
-leaf: Only leaf cells |
|
-new: Only new created ECO instances |
|
-verbose: To print out reference with instance |
|
-dotpath: Path delimit is '.' instead of '/' |
|
-nobackslash: Remove backslash |
|
-nonscan: Flops/sync-cells not in scan chain including those scan pins tied off |
|
@cells: Returned array with all instances matched |
|
|
|
<b>Examples:</b> |
|
|
|
#1. Get all instances in the current module |
|
my @cells = get_cells('*'); |
|
|
|
#2. Get all instances in the current module |
|
my @cells = get_cells(); |
|
|
|
#3. Get all instances matching 'U234*' in the current module |
|
my @cells = get_cells('U234*'); |
|
|
|
#4. Regular expression. Get all instances starting with U and followed by |
|
# two characters, like U10, U99 |
|
my @cells = get_cells('/U../'); |
|
|
|
#5. Get all instances matching *reg_*_ hierarchically |
|
my @cells = get_cells('*reg_*_', '-hier'); |
|
|
|
#6. Get all instances hierarchically and having reference matching DFF* |
|
my @cells = get_cells('*', '-hier', '-ref', 'DFF*'); |
|
|
|
#7. Get all instances in 'u_kb' |
|
my @cells = get_cells('u_kb/*'); |
|
|
|
#8. Get all flops, sync-cells not in scan chain |
|
my @cells = get_cells('-hier', '-nonscan'); |
|
</pre> |