Sunteți pe pagina 1din 339

Joules Command and Attribute Reference

Product Version 17.11


September 2017
© 2008-2017 Cadence Design Systems, Inc. All rights reserved.
Portions © IBM Corporation, the Trustees of Indiana University, University of Notre Dame, the Ohio State
University, Larry Wall. Used by permission.
Printed in the United States of America.
Cadence Design Systems, Inc. (Cadence), 2655 Seely Ave., San Jose, CA 95134, USA.
Product Encounter® Test and Diagnostics contains technology licensed from, and copyrighted by:
1. IBM Corporation, and is © 1994-2002, IBM Corporation. All rights reserved. IBM is a Trademark of
International Business Machine Corporation;.
2. The Trustees of Indiana University and is © 2001-2002, the Trustees of Indiana University. All rights
reserved.
3. The University of Notre Dame and is © 1998-2001, the University of Notre Dame. All rights reserved.
4. The Ohio State University and is © 1994-1998, the Ohio State University. All rights reserved.
5. Perl Copyright © 1987-2002, Larry Wall
Associated third party license terms for this product version may be found in the README.txt file at
downloads.cadence.com.
Open SystemC, Open SystemC Initiative, OSCI, SystemC, and SystemC Initiative are trademarks or
registered trademarks of Open SystemC Initiative, Inc. in the United States and other countries and are
used with permission.
Trademarks: Trademarks and service marks of Cadence Design Systems, Inc. contained in this document
are attributed to Cadence with the appropriate symbol. For queries regarding Cadence’s trademarks,
contact the corporate legal department at the address shown above or call 800.862.4522. [insert
trademark names of third party licensee, if any]. All other trademarks are the property
of their respective holders.
Restricted Permission: This publication is protected by copyright law and international treaties and
contains trade secrets and proprietary information owned by Cadence. Unauthorized reproduction or
distribution of this publication, or any portion of it, may result in civil and criminal penalties. Except as
specified in this permission statement, this publication may not be copied, reproduced, modified, published,
uploaded, posted, transmitted, or distributed in any way, without prior written permission from Cadence.
Unless otherwise agreed to by Cadence in writing, this statement grants Cadence customers permission to
print one (1) hard copy of this publication subject to the following conditions:
1. The publication may be used only in accordance with a written agreement between Cadence and its
customer.
2. The publication may not be modified in any way.
3. Any authorized copy of the publication or portion thereof must include all original copyright,
trademark, and other proprietary notices and this permission statement.
4. The information contained in this document cannot be used in the development of like products or
software, whether for internal or external use, and shall not be used for the benefit of any other party,
whether or not for consideration.
Disclaimer: Information in this publication is subject to change without notice and does not represent a
commitment on the part of Cadence. Except as may be explicitly set forth in such agreement, Cadence does
not make, and expressly disclaims, any representations or warranties as to the completeness, accuracy or
usefulness of the information contained in this document. Cadence does not warrant that use of such
information will not infringe any third party rights, nor does Cadence assume any liability for damages or
costs of any kind that may result from use of such information.
Restricted Rights: Use, duplication, or disclosure by the Government is subject to restrictions as set forth
in FAR52.227-14 and DFAR252.227-7013 et seq. or its successo
Joules Command and Attribute Reference

Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
About This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Reporting Problems or Errors in Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
What We Changed in this Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
17.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
17.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
16.23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
16.22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
16.21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
16.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
16.14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
16.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
16.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
15.23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Cadence Online Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Other Support Offerings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Command-Line Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Getting the Syntax for a Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Getting the Syntax for an Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Searching for Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Searching For Commands When You Are Unsure of the Name . . . . . . . . . . . . . . . . 16
Documentation Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1
General Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
bexpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
cdn_table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

September 2017 3 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

plot_piechart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
plot_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
voltus_compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
write_db . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
compare_db . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
read_netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
set_mbci_controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
write_template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2
Library Read and Analysis Commands . . . . . . . . . . . . . . . . . . . . . . . . 47
report_libs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
compare_libs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
get_libcells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
plot_cell_sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
plot_drive_profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
plot_lib_quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
get_libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
read_libs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
get_lib_domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
get_lib_param . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
set_lib_param . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
show_lib_params . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
get_cell_param . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
get_cell_pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
show_cell_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
get_cell_pin_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
report_libcells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
show_cell_tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
tag_memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
infer_memory_cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
infer_x1_cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
compare_memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
scrub_library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

September 2017 4 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

3
Design Read and Elaboration Commands . . . . . . . . . . . . . . . . . . . 109
read_hdl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
read_power_intent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
elaborate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

4
Power Intent Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
get_domain_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
get_power_domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
get_power_modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
get_cell_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5
Simulation and SDB Creation Commands . . . . . . . . . . . . . . . . . . . 121
read_stimulus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
write_sdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
write_fsaif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
rtlstim2gate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
set_sdb_alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
get_sdb_alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
delete_sdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

6
Clock Tree - Setup and Analysis Commands . . . . . . . . . . . . . . . . 143
get_ctg_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
tag_clock_tree_for_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
report_clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
infer_clock_buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
gen_clock_tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
report_clock_tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
delete_clock_tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
scrub_cglar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

September 2017 5 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

7
Mapping and DFT Insertion Commands . . . . . . . . . . . . . . . . . . . . . . 163
power_map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
synthesize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
apply_drc_rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
set_joules_cost_groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
estimate_data_buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

8
Stimulus Interface, Vectorless, and Activity Commands. . . . 173
get_default_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
plot_activity_profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
plot_sdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
propagate_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
reset_default_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
set_default_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
set_pin_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
reset_pin_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
report_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
report_user_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
get_pin_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
get_sdb_stims . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
get_pdb_stims . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
get_sdb_frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
get_pdb_frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
get_stim_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
get_frame_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
get_frame_duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
get_inst_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
copy_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
gen_power_critical_signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
report_sdb_annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
report_stim_hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
generate_joules_monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

September 2017 6 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

write_stimulus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
read_spef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
set_vectorless_controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
get_domain_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

9
Power Analysis and PPA Reporting Commands . . . . . . . . . . . . 233
compute_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
set_power_scale_factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
report_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
plot_power_profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
dump_power_profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
dump_activity_profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
report_ppa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
set_inst_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
collate_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
report_net_switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
tune_ple_from_spef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
sweep_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
track_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
get_power_rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
compute_logic_scale_factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
report_power_efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
compute_efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

10
Design Query and Navigation Commands . . . . . . . . . . . . . . . . . . . 287
get_inst_area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
get_inst_delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
get_seqs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
report_design_hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
get_insts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
get_inst_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
get_inst_slack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
get_inst_pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

September 2017 7 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

get_clock_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
get_clock_trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
get_combs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
get_design_clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
plot_slack_profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
plot_activity_distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
get_icgc_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
report_icgc_efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
report_icgc_scrub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
plot_net_distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
plot_inst_distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
report_area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
report_design_stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
report_naming_rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

11
Joules Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339

September 2017 8 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

Preface

■ About This Manual on page 10


■ Additional References on page 10
■ Reporting Problems or Errors in Documentation on page 10
■ What We Changed in this Edition on page 11
■ Customer Support on page 14
■ Command-Line Help on page 15
■ Documentation Conventions on page 17

September 2017 9 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Preface

About This Manual


This manual provides a concise reference of the commands available to the user when using
Joules. This manual describes each command available within the Joules command shell
with their command options.

Additional References
The following sources are helpful references, but are not included with the product
documentation:
■ TclTutor, a computer aided instruction package for learning the Tcl language:
http://www.msen.com/~clif/TclTutor.html.
■ TCL Reference, Tcl and the Tk Toolkit, John K. Ousterhout, Addison-Wesley
Publishing Company
■ IEEE Standard Hardware Description Language Based on the Verilog Hardware
Description Language (IEEE Std.1364-1995)
■ IEEE Standard Hardware Description Language Based on the Verilog Hardware
Description Language (IEEE Std. 1364-2001)
■ IEEE Standard VHDL Language Reference Manual (IEEE Std. 1076-1987)
■ IEEE Standard VHDL Language Reference Manual (IEEE Std. 1076-1993)
Note: For information on purchasing IEEE specifications go to http://shop.ieee.org/store/ and
click on Standards.

Reporting Problems or Errors in Documentation


The Cadence® Help online documentation lets you view, search, and print Cadence product
documentation. You can access Cadence Help by typing cdnshelp from your Cadence tool
hierarchy.

Contact Cadence Customer Support to file a CCR if you find:


■ An error in the manual
■ An omission of information in a manual
■ A problem using the Cadence Help documentation system

September 2017 10 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Preface

What We Changed in this Edition

17.11
Added new attribute in Chapter “Joules Attributes” on page 339.

17.10
■ Added following commands:
❑ set_sdb_alias
❑ get_sdb_alias
❑ write_template
❑ compute_logic_scale_factor
❑ delete_sdb
❑ get_domain_activity
❑ get_cell_power
❑ report_design_stats
❑ report_naming_rules
❑ report_power_efficiency
❑ scrub_library
❑ compute_efficiency
■ Added information on Joules-specific attributes - “Joules Attributes” on page 339

16.23
Following commands have been updated:
■ plot_slack_profile
■ get_lib_param
■ get_icgc_info
■ get_libcells

September 2017 11 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Preface

■ report_libcells
■ show_lib_params

16.22
Following commands have been updated:
■ report_net_switching
■ get_power_rails
■ rtlstim2gate
■ compute_power

16.21
Added the following commands:
■ copy_activity
■ set_mbci_controls
■ set_vectorless_controls
■ plot_inst_distribution
■ get_power_rails
■ get_pdb_frames
■ get_pdb_stims
■ scrub_cglar

Removed commands:
■ write_saif
■ write_tcf

Renamed the following commands:


■ report_hier to report_design_hierarchy
■ report_stim_hier to report_stim_hierarchy

September 2017 12 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Preface

16.20
Added the following commands:
■ report_user_activity
■ write_stimulus
■ report_stim_hierarchy

16.14
■ Added new command compare_memory

16.12
Added the following commands:
■ read_spef
■ dump_activity_profile

16.10
Added the following commands:
■ report_area
■ rtlstim2gate

15.23
Added the following commands:
■ generate_joules_monitor
■ set_power_scale_factor
■ report_libs
■ compare_libs
■ sweep_power
■ track_power

September 2017 13 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Preface

■ read_netlist
■ dump_power_profile

Customer Support
Cadence offers live and online support, as well as customer education and training programs.

Cadence Online Support


The Cadence® Online Support website offers answers to your most common technical
questions. It lets you search more than 40,000 FAQs, notifications, software updates, and
technical solutions documents that give you step-by-step instructions on how to solve known
problems. It also gives you product-specific e-mail notifications, software updates, case
tracking, up-to-date release information, full site search capabilities, software update
ordering, and much more.

For more information on Cadence Online Support go to:

http://support.cadence.com

Other Support Offerings


■ Support centers—Provide live customer support from Cadence experts who can
answer many questions related to products and platforms.
■ Software downloads—Provide you with the latest versions of Cadence products.
■ University software program support—Provides you with the latest information to
answer your technical questions.
■ Video Library - Several videos are available on the support website: Joules Video
Library.
■ Trainings Offerings—Cadence offers the following training courses for Joules:
❑ Joules Power Calculator
❑ Fundamentals of IEEE 1801 Low-Power Specification Format
❑ Low-Power Synthesis Flow with Genus Synthesis Solution

September 2017 14 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Preface

Command-Line Help
Note: The command syntax representation in this document does not necessarily match the
information that you get when you type help command_name. In many cases, the order of
the arguments is different. Furthermore, the syntax in this document includes all of the
dependencies, where the help information does this only to a certain degree.

Getting the Syntax for a Command


Type either of the following to get the syntax and example usage of a command:
■ help <command name>
■ <command name> -h

For example:
Joules> help read_libs

or
Joules> read_libs -h

Returns the syntax and example usage for the read_libs command.
Note: Examples are shown using Joules tutorial design.

Getting the Syntax for an Attribute


Type the following:
Joules> get_attribute attribute_name * -help

For example:
Joules> get_attribute libs * -help

This returns the syntax for the libs attribute.

September 2017 15 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Preface

Searching for Attributes


You can get a list of all the available attributes by typing the following command:
Joules> get_attribute * * -h

You can type a sequence of letters after the set_attribute command and press Tab to
get a list of all attributes that contain those letters.
Joules> set_attribute li

Returns all the attributes starting with the string li.

Searching For Commands When You Are Unsure of the Name


You can use help to find a command if you only know part of its name, even as little as one
letter.
■ You can type a single letter and press Tab to get a list of all commands that start with
that letter.
For example:
Joules> c <Tab>

Returns all command names starting with c.


■ You can type a sequence of letters and press Tab to get a list of all commands that start
with those letters.
For example:
Joules> read_<Tab>

Returns all command names starting with read_.

September 2017 16 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Preface

Documentation Conventions
The list below describes the syntax conventions used for the Joules commands and
attributes.

literal Non italic words indicate keywords that you must type literally.
These keywords represent command, attribute or option names
arguments and options Words in italics indicate user-defined arguments or options for
which you must substitute a name or a value.
| Vertical bars (OR-bars) separate possible choices for a single
argument.
[ ] Brackets denote options. When used with OR-bars, they
enclose a list of choices from which you can choose one.
{ } Braces denote arguments and are used to indicate that a
choice is required from the list of arguments separated by OR-
bars. You must choose one from the list
{ argument1 | argument2 | argument3 }
Braces, used in Tcl command examples, indicate that the
braces must be typed in.
... Three dots (...) indicate that you can repeat the previous
argument. If the three dots are used with brackets (that is,
[argument]...), you can specify zero or more arguments.
If the three dots are used without brackets (argument...),
you must specify at least one argument, but can specify more.
# The pound sign precedes comments in command examples.

September 2017 17 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Preface

September 2017 18 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

1
General Commands

■ bexpr
■ cdn_table
■ plot_piechart
■ plot_data
■ voltus_compare
■ write_db
■ compare_db
■ read_netlist
■ set_mbci_controls
■ write_template

September 2017 19 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - bexpr

bexpr
Boolean algebra version of Tcl expr command. Boolean expressions are created using
symbols/variables and operators (see below). Round brackets '()' can be used to group
expressions and force precedence.

A symbol or variable is any combination of alphanumeric characters. It cannot include any


character that represents an operator (see below).

Syntax

Operators: (in order of precedence)


■ NOT = [! ~]
■ AND = [. *]
■ OR = [+ |]
■ XOR = [^]
■ COFAC = [/] (cofactor)
■ DIFF = [%] (boolean difference)

September 2017 20 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - bexpr

Functions

class(fn) Returns class of function (not|and|or|xor|mux|...)


Used to determine type of LIB cell from it's function
type(fn) Same as class(fn)
pos(fn) Converts fn to product-of-sums form
sop(fn) Converts fn to sum-of-products form
leq(fn1, fn2) Returns 1 (=true) if fn1 == fn2
leq_iso(fn1, fn2) Isomorphic version of leq.

leq_iso((a . b), (c . d)) will return 1


mutex(fn1, fn2) Returns 1 (=true) if fn1, fn2 are mutually exclusive
contain(fn1, fn2) Returns 1 (=true) if fn2 is contained in fn1
cof(fn1, fn2) Returns cofactor of fn1 w.r.t fn2
diff(fn1, fn2) Returns boolean difference of fn1 w.r.t fn2

diff(fn, a) = cof(fn, a) ^ cof(fn, !a)


gcd(fn1, fn2) Returns the greatest common divisor of fn1 and fn2

Example(s)
■ bexpr ((a+!b).(!b + c).(!a + !c))
■ bexpr pos(a + a.~b + b.!c) ;# show in POS form
■ bexpr leq((a + b), (a + !a . b))
■ bexpr leq((a . b), (c . d)) ;# will return 0
■ bexpr leq_isomorphic((a . b), (c . d)) ;# will return 1
■ set f1 "a + b" ; set f2 "a + ~a.b + !b.c"
■ bexpr contains($f1, $f2)
■ bexpr cof(a.b, a)
■ bexpr diff(a+b, b)
■ bexpr mutex((a.b), (!a.c), (!b.!c))
■ set f1 "(a+b).c" ; set f2 "(a+b).(c+!d)"
■ bexpr gcd($f1, $f2)

September 2017 21 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - cdn_table

cdn_table
Creates a table in Cadence standard format with the specified list of lists.

Syntax
cdn_table [-table] $table \
[-validate]
[-get <row_idx> <col_idx>]
[-insert row|col <idx>]
[-replace row|col <idx1> [<idx2>]]
(<idx> = index where row/col will be inserted/replaced, for example 1,2, ..)
[-data <data>]
[-sort_by <col_id>]
[-scale table|row|col <scale_fac>+]
[-transpose]
[-compare <table1> <table2>]
[-cols <col_id>+]
[-extract <f_rpt>+]
[-lsep <regexp_pattern>]
[-row_range <idx1>[:<idx2>][,<idx3>]+]
[-col_range <idx1>[:<idx2>][,<idx3>]+]
[-stats row|col]
[-metrics {sum|avg|min|max|stddev|pct}+]
[-dump]
[-add_stats {{row|col|both}:{sum|pct|min|max|stddev}}+]
[-row_range <idx1>[:<idx2>][,<idx3>]]
[-col_range <idx1>[:<idx2>][,<idx3>]]
[-format <fmt>]
[-header <table_header>]
[-row_names <row_name>+]
[-col_names <col_name>+]
[-row_head left|right|skip]
[-col_head top|bot|skip]
[-line_sep {top|bot|left|right|all|skip}+]
[-prefix <string>]
[-widget]
[-win_title <window_title>]
[>|-out <f_dat>]

September 2017 22 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - cdn_table

Options and Arguments

[-h] Displays help for all options.


[-table] Specify the list of lists for the table.
[-validate] Validate the consistency of the table. By default, it is set to false.
[-get] Get the specified element, row (<col_idx>=-1), or column
(<row_idx>=-1)
[-insert] Insert row or column at the specified <idx> position.
[-replace] Replace rows or columns from position <idx1> to <idx2>.

If <idx2> is not specified, <idx2> = <idx1>


[-data] Suboption of -replace.

Specify the row or column data (list of values) to insert.


[-sort_by <col_id>] Sort the table by the specified column ID. Column ID is
equivalent to the column number. For example, column 1 = Col
ID 1, column 2= Col ID 2, and so on. By default, the table is not
sorted.
[-scale] Scale table by <scale_fac>, or each row or column using
specified list of scale factors.
[-transpose] Swap rows and columns in the table.
[-compare] Compare two tables.
[-cols] Suboption of -compare. Specify the list or range of columns to
compare. By default, all columns are considered.
[-extract] Extract table(s) from report file(s) and return list of triples
{<row_names> <col_names> <table>}+
[-lsep] Suboption of -extract. Specify the expression patterns to
extract. The default expression is {^[ ]*[-+]+$}.
[-row_range] Suboption of -extract. Extract the specified range of rows.
[-col_range] Suboption of -extract. Extract the specified range of columns.
[-stats row|col] Compute and return the row or column statistics of the table.
[-metrics {sum|avg|min|max|stddev|pct}+]

Specify the metrics to return with -stats option. The default


metrics are sum pct (%).

September 2017 23 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - cdn_table

[-dump] Dump the contents of the table to either stdout or the specified
file.
[-add_stats] Add a row or column or both showing the specified statistics
(sum, percentage, minimum, maximum, standard deviation).
[-row_range] Suboption of -add_stats. Show statistics of the specified
range of rows.
[-col_range] Suboption of -add_stats. Show statistics of the specified
range of columns.
[-format] Format of the table, for example, "%.2f", "%.3e". By default, the
table is auto formatted based on the table data.
[-header] Specify the table header string.
[-row_names] List of row names. If not specified, the rows are named as r1, r2,
and so on.
[-col_names] List of column names. If not specified, the columns are named
as c1, c2, and so on.
[-row_head] Specify where to add row header. By default, it is placed on the
right.
[-col_head] Specify where to add column header. By default, it is placed on
the top.
[-line_sep] Specify where to add line separator(s).
[-prefix] Suboption of -line_sep. Specify the prefix for line separators.
This option applies to non data rows such as -line_sep, -
col_head, -line_sep, -header. The default value is "".
[-widget] Pop up smart table if running in GUI mode. The default value is
false.
[-win_title] Suboption of -widget. Specify the title of the smart table
widget.
[>|-out] Output the table in the specified file. By default, the output is
directed to stdout.

Example(s)
■ set table { {1 2 3 4 5} {11 12 13 14 15} {31 32 33 34 35} }
■ cdn_table $table -get 2 -1 ;# get 2nd row, returns: 11 12 13 14 15
■ cdn_table $table -get -1 3 ;# get 3rd col, returns: 3 13 33

September 2017 24 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - cdn_table

■ cdn_table $table -get 2:3 3:5 ;# get sub-table, rows 2,3, and cols 3,4,5
■ cdn_table $table -validate ;# validate the table
■ set t2 [cdn_table $table -insert row 2 -data {21 22 23 24 25}]
■ cdn_table $t2 -replace col 3 -data {33 23 13 3}
■ cdn_table $table -scale table 1.5 ;# return table scaled by factor of 1.5
■ cdn_table $table -scale row 10.0 0.5 0.1 ;# return table by scaling r1 by 10,
r2 by 0.5, and r3 by 0.1
■ cdn_table $table -stats row -metrics sum avg min max pct ;# return table with
added stats
■ cdn_table $table -transpose ;# return transposed table
■ cdn_table $table -dump ;# dump the table
■ cdn_table $table -dump -add_stats both:sum # dump table w/ col and row sums
■ cdn_table -compare $table1 $table2 -cols "1 3:4" ;# compare cols 1, 3, 4 of
$table1 and $table2 both with same number of rows and cols
■ set triple [lindex [cdn_table -extract joules_work/joules.log] 0]
■ set row_names [lindex $triple 0] ; set col_names [lindex $triple 1]
■ set table [lindex $triple 2]
■ cdn_table $table -dump -row_names $row_names -col_names $col_names -prefix "#"

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 25 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - plot_piechart

plot_piechart
Plots data from a given data file in form of piechart.

Syntax
plot_piechart
[-data <f_data>]
[-chartcols <column>+]
[-chartlabels <chart-label>+]
[-labelcol <column>]
[-chartdata {{pie1 cat11:<val> cat12:<val> ...}{pie2 cat21:<val>
cat22:<val>...} ...}]
[-chartfont <font>]
[-labelfont <font>]
[-title <title>]
[-image <f_image>.<ext>]
[-save dir]
[-help|-h]

September 2017 26 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - plot_piechart

Options and Arguments

[-h] Displays help for all options.


[-data] Data file to use for creating the piechart.
[-chartcols] Suboption of -data. Columns in data file to use in piechart.
[-chartlabels] Suboption of -data. Labels for each chart column.
[-labelcol] Suboption of -data. Columns in the data file to be assigned
labels.
[-chartdata {{pie1 cat11:<val> cat12:<val> ...} {pie2 cat21:<val> cat22:<val> ...}
...}]

Extract the list of data for the piechart from the data file in the
format of category: value for the category
[-chartfont] Font for the piechart, for example, -chartfont lucidasans-bold-18.
[-labelfont] Font for the piechart labels, for example, lucidasans-14.
[-title] Title for the piechart.
[-image] Save the image in the file specified as filename.ext, where
the file extension can be jpg, png, gif or ps. The default extension
is ps.
[-save] Save the gnuplot command file in the specified directory.

Example(s)
■ Sample data file
# CDN_DATA_FORMAT_BEG
# Category Leakage Internal Switching Total
# CDN_DATA_FORMAT_END
memory 2.46300e-08 3.53839e-04 4.08240e-05 3.94688e-04
flop 1.82368e-08 9.91160e-05 6.18359e-05 1.60970e-04
logic 1.98244e-08 2.31849e-04 2.84305e-04 5.16174e-04
bbox 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
clock 1.10521e-08 1.48320e-04 3.21670e-04 4.70001e-04

■ Sample command usage:


plot_piechart -data report_power.data -chartcols c2 c3 c4 -labelcol c1
plot_piechart -chartdata {{leakage memory:2.46e-08 flop:1.82e-08 logic:1.98e-
08 clock:1.11e-08} {internal memory:3.54e-04 flop:9.91e-05 logic:2.32e-04
clock:1.48e-04}}

September 2017 27 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - plot_piechart

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 28 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - plot_data

plot_data
Compares and plots data for two sets of data.

Syntax
plot_data -data f_data [-gold f_gold]
[-plot scatter|histogram|bell]
[-with {points|lines|linespoints|boxes}+]
[-compare f1:k1 f2:k2]
[-insert_png <f_png>]
[-location top_right|top_left|bot_right|bot_left]
[-shrink_range <min>:<max>]
[-xkey [file:]key]
[-ykey {[file:]key}+]
[-when {<expr>}+]
[-group_by [file:]key]
[-lckey {[file:]key}+]
[-yscale <list-of-scale-factors>]
[-key {[file:]key}+]
[-weight {file:key}+]
[-missing <string>]
[-fill_missing]
[-xrange x_from:x_to]
[-yrange y_from:y_to]
[-title title_string]
[-xlabel xlabel_string]
[-ylabel ylabel_string]
[-ykeylabel <list-of-ykey-labels>]
[-vlines {x_val[:line_width][:label]}+]
[-line_fit {cx:cy [<slope> <yintc>]}+]
[-xtics|-x2tics "('label1' x_val1, 'label2' x_val2, ...) [rotate by <val>]"]
[-other_plot_cmds {<gnuplot_cmd>}+]
[-image <f_image>.<ext>]
[-save dir]
[-bg]

September 2017 29 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - plot_data

Options and Arguments

[-h] Displays help for all options.


-data Name of the file containing the set of data.
[-gold] Name of the file containing another set of data.
[-plot] Type of plot to generate. By default, scattered plot is generated.
[-with] Suboption of -plot. Specify (one for each ykey) whether to use
lines (default), points, line points, or boxes in the plot.
[-compare] Specify the key values to compare between the two sets of data.
For example, -compare f1:k1 f2:k2 is equivalent to

-xkey f1:k1 -ykey f2:k2


[-insert_png] Insert a PNG image in the plot.
[-location] Sub-option of -insert_png. Specify the location to plot. The
default location is top_right.
[-shrink_range] Sub-option of -insert_png. Specify the ratio to shrink the plot.
By default, it is set to 2:5.
[-xkey] Specify the data key to display on X axis. Specify the option in
form of [data file:]column ID, for example, data:c1
[-ykey] Specify the data key to display on Y axis. Specify the option as
[[data file:]column ID+], for example, data:c1
gold:c2.
[-when] Specify the row selection condition, for example, {c5 ==
"and"}.
[-group_by] Group the data by specified column.
[-lckey] Specify the linecolor key, for example, data:c3 gold:c.
[-yscale] List of scale factors for Y axis, one for each value of -ykey
option.
[-key] List of key values for the plot. Specify each key as
[file:]key.
[-weight] Specify the weight for the plot as [{file:key}+], with one
weight for each ykey
[-missing] Consider the specified string as missing data.
[-fill_missing] Fill missing data with last good data.

September 2017 30 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - plot_data

[-xrange] Specify the range of values for X axis.


[-yrange] Specify the range of values for Y axis.
[-title] Title for the plot output.
[-xlabel] Specify the X axis label.
[-ylabel] Specify the Y axis label.
[-ykeylabel] Specify the label for Y axis keys.
[-vlines] Plot vertical lines with the specified value, label, and width.
[-line_fit] Specify how to fit the plot line. This option applies only to scatter
plots.
[--xtics|-x2tics] Rotate the plot by the specified value.
[-other_plot_cmds] Use the specified command(s) for plotting.
[-image] Save the plot image in the file specified as <filename>.ext,
where the file extension can be gif, jpg, png, or ps (default).
[-save] Save the gnuplot data/command files in the specified directory.
[-bg] Run the plotting activity as a background process.

Example(s)
■ plot_data -data sim1.data -xkey c2 -ykey c3 c4 -ylabel "Power" -image sim1.png
■ plot_data -data sim2.data -xkey c1 -ykey c2 -lckey c3 -xlabel "Simulation Time"
-xlabel "Power"
■ plot_data -data data -gold gold -compare data:c0 gold:c0
■ plot_data -data data -gold gold -ykey data:c2 gold:c3
■ plot_data -data data -plot histogram -key c2 -bin_size pct:0.01 ;# 100 bins
■ plot_data -data data -plot bell -key c1 -weight c2
■ plot_data -data data -gold gold -plot scatter -xkey data:c2 -ykey gold:c
■ plot_data -data data -xkey c1 -ykey c2 -when {{c5 == "and"} {c5 == "flop"}}
■ plot_data -data data -xkey c1 -ykey c2 -group_by data:c5

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 31 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - plot_data

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 32 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - voltus_compare

voltus_compare
Generates scripts and data necessary to run Voltus, extracts pin activity information,
compares it with Joules’ pin activity and generates comparison plots.

Syntax
voltus_compare \
[-stimulus <stim_id>]
[-generate script|data|both]
[-skip_compare]
[-skip_pin_list]
[-use_joules_tcf] (
[-nodes {<obj_type>[:<annotation_type>]}+]
obj_type = port|seq|comb|all
annotation_type = asserted|computed|all
[-duration <duration in ns>]
[-use_joules_slew] (
[-use_eps]
[-work_dir <work_dir>]
[-bname <script_basename>]
[-f_voltus_data <voltus_computed_activity_file>]
[-f_joules_data <joules_computed_activity_file>]
[-f_pin_list <pin_list_file>]
[-root <inst>+]
[-rtl_type
{memory|register|flop|latch|icgc|add|sub|mult|div|decoder|comp|shift|mmux|
buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|mux|tri|tie|pad|fadd|hadd|
delay|iso|srpg|ls|els|ps}+]
[-rtl_group seq|macro|alu|dpx|logic|pm]
[-leaf_insts {<leaf_inst>}+]
[-pin_dir in|out|inout]
[-pin_type
{data|address|clock|enable|select|reset|set|scan|tie|rail|vdd|gnd|save|
restore}+]
[-pin_name <pin_name_regexp>]
[-max_points <num>]
[-compute_stats]
[-tolerance <frac>]
[-plot duty|toggle|all]
[-xrange x_from:x_to]
[-yrange y_from:y_to]
[-title title_string]
[-xlabel xlabel_string]
[-ylabel ylabel_string]
[-ykeylabel <list-of-ykey-labels>]
[-png <f_png>]
[-save <dir>]

September 2017 33 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - voltus_compare

Options and Arguments

[-h] Displays help for all options.


[-stimulus] Compare activity for specified stimulus. By default, the first
stimulus in SDB is considered.
[-generate] Specify whether to generate Voltus run script, Joules activity
data, or both.
[-skip_compare] Suboption of -generate. Make the pin list empty.
[-skip_pin_list] Suboption of -generate. Do not regenerate the list if the pin list
already exists.
[-use_joules_tcf] Suboption of -generate. Use Joules activity file.
[-nodes] Suboption of -use_joules_tcf. Specify the node (in form of
object type(s):pin type) for which to generate the power signals.
Valid object types and pin types are mentioned in the syntax
above.

If not specified, the primary input and output ports, and


sequential outputs are reported.
[-duration] Suboption of -use_joules_tcf. If specified, the Joules
activity file with given duration will be used.
[-use_joules_slew] Suboption of -generate. Use slew value of Joules for
comparison.
[-use_eps] Suboption of -generate. Use EPS instead of Voltus.
[-work_dir] The directory containing Voltus scripts and the generated files.
The default directory is ./voltus_work.
[-bname] Basename for the Voltus script that is used to name files.

Voltus run script is: <work_dir>/


<bname>_run_voltus.tcl
[-f_voltus_data] Name of the Voltus computed activity file. The default file is
<work_dir>/<bname>_data.voltus.
[-f_joules_data] Name of the Joules computed activity file. <work_dir>/
<bname>_data.joules.
[-f_pin_list] File with list of pins for comparison. By default, file
<work_dir>/<bname>_pin_list.tcl is used.

September 2017 34 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - voltus_compare

[-root] List of hierarchical instances. By default, design root is


considered.
[-rtl_type] List of RTL types.
[-rtl_group] List of RTL groups.
[-leaf_insts] List of leaf instances. To be used in lieu of -root,
-rtl_type, and -rtl_group options.
[-pin_dir] If specified, pins of the given direction are considered for
comparison.
[-pin_type] If specified, pins of the given type are considered for
comparison.
[-pin_name] Return pin names in the comparison output.
[-max_points] Specify maximum graph points. Default is 5000. Set this option
to -1 for all pins.
[-compute_stats] Compute statistics.
[-tolerance] Suboption of -compute_stats. Specify the tolerance fraction,
for example, 0.05 - 5%.
[-plot] Scatter plot comparison between Joules and Voltus.
[-xrange x_from:x_to] Suboption of -plot.Show the specified range in X axis of the
plot.
[-yrange y_from:y_to] Suboption of -plot. Show the specified range in Y axis of the
plot.
[-title title_string] Suboption of -plot. Title of the comparison plot.
[-xlabel xlabel_string] Suboption of -plot. Label for X axis.
[-ylabel ylabel_string] Suboption of -plot. Label for Y axis.
[-ykeylabel] Suboption of -plot. List of key labels on Y axis.
[-png] Suboption of -plot. Save the plot output in the specified PNG
file.
[-save] Suboption of -plot. Save the gnuplot data/command files in the
specified directory. By default, the output is saved in
voltus_work/.

September 2017 35 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - voltus_compare

Example(s)

Joules vs Voltus activity comparison is a four step process:


1. Generate Voltus run script
voltus_compare -bname all_seq_out_pins -generate script -root /cpu_10bit/FSM -
rtl_group seq -pin_dir out -use_joules_tcf -use_joules_slew -add_power

2. Generate Joules activity data


voltus_compare -bname all_seq_out_pins -generate data -add_power

3. Generate Voltus activity data


exec voltus -init voltus_work/all_seq_out_pins_run_voltus.tcl

4. Compare Joules vs Voltus data


voltus_compare -bname all_seq_out_pins -compute_stats -tolerance 0.05 -plot
all -add_power

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Activity Processing and Reporting in Joules User Guide.

September 2017 36 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - write_db

write_db
Writes the netlist to a database file or returns a Tcl list. Root attributes with non-default settings
can be included in the database.

Syntax
write_db
<design>
[-quiet]
[-all_root_attributes]
[-no_root_attributes]
[-verbose]
[-to_file <f_db>]
[-script <f_tcl>]

Options and Arguments

[-h] Displays help for all options.


<design> The design for which to write out the database information.
[-quiet] Suppress any warning messages. Only error messages are
printed.
[-all_root_attributes] Write out all the root attributes with non-default settings.
[-no_root_attributes] Avoid writing out of the root attributes with non-default settings.
[-verbose] Enables verbose output while writing out the database file.
[-to_file] Name of the database file to be written.
[-script] Generate a split Tcl and database file.

Example(s)
■ write_db -to_file joules.jdb ; # Write to a file
■ set jdb [write_db] ; # Write to a variable

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 37 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - compare_db

compare_db
Compares two databases generated by Joules and highlights the difference in properties
such as drive strength and slack with the help of a plot.

Syntax
compare_db <f_jdb1> <f_jdb2> \
[-compute_stats]
[-f_stimulus <stimulus-file>]
[-top_instance <top-inst-path>]
[-plot_profile {ds|slack|all}+]
[-resolution <frac>]
[-ykey count|pct]
[-xrange <from>:<to>] )
[-yrange <from>:<to>] )
[-title <title-string>] )
[-png <f_png>]
[>|-out <f_data>]

September 2017 38 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - compare_db

Options and Arguments

[-h] Displays help for all options.


<f_jdb1> <f_jdb2> Names of database files to be compared.

Only databases written out after techmap can be compared with


this command as driving strength can be computed once the
design is mapped.

Specify -1 for Joules database to compare with currently loaded


DB.
[-compute_stats] Score <j_db_2> with <j_db_1> as reference and rate the
databases on following five parameters:
■ Cell Count
■ Total Driving Strength
■ Total Flop Driving Strength
■ Total Cell Area
■ Negative Slack

For each parameter, the command scores the databases out of


10 points.

Thus, the final total is computed out of total of 50 points.


[-f_stimulus] Compute power of both the database files for stimulus specified
with this option.

If you are specifying any stimulus other than SDB with this
option, then specify the top instance of the stimulus with -
top_instance option.
[-top_instance] Suboption of -f_stimulus. Top module of stimulus mentioned
with -f_stimulus option.

This option is used only if any stimulus other than SDB is


specified with -f_stimulus option.

September 2017 39 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - compare_db

[-plot_profile] The profile for the plot. This option can have one of the following
values:
■ ds - Plot for cell count vs driving strength will be generated.
■ slack - Plot for flop count vs slack will be generated.
■ all - Two plots will be generated, one each for:
❑ Cell Count vs Driving strength
❑ Flop Count vs Slack
By default, plot will be generated for the profiling of driving
strength.
[-resolution] Sampling interval while generating the plot.

By default, the co-ordinate will be sampled at 0.25 of the unit. For


example, if you are generating the plot for DS profiling,
coordinates will be sampled at 0.25, 0.50,0.75,1.00,1.25,1.50,
and so on.
[-ykey] Key of Y axis of the plot. Y-axis can have either cell count or %
of inst count.
[-xrange] Range of X axis of plot.
[-yrange] Range of Y axis of plot.
[-title] Title of the generated plot.
[-png] Save the generated plot as the specified PNG file.
[>|-out] Redirect the output of the command to the specified file. By
default, the output is stored in $joulesWorkDir/
compare_db.data.

Example(s)
■ compare_db cpu_10bit_proto.jdb cpu_10bit_synth.db -plot_profile ds slack

Return Value

0 for success, 1 indicates failure in execution.

September 2017 40 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - compare_db

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 41 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - read_netlist

read_netlist
Reads (and elaborates) Structural Verilog (v2001) files.

Syntax
read_netlist [-top <string>] [-define <string>]+ <string>+

Options and Arguments

[-h] Displays help for all options.


[-top] Specify the top-level structural Verilog module to be read and
elaborated
[-define] Define Verilog macro.
<string>+ Specify the name of the HDL files to read.

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 42 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - set_mbci_controls

set_mbci_controls
Applies MBCI mapping controls in a cumulative way.

This command manages:

set_attribute dont_infer_multibit [true|false] <inst_name>+

Syntax
set_mbci_controls \
[-min_bit_width <mbw>]
[-root <root_inst>+]
[-enable]
[-module <module>+]
[-inst <inst>+]

Options and Arguments

[-h] Displays help for all options.


[-min_bit_width] Specify the minimum bit width. The default width is 2.
[-root] Suboption of -min_bit_width. List of root instances for -
min_bit_width. Default is design root.
[-enable] Enable the following list of flops. Default is skip.
[-module] Suboption of -enable. Enable all registers in specified
modules.
[-inst] Suboption of -enable. Enable all registers in specified list of
hierarchical instances.
Note: <inst> can be a register.

Example(s)
■ set_mbci_controls -min_bit_width 2 ; #Skip all single bit registers
■ set_mbci_controls -min_bit_width 5 -root /cpu_10bit/FSM ; #Also, under FSM,
skip registers less than or equal to 4 bits
■ set_mbci_controls -min_bit_width 7 -root /cpu_10bit/DP ; #Also, under DP, skip
registers less than 7 bits
■ set_mbci_controls -enable -inst {/cpu_10bit/DP/PC_reg/qout_reg[0:5]}; #Enable
6-bit register /cpu_10bit/DP/PC_reg/qout_reg[0:5]

September 2017 43 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - set_mbci_controls

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 44 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - write_template

write_template
Generates a template script with the commands and attributes needed to run Joules. Use the
command options to include specific commands and attributes in the script.

Syntax
write_template
[-n2n]
[-rtlstim2gate]
[-physical]
[-cpf]
[-clock_tree]
[-out <output-template-file-name>]
[-help|-h]

Options and Arguments

[-h] Displays help for all options.


[-n2n] Write out a template script for netlist to netlist flow.
[-rtlstim2gate] Write out rtlstim2gate rules in the template script.
[-physical] Write out physical information in the template script.
[-cpf] Write out a template script for CPF-based flow.
[-clock_tree] Write out gen_clock_tree information in the template script.
[-out] Specify filename to write the template script. By default, the
script is written to file joules_work/template.txt.

Example(s)
■ write_template
■ write_template -out template.txt
■ write_template -out template.txt -cpf
■ write_template -out template.txt -cpf -clock_tree

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 45 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
General Commands - write_template

September 2017 46 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

2
Library Read and Analysis Commands

Note: In Joules terminology, library set and library domain are used interchangeably when
referring to libraries.
■ report_libs
■ compare_libs
■ get_libcells
■ plot_cell_sensitivity
■ plot_drive_profile
■ plot_lib_quality
■ get_libraries
■ read_libs
■ get_lib_domains
■ get_lib_param
■ set_lib_param
■ show_lib_params
■ get_cell_param
■ get_cell_pins
■ show_cell_info
■ get_cell_pin_type
■ report_libcells
■ show_cell_tables
■ tag_memory

September 2017 47 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands -

■ infer_memory_cells
■ infer_x1_cell
■ compare_memory
■ scrub_library

September 2017 48 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - report_libs

report_libs
Reports the specified information about design libraries.

Syntax
report_libs \
[-domain <lib_domain>+]
[-name <lib_name_regexp>]
[-ldb_libpath [/libraries/][<domain>/]<lib>/+]
[-op_cond <opc>]
[-op_volt <val>] )
[-op_temp <val>]
[-cell_count <cnt> [<op>]]
(<op> :: eq|ne|lt|gt|le|ge, default=ge)
[-cols
{op_cond|op_volt|op_temp|cells|ldb_libpath|node|vt|domain|lib|rails|memory|
flop|icgc|latch|comb|seq|pm|avoid|area|delay|leakage_power}+]
[-cols_add
{node|vt|domain|lib|rails|memory|flop|icgc|latch|comb|seq|pm|avoid|area|
delay|leakage_power}+]
[-cols_del{op_cond|op_volt|op_temp|cells|ldb_libpath}+]
[-sort_by <col_title>]
[-out <f_dat>]
[-widget]

September 2017 49 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - report_libs

Options and Arguments

[-h] Displays help for all options.


[-domain] Return all libraries of the specified domain(s).
[-name] Search the specified library name. The default is *.
[-ldb_libpath] Full vdir path of the library. By default, all library paths are
considered.
[-op_cond] Suboption -ldb_libpath.
Search for libraries by the specified default operating condition
name.
[-op_volt] Suboption -ldb_libpath.

Search for libraries by the voltage of the specified default


operating condition.
[-op_temp] Suboption -ldb_libpath.

Search for libraries by the temperature of the specified default


operating condition name.
[-col_count] Suboption -ldb_libpath.

Search for libraries with cells with the specified condition.


[-cols] Specify the columns to report in the output. By default, the
following are reported:

op_cond op_volt op_temp cells ldb_libpath


[-cols_add] Add the specified column(s) in the output.
[-cols_del] Delete the specified column(s) from the output.
[-sort_by] Sort the output by the specified column. By default, the output is
sorted by op_cond.
[-out] Save the output data in the specified file.
[-widget] Display the output in form of GUI widget.

Example(s)
■ report_libs -cols volt temp cells
■ report_libs -ldb_libpath [get_libraries -op_volt 1.2 -full_path]

September 2017 50 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - report_libs

Return Value

1 indicates error in execution.

Also See

Library Read and Analysis in Joules User Guide.

September 2017 51 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - compare_libs

compare_libs
Compares the plots data for two libraries.

Syntax
compare_libs \
[-ldb_libpath <x_ldb_libpath> <y_ldb_libpath>+]
[-lib <xlib> <ylib>+]
[-domain <lib_domain>]
[-prop leakage_power|internal_power|delay|transition|avg_ipin_cap]
[-force]
[-cells <cell>+]
[-cell_type
{memory|flop|latch|icgc|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|mux|
tri|tie|pad|fadd|hadd|delay|iso|srpg|ls|els|ps|scan|unknown}+]
[-cell_group {comb|seq|memory|pm}+]
[-name <cell_name_regexp>]
[-ipin_cnt <cnt>]
[-drive_strength <ds> <ds_margin>]
[-group_by {cell_type|ipin_cnt|drive_strength|none}+]
[-slew <slew>+]
[-max_slew_points <N>] )
[-load <load>+]
[-max_load_points <N>]
[-lut_idx_range_pct <%beg>:<%end>]
[-match_names <lib1_mask> <lib2_mask>]
[-plot scatter|ratio]
[-ignore_neg_points]
[-xrange <min>:<max>]
[-yrange <min>:<max>]
[-out <f_data>]
[-png <f_png>]

September 2017 52 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - compare_libs

Options and Arguments

[-h] Displays help for all options.


[-ldb_libpath] Specify the full vdir path of the libraries to compare.
[-lib] Specify names of the libraries to compare. The first specified
library is represented on X axis and the second library is
represented on Y axis.
[-domain] Specify the domain of the libraries to compare.
[-prop] Compare the specify property of the libraries. By default,
internal_power of the libraries is compared.
[-force] Perform force comparison even if no variations or >1 variations
in PVT exist.
[-cells] Specify the cells to be reported in the output. By default, all cells
are reported.
[-cell_type] If specified, cells of the specified type are considered for
comparison.
[-cell_group] Specify the cell groups to report.
[-name] Sub-option of -cell_group. Specify the cell name. By default,
it is set to *.
[-ipin_cnt] Sub-option of -cell_group. Specify the count of input pins. By
default, it is set to don’t care.
[-drive_strength] Sub-option of -cell_group. Specify the drive strength
percentage. By default, it is calculated as ds_margin = +/-
10% of ds.
[-group_by] Group by the specified metrics for comparison.

If you specify this option, an additional column is added to the


output table with entries of format:
<cell_type>:<ipin_cnt>:x<drive_strength>
[-slew] Use the specified list of slews for comparison.
[-max_slew_points] Specify the maximum slew points to use. By default, all slew
values in table are used.
[-load] Use the specified list of loads for comparison.
[-max_load_points] Specify the maximum load points to use. By default, all slew
values in table are used.

September 2017 53 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - compare_libs

[-lut_idx_range_pct] Specify the percentage range of lut index. By Default, it is set to


0:1.
[-match_names] Match the library names with the specified patterns.
[-plot] Type of plot to generate. By default, scattered plot is generated.
[-ignore_neg_points] Specify this option to ignore points with negative x or y value. By
default, it is set to false.
[-xrange] Specify the range of values for X axis.
[-yrange] Specify the range of values for Y axis.
[-out] Save the plot data file in the specified directory.
[-png] Save the gnuplot file in the specified directory.

Example(s)
■ compare_libs -ldb_libpath [get_libraries -op_volt 1.2 -full_path]

Return Value

-1 indicates error in execution.

Also See

Library Read and Analysis in Joules User Guide.

September 2017 54 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_libcells

get_libcells
Returns cells that meet specific condition.

Syntax
get_libcells \
[-lib <library>]
[-domain <domain>]
[-ldb_libpath [/libraries/][<domain>/]<lib>/]
[-avoid true|false]
[-name <cell_name_regexp>]
[-cell_function {"<func-string>"}+]
[-cell_type
<memory|flop|latch|icgc|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|mux|
tri|tie|pad|fadd|hadd|delay|iso|srpg|ls|els|ps|scan|unknown>+]
[-cell_group <comb|seq|memory|pm>]
[-ipin_cnt <cnt>]
[-opin_cnt <cnt>]
[-bit_width <n>]
[-op eq|ne|gt|lt|ge|le]
[-drive_strength <ds> [<ds_margin>]]
[-sense <rise|fall|avg>]
[-slew <slew>] [-load <load>]
[-x1_cell <x1_cell>]
[-common <lib>+]
[-match_names <pat>+]
[-by_score]
[-weights {<prop>=<val>}+]
(<prop> = area|delay|transition|leakage_power|internal_power)
(default: area=1 delay=2 transition=1 leakage=1 internal=1)
[-cells_per_ds_cluster <num>]
[-pct_keep <pct>]
[-slew <slew>]
[-load <load>]
[-full_path]

September 2017 55 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_libcells

Options and Arguments

[-h] Displays help for all options.


[-lib] Return all cells of the specified library.

If the same library is picked for multiple library domains


considering design is CPF-based, then cells of the first specified
library domain are reported.
[-domain] Return all libcells in the specified library domain.

You can also query libcells from specific library and library
domain as shown below:

get_libcells -domain "ld0" -lib tutorial

While combining -lib and -domain options, make sure that


the specified library exists in library domain.
[-ldb_libpath] Full vdir path of the library.
[-avoid] Gets the list of library cells where this option is specified. Default
is don’t care.
[-name] Return all libcells that match the specified name or pattern.

By default, this option returns all cells from all library domains.
[-cell_function] Return libcells whose function matches user-specified function.
[-cell_type] Return list of libcells belonging to the specified type.

By default, all types of cells are returned.

This option accepts more then one cell_type.


[-cell_group] Return list of libcells belonging to the specified group.

By default, all cells are reported.


[-ipin_cnt] Suboption of -cell_group. Return list of all libcells with the
number of inputs pins as specified with this option.

By default, all libcells are reported.


[-opin_cnt] Suboption of -cell_group. Return list of all libcells with the
number of output pins as specified with this option.

By default, all libcells are reported.

September 2017 56 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_libcells

[-bit_width] Suboption of -cell_group. Specify cell bit_width attribute.


Default is any.
[-op] Suboption of -cell_group. Specify the operand.

Applies to -ipin_cnt, -opin_cnt, -bit_width

Default is eq.
[-drive_strength] Drive strength of the cell. By default, ds_margin is calculated as
+/- 10% of ds or +/- (0.1)*ds.
[-sense] Suboption of -drive_strength. Driving direction of the cell.
The default sense is the average of both rising and falling
directions.
[-slew] Suboption of -drive_strength. Slew value for the cell.
[-load] Suboption of -drive_strength. External fanout load and the
capacitance values of the cell.
[-x1_cell] Suboption of -drive_strength. X1 cell name.
[-common <lib>+] Report common cells in the specified list of libraries.
[-match_names <pat>+] Suboption of -common. Match the library names with the
specified pattern(s).
[-by_score] Return cells based on computed scores. The default value is
false.
[-weights] Suboption of -by_score. Compute score by <prop>=<val>.
[-cells_per_ds_cluster] Suboption of -common. Specify the number of cells per DS
cluster. The default value is 1.
[-pct_keep] Suboption of -common. Return top <pct> cells by score. The
default value is don't care.
[-slew] Suboption of -common. Slew value for the cell.
[-load] Suboption of -common. External fanout load and the
capacitance values of the cell.
[-full_path] Report the full name of libcell with library and domain
information. By default, this is set to false.

Example(s)
■ get_libcells -lib $lvt_lib -cell_type and # get a list of AND cells from LVT
library

September 2017 57 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_libcells

■ get_libcells -lib slow -cell_type and -cell_function {a.b} # get cells of type
AND but exclude cells with function a.!b
■ get_libcells -cell_group comb -drive_strength 1.0 0.2 # get all x1
combinational cells (use DS margin of 20%)
■ get_libcells -cell_group comb -drive_strength 2:4 # get x2 to x4 AND cells
■ get_libcells -common slow typical -cell_type flop # get flops common in slow
and typical libraries
■ get_libcells -avoid false -cell_type buf -lib slow # get buffers marked avoid
= false from slow library

Return Value

-1 indicates error in execution.

Also See

Library Read and Analysis in Joules User Guide.

September 2017 58 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - plot_cell_sensitivity

plot_cell_sensitivity
Uses gnuplot to plot cell sensitivity, which is useful for trend analysis. Before running this
command, ensure that DISPLAY is set properly.

Syntax
plot_cell_sensitivity \
[-cells] <cell>+
[-show_all_arcs]
[-lib <library_name>] [-domain <domain>]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-ldb_cellpath {[/libraries/][<domain>/][<lib>/]<cell>}+]
[-xkey slew|load]
[-ykey
cell_rise|cell_fall|trans_rise|trans_fall|delay|transition|slew_degradation|
internal_power]
[-zval <val>+]
[-png <f_png>]
[-xrange <min>:<max>]
[-yrange <min>:<max>]
[-save <dir>]
[-bname <tag>]
[>|-out <f_dat>]

September 2017 59 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - plot_cell_sensitivity

Options and Arguments

[-h] Displays help for all options.


[-cells] Libcell name whose sensitivity plot needs to be analyzed. List of
cells can be specified with this option, however, wildcards are
not allowed.

RC-returned libcell names are not supported by this option.


[-show_all_arcs] Sub-option of -cells. Specify this option to display all cell arcs.
By default, the first input/output arc is displayed.
[-lib] Name of the library in which the specified cell needs to be
searched.

This option works only with -cells option and can accept
single value /.lib.
[-domain] Plot sensitivity of cells in the specified domain.
[-ldb_libpath] Full vdir path of the library.
[-ldb_cellpath] Full vdir path of the cell.
[-xkey] Value to be display on X axis. The default is slew.
[-ykey] Value to be display on Y axis. The default is delay.
[-zval] List of load values for -xkey slew.
[-png] If specified, the generated sensitivity plot will be saved as the
specified PNG file.
[-xrange] Range (minimum and maximum) for the X axis.
[-yrange] Range (minimum and maximum) for the Y axis.
[-save] Save the gnuplot data/command files in the specified directory.
[-bname] Sub-option of -save. Basename for the gnuplot file. By default,
it is:
<dir>/<tag>_gnuplot.[cmd,data]
[>|-out] If specified, redirect the output of the command in the specified
file.
By default, the output of the command is dumped in
<work_dir>/<cell>_sens.data
If the specified file needs to be created in some other directory
then make sure the directory exists.

September 2017 60 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - plot_cell_sensitivity

Example(s)
■ plot_cell_sensitivity BUFX1 -lib slow -xkey slew
■ plot_cell_sensitivity -cells BUFX2 -png bufx2_load_sens.png
■ plot_cell_sensitivity -cells BUFX1 BUFX2 BUFX3 BUFX4 -zval 0.050 ;# use
load=0.050 for each cell

Return Value

0 for success, 1 indicates error in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 61 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - plot_drive_profile

plot_drive_profile
Plots the driving strength of design cells.

Syntax
plot_drive_profile
[-lib <library_name>+] [-domain <domain_name>+]
[-cells <cell>+]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-ldb_cellpath {[/libraries/][<domain>/][<lib>/]<cell>}+]
[-cell_type
{flop|latch|icgc|comp|shift|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|
mux|tri|tie|pad|fadd|hadd|delay|iso|srpg|ls|els|ps|scan|unknown}+]
[-cell_group <comb|seq|pm>]
[-ipin_cnt <cnt>]
[-name <cell_name_regexp>]
[-by_score]
[-weights {<prop>=<val>}+]
(<prop> = area|delay|transition|leakage_power|internal_power)
[-cells_per_ds_cluster <num>]
[-pct_keep <pct>]
[-slew <slew>]
[-load <load>]
[-lines
area|delay|transition|leakage_power|internal_power|setup|hold|
slew_degradation|ipin_cap|max_cap]
[-pin_type {data|clock|enable|select|reset|set|scan|save|restore}]
[-slew <slew>]
[-load <load]
[-show_cell]
[-x1_cell <x1_cell>]
[-xrange <xmin>:<xmax>]
[-yrange <ymin>:<ymax>]
[-show_line_fit]
[-png <f_png>]
[-save <dir>]
[-bname <tag>]

September 2017 62 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - plot_drive_profile

Options and Arguments

[-h] Displays help for all options.


[-lib] List of libraries.
[-domain] List of domains.
[-cells] List of cells to plot.
[-ldb_libpath] Full vdir path of the cell library.
[-ldb_cellpath] Full vdir path of the cells to plot.
[-cell_type] List of cell types to plot. By default, inv cells are considered.
[-cell_group] Plot the specified group of cells.
[-ipin_cnt] Sub-option of cell_group. Use it to select cells with the
specified number of inputs.
[-name] Sub-option of cell_group. Use it to select cells with the
specified name expression. The default expression is *.
[-by_score] Filter cells by computed scores. Default is false.
[-weights] Sub-option of by_score. Filter cells by weights specified as
prop=val, where:

prop=area|delay|transition|leakage_power|inter
nal_power

By default, area=1 delay=2 transition=1 leakage=1


internal=1
[-cells_per_ds_cluster] Sub-option of by_score. Specify the number of cells per DS
cluster. Default is 1.
[-pct_keep] Sub-option of by_score. Return the top specified percentage of
cells by scores. Default is don't care.
[-slew] Sub-option of -by_score. Use the specified slew value.
[-load] Sub-option of -by_score. Use specified load value.
[-lines] Plot the specified property as lines in the plot. Refer to syntax for
valid values for this option.
[-pin_type] Sub-option to be used only when you specify ipin_cap for the
-lines option. The default pin type is data.
[-slew] Sub-option of -lines. Use the specified slew value.

September 2017 63 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - plot_drive_profile

[-load] Sub-option of -lines. Use specified load value.


[-show_cell] Show cells in the plot output.
[-x1_cell] Use the specified X1 cell for computing drive strength.
[-xrange] Specify the X-axis range for the plot.
[-yrange] Specify the Y-axis range for the plot.
[-show_line_fit] Show the plot lines as they fit.
[-png] Save the plot in specified PNG file.
[-save] Save gnuplot data/command files in the specified directory.
[-bname] Basename of the gnuplot output file. The basename is set as
<dir>/<tag>_guplot.[cmd,data].

Example(s)
■ plot_drive_profile -cell_type inv -lines area leakage_power
■ plot_drive_profile -cell_type inv buf nand -lines area
■ plot_drive_profile -cell_type and -ipin_cnt 2 -lines area

Return Value

0 for success, -1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 64 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - plot_lib_quality

plot_lib_quality
Plots waterfall chart of cell types and drive_strengths for a library.

Syntax
plot_lib_quality [-lib <library_name>+] [-domain <domain>+]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-cell_type
{memory|register|flop|latch|icgc|add|sub|mult|div|decoder|comp|shift|mmux|
buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|mux|tri|tie|pad|fadd|hadd|
delay|iso|srpg|ls|els|ps}+]
[-cell_group seq|dpx|logic|pm]
[-ipin_cnt <cnt>]
[-opin_cnt <cnt>]
[-design_context]
[-param cnt|area|power|leakage|internal]
[-ykey drive_strength|drive_res|leakage_power|internal_power]
[-x1_cell <x1_cell>]
[-yrange <ymin>:<ymax>]
[-png <f_png>]
[-save <dir>]
[-bname <tag>]

September 2017 65 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - plot_lib_quality

Options and Arguments

[-h] Displays help for all options.


[-lib] List of libraries.
[-domain] List of domains.
[-ldb_libpath] Full vdir path of the cell library.
[-cell_type] List of cell types to plot. By default, all cells are considered.
[-cell_group] Plot the specified group of cells.
[-ipin_cnt] Suboption of -cell_group. Reports the specified input pin
count. Default is any.
[-opin_cnt] Suboption of -cell_group. Reports the specified output pin
count. Default is any.
[-design_context] Display the plot in design context.
[-param] Suboption of -design_context. Specify the parameter for
design context. The default parameter is cnt.
[-ykey] Plot the specified property on Y axis. By default, drive_strength
is plotted on Y axis.
[-x1_cell] Use the specified X1 cell for computing drive strength.
[-yrange] Show the range on Y axis of the plot.
[-png] Save the plot in specified PNG file.
[-save] Save gnuplot data/command files in the specified directory.
[-bname] Suboption of -save. Basename of the gnuplot output file. The
basename is set as <dir>/<tag>_gnuplot.[cmd,data].

Example(s)
■ plot_lib_quality -lib slow -cell_group logic
■ plot_lib_quality -cell_type inv buf nand nor
■ plot_lib_quality -cell_type mux -save "./data" -bname mux ;# will save ./data/
mux_gnuplot.[cmd,data]

Return Value

0 for success, 1 indicates failure in execution.

September 2017 66 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - plot_lib_quality

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 67 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_libraries

get_libraries
Returns the list of libraries (LIBs).

Syntax
get_libraries \
[-domain <domain_name>]
[-name <lib_name_regexp>]
[-files <src_file_path>+]
[-op_volt|-op_temp|-op_cond|-node|-vt <val>]
[-cell_count <num> [<op>]]
(<op> :: eq|ne|lt|gt|le|ge, default=ge)
[-full_path]

Options and Arguments

[-h] Displays help for all options.


[-domain] Return list of libraries for the specified domain.By default, all
domain libraries are reported.
[-name] Return list of libraries matching the specified name expression.
By default, all libraries are reported.
[-files] Return libraries matching the specified LIB file paths.
[-op_volt|-op_temp|- ■ op_temp - search libraries with default operating
op_cond] temperature as specified
■ op_volt - search libraries with default operating voltage as
specified
■ op_cond - search libraries with default operation condition
as specified
[-cell_count] Return libraries with greater than <num> cells.
[-full_path] Return list of library VDIR path names.

Example(s)
■ get_libraries ; # get list of ALL libraries
■ get_libraries -name "*LVT*" ; # get a LVT library
■ get_libraries -name "*HVT*"; # get a HVT library
■ get_libraries -name "^p*" # get library name starting with p

September 2017 68 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_libraries

■ # get library with 477 cells


get_libraries -cell_count 477 ;# returns slow
■ # get libraries with 477 cells or more
get_libraries -cell_count 477 ge ;# returns slow typical

Return Value

-1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 69 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - read_libs

read_libs
Reads a list of libraries into Joules.

Syntax
read_libs [-libs] <path-to-lib>+ \
[-flist <file_with_list_of_LIBs>]
[-domain <domain-name>]
[-infer_memory_cells]
[-node <text>]
[-vt <text>]
[-skip_libscore]
[-quiet]

Options and Arguments

[-h] Displays help for all options.


[-libs] Path of the libraries.
[-flist] Read LIBs listed in the specified file.
[-domain] Name of the library domain.
[-infer_memory_cells] Infer and tag memories.
[-node] Mark technology node, for example 28nm
[-vt] VT association, for example HVT/SVT/LVT
[-skip_libscore] Skip Libscore processing. The default value is false.
[-quiet] Suppress the status message.

Example(s)
■ set_attribute lib_search_path /path/to/libs
■ read_libs typical.lib ;# goes to 'default' domain
■ read_libs hvt_slow.lib hvt_fast.lib -domain hvt
■ read_libs lvt_slow.lib lvt_fast.lib -domain lvt

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 70 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - read_libs

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 71 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_lib_domains

get_lib_domains
Returns the list of library domains read into Joules.

Syntax
get_lib_domains \
[-name <glob>]
[-nocase]
[-invert]

Options and Arguments

[-h] Displays help for all options.


[-name] Match domain names with the specified pattern.
[-nocase] Sub-option of -name. Perform case-insensitive name match.
[-invert] Sub-option of -name. Filter out domains that match the pattern
and return those that do not.

Example(s)
■ get_lib_domains ; # get list of ALL library domains
■ get_lib_domains -name "*1p2*" ; # get a LVT/HVT library
■ get_lib_domains -name "1P2" -nocase -invert ; # get a LVT/HVT library

Return Value

-1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 72 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_lib_param

get_lib_param
Returns queried library parameter.

Syntax
get_lib_param \
[-lib <library_name>] [-domain <domain_name>]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-unit <voltage|current|time|slew|energy|area|delay|power|res[istance]|
cap[acitance]>]
[-default op_cond|power_rail|max_fanout|max_trans|wire_load|wlm]
[-power_rails]
[-rail_voltage <rail_name>]
[-op_conds]
[-pvt <op_condition_name>]
[-op_slew|-op_load|-op_rail|-x1_cell|-node|-vt]
[-area|-avg_ipin_cap|-max_load|-max_fanout]
[-avoid]
(use following options to select list of cells)
[-cells <cell>+]
[-cell_type
<memory|flop|latch|icgc|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|
mux|tri|tie|pad|fadd|hadd|delay|iso|srpg|ls|els|ps|scan|unknown>+]
[-cell_group <comb|seq|memory|pm>+]
[-drive_strength <ds> <ds_margin>]
[-delay|-transition|-slew_degradation|-internal_power|-leakage_power|
-rf_ratio|-setup|-hold|-recovery|-removal|-min_pulse_width]
(use following options to further qualify param values)
[-sense rise|fall|avg]
[-constr rise|fall]
[-slew <slew>]
[-load <load>]
[-rail <power_rail_name>]
[-files]

September 2017 73 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_lib_param

Options and Arguments

[-h] Displays help for all options.


[-lib] Library name.
[-domain] Domain name.
[-ldb_libpath] Full vdir path of library.
[-unit] Attribute unit type.
[-default] Return the default value of the specified parameter.
[-power_rails] Return all power rails defined in the library.
[-rail_voltage] Return the rail voltage of the specified power cell.
[-op_conds] Return all the operating conditions in the library.
[-pvt] Return the PVT (process factor, volume, and temperature)
conditions for the specified operating condition.
[-op_slew|-op_load|-op_rail|-x1_cell]

Return the slew value, load, rail, and x1 cell set using
set_lib_param command
[-area|-avg_ipin_cap|-max_load|-max_fanout]

Return the area, average input pin capacitance, maximum load,


and maximum fanout of the selected cells.
[-avoid] Return number of cells marked avoid.
[-cells] List of cells for which average input pin capacitance, maximum
load, and maximum fanout are required.
[-cell_type] Type of cell for which average input pin capacitance, maximum
load, and maximum fanout are required.
[-cell_group] Group of cells for which average input pin capacitance,
maximum load, and maximum fanout are required.
[-drive_strength] Drive strength of the cell. By default, ds_margin is calculated as
+/- 10% of ds or +/- (0.1)*ds.
[-delay|-transition|-slew_degradation|-internal_power|-leakage_power|-rf_ratio|-
setup|-hold|-recovery|-removal|-min_pulse_width]

Return average value of the specified parameter.


[-sense] Specify the driving direction as rising, falling, or average of both
(default).

September 2017 74 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_lib_param

[-constr] Specify the table to use, rise_constraint or fall_constraint.


Applies only to:
-setup|-hold|-recovery|-removal|-min_pulse_width
[-slew] Use the specified slew value.
[-load] Use the specified load value.
[-rail] Use the specified power_rail.
[-files] Return path to source library files.

Example(s)
■ get_lib_param -lib $hvt_lib -avg_ipin_cap -cell_type inv ; # what is the avg
pin cap of all INV cells in the HVT library

Return Value

-1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 75 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - set_lib_param

set_lib_param
Sets a parameter on a library.

Syntax
set_lib_param [-lib <library_name>] [-domain <library_domain>]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-op_rail <operating_rail>]
[-op_slew <operating_slew>]
[-op_load <operating_load>]
[-x1_cell <x1_cell_name>]
[-unit <voltage|current|time|slew|delay|power|res[istance]|cap[acitance]>]
[-node <node_name>]
[-vt <vt_name>]
[-avoid true|false]

September 2017 76 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - set_lib_param

Options and Arguments

[-h] Displays help for all options.


[-lib] Name of the library whose parameter values need to be set.
[-domain] Domain name for the library.
[-ldb_libpath] Full vdir path of library whose parameter values need to be set.
[-op_rail] Set the operating rail of the various library parameters.
[-op_slew] Set the operating slew of the various library parameters.
[-op_load] Set the operating load of the various library parameters.
[-x1_cell] Set the X1 cell for the library.
[-unit] Set the unit of various library parameters.
[-node] Associate a technology node name with a library.

Sample specification - tsmc65nm


[-vt] Associate a VT name with the library

Sample specification - HVT|SVT|LVT


[-avoid] Mark avoid attribute on all cells in the library. By default, no
change is done.

Example(s)
■ set_lib_param -lib $lvt_lib -unit power uW ; # set LVT library power unit to
uW (micro watt)
■ set_lib_param -node 28nm|65nm ; # estimate power across two tech nodes

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 77 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - show_lib_params

show_lib_params
Shows summary information for specified library.

Syntax
show_lib_params [-libs <lib>+] [-domain <domain>]
[-ldb_libpath {[/libraries/][<domain>/]<lib>}+]
[-groups {unit|default|op_set|lib_params|cell_params}+]
[-lib_params {power_rails|op_conds|rail_voltages|pvts}+]
[-cell_params
{area|delay|transition|internal_power|leakage_power|hold|recovery|removal|
min_pulse_width|slew_degradation|rf_ratio|setup|avg_ipin_cap|max_load|
max_fanout}+]
[>|-out outfile]

September 2017 78 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - show_lib_params

Options and Arguments

[-h] Displays help for all options.


[-libs] Library name.
[-domain] Library domain name.
[-ldb_libpath] Full vdir path of library.
[-groups] Show information for specified library groups.

Default:

unit default op_set lib_params


[-lib_params] Show information for specified library parameters.

Default:

power_rails op_conds
[-cell_params] Show information for specified cell parameters.

Default:

area leakage_power avg_ipin_cap


[>|-out] Redirect the output to the specified file.

By default, the output of the command is dumped in stdout.

Example(s)
■ show_lib_params -lib slow -out slow.params

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 79 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_cell_param

get_cell_param
Returns cell parameter values.

Syntax
get_cell_param [-cell] <cell_name>
[-owning_lib|-all_owning_libs]
[-full_path]
[-lib <library_name>]
[-domain <lib_domain_name>]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-ldb_cellpath [/libraries/][<domain>/][<lib>/]<cell>]
[-avoid|-function|-cell_type]
[area|-max_cap|-max_fanout]
[-ipin_cap <input_pin>]
[-avg_ipin_cap]
[-load_threshold]
[-slew_margin <frac>]
[-ipin <input_pin>] [-opin <output_pin>]
[-delay|-transition|-slew_degradation|-internal_power|-leakage_power|
-rf_ratio|-setup|-hold|-recovery|-removal|-min_pulse_width|-retaining|
-retain_slew]
[-ipin <input_pin>] [-opin <output_pin>]
[-sense rise|fall|avg]
[-constr rise|fall]
[-related_pins]
[-when_conditions]
[-slew <slew>]
[-load <load>]
[-cond <condition>]
[-rail <power_rail_name>]
[-drive_strength | -drive_res]
[-sense <rise|fall|avg>]
[-slew <slew>] [-load <load>]
[-x1_cell <x1_cell>]
[-allow_cross_lib_compare]
[-score]
[-weights {<prop>=<val>}+]
(<prop> = area|delay|transition|leakage_power|internal_power|)
[-slew <slew>] [-load <load>]
[-x1_cell <x1_cell>]
[-allow_cross_lib_compare]
[-lut_values <slew|load>]
[-ipin <input_pin>] [-opin <output_pin>]
[-table_type
cell_rise|cell_fall|trans_rise|trans_fall|rise_power|fall_power|
retaining_rise|retaining_fall|retain_slew_rise|retain_slew_fall]

September 2017 80 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_cell_param

Options and Arguments

[-h] Displays help for all options.


[-cell] Cell name.
[-owning_lib|-all_owning_libs]

Return libraries containing the specified cell.


[-full_path] Suboption of -owning_lib|-all_owning_libs.

Return the vdir path. By default, this is set to false.


[-lib] Library name for the cell.
[-domain] Domain name.
[-ldb_libpath]

Full vdir path of library.


[-ldb_cellpath]

Full vdir path of cell.


[-avoid|-function|-cell_type]

Return the specified cell-level parameter.


[-area|-max_cap|-max_fanout]

Return area, max_capacitance and max_fanout cell-level


parameter.
[-ipin_cap] Return the input pin capacitance.
[-avg_ipin_cap]

Return the average capacitance of all input pins.


[-load_threshold]

Return the capacitance load at which the slew degrades.


[-slew_margin]

Suboption of -load_threshold.

This specifies the slew degradation margin as fraction. The


default fraction is 0.0.
[-ipin] Suboption of -load_threshold.

This is the arc specification.

September 2017 81 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_cell_param

[-opin] Suboption of -load_threshold.

This is the arc specification.


[-delay|-transition|-slew_degradation|-internal_power|-leakage_power|-rf_ratio|-
setup|-hold|-recovery|-removal|-min_pulse_width]

Has following suboptions:


■ -ipin - Input pin
■ -opin - Output pin
■ -sense - Rising, falling, or average of both (default)
■ -constr - Specify the table to use, rise_constraint or
fall_constraint, or average (default). Applies only to:
-setup|-hold|-recovery|-removal|-min_pulse_width

■ -related_pins - Returns related_pin for the specified


param, arc, and sense table
■ -when_conditions - Returns the list of when conditions for
the specified param, arc, and sense tables
■ -slew - Slew value
■ -load - Maximum load value
■ -cond - Condition
■ -rail - Power rail name
[-drive_strength | -drive_res]

Has following suboptions:


■ -sense - Rising, falling, or average of both (default)
■ -slew - Slew value
■ -x1_cell - X1 cell name
■ -allow_cross_lib_compare - default is false

September 2017 82 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_cell_param

[-score] Has the following suboptions:


■ -weights- In the format of property=value
If a property is not specified, its weight is considered as
0.
Property can be:
area|delay|transition|leakage_power|internal_pow
er

Default values:
area=1 delay=2 transition=1 leakage=1 internal=1

■ -slew
■ -load
■ -x1_cell

■ -allow_cross_lib_compare - default is false


[-lut_values] Get the look-up table slew or load values. Has following
suboptions:
■ -ipin - Input pin
■ -opin - Output pin
■ -table_type - Type of table. Select from: cell_rise, cell_fall,
trans_rise, trans_fall, rise_power, fall_power, retaining_rise,
retaining_fall, retain_slew_rise, retain_slew_fall

Example(s)
■ get_cell_param AOI2BB2X2 -function ;# get cell function
■ get_cell_param BUFX1 -lut_values slew # get lut slew values for BUFX1
■ get_cell_param FD2SQX4_D -setup -sense rise -constr rise -ipin D
■ get_cell_param FD2SQX4_D -hold -sense fall -constr rise -ipin D
■ get_cell_param FD2SQX4_D -recovery -sense rise -constr fall -ipin CD
■ get_cell_param -cell ADDFHX2 -domain lib_1p08v -area

Return Value

-1 indicates failure in execution.

September 2017 83 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_cell_param

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 84 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_cell_pins

get_cell_pins
Returns a list of cell pins.

Syntax
get_cell_pins \
-cell <cell_name>
[-lib <lib_name>]
[-domain <domain_name>]
[-ldb_libpath [/libraries/][<domain>/]<lib>] (
[-ldb_cellpath [/libraries/][<domain>/][<lib>/]<cell>]
[-name <pin_name_regexp>]
[-direction <input|output|inout|any>]
[-pin_type
<data|address|clock|enable|select|reset|set|scan|tie|rail|vdd|gnd|save|
restore>]
[-bus]
[-arcs]

Options and Arguments

[-h] Displays help for all options.


-cell Cell name.
[-lib] Library name.
[-domain] Library domain name.
[-ldb_libpath] Full vdir path of library.
[-ldb_cellpath] Full vdir path of cell.
[-name] Pin name. Default is *.
[-direction] Cell direction. Default is any.
[-pin_type] Type of pin. Default is any.
[-bus] Show bussed form.
[-arc] Return list of IO arcs for selected set of input/output pins.

Example(s)
■ get_cell_pins -cell $and_cell -lib $lvt_lib -direction input ; # get a list of
input pins of a cell

September 2017 85 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_cell_pins

Return Value

-1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 86 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - show_cell_info

show_cell_info
Shows summary information for specified cell. If an x1_cell is specified, then drive strength
of the cell w.r.t. the specified x1_cell will be shown.

Syntax
show_cell_info \
[-cell] <cell> [-lib <lib>] [-domain <domain>]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-ldb_cellpath [/libraries/][<domain>/][<lib>/]<cell>]
[-x1_cell <x1_cell>]

Options and Arguments

[-h] Displays help for all options.


[-cell] Cell name.
[-lib] Library name.
[-domain] Library domain name.
[-ldb_libpath] Full vdir path of library.
[-ldb_cellpath] Full vdir path of cell.
[-x1_cell] X1 cell name. If this is specified, then drive strength of the cell
w.r.t. the specified x1 cell will be shown.

Example(s)
■ show_cell_info -cell BUFX1
■ show_cell_info -cell BUFX4 -lib $lib -x1_cell $x1_cell

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 87 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - get_cell_pin_type

get_cell_pin_type
Returns pin type for specified cell pin.

Syntax
get_cell_pin_type [-pin] <pin_name>
-cell <cell_name>
[-lib <lib_name>]
[-domain <domain>]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-ldb_cellpath [/libraries/][<domain>/][<lib>/]<cell>]

Options and Arguments

[-h] Displays help for all options.


[-pin] Pin name.
-cell Cell name. This is a mandatory option.
[-lib] Library name.
[-domain] Library domain name.
[-ldb_libpath] Full vdir path of library.
[-ldb_cellpath] Full vdir path of cell.

Example(s)
■ get_cell_pin_type D -cell $flop_cell -lib $slow_lib ; # get pin type for the D
pin of a cell

Return Value

-1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 88 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - report_libcells

report_libcells
Generates a tabular report for specified cells.

Syntax
report_libcells \
[-lib <lib_name>] [-domain <lib_domain>]
[-cells <cell>+]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-ldb_cellpath {[/libraries/][<domain>/][<lib>/]<cell>}+]
[-name <cell_name_regexp>]
[-cell_type
<memory|flop|latch|icgc|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|mux|
tri|tie|pad|fadd|hadd|delay|iso|srpg|ls|els|ps|scan|unknown>+]
[-cell_group <comb|seq|memory|pm>]
[-drive_strength <ds> <ds_margin>]
[-sense <rise|fall|avg>]
[-slew <slew>]
[-load <load>]
[-x1_cell <x1_cell>]
[-ipin_cnt <num>]
[-opin_cnt <num>]
[-bit_width <n>]
[-op eq|ne|gt|lt|ge|le]
[-cols
{avoid|drive_strength|load_threshold|rf_ratio|avg_ipin_cap|max_cap|
max_fanout|pin_cnt|ipin_cnt|opin_cnt|bit_width|rail_cnt|area|cell_type|
function|delay|transition|slew_degradation|internal_power|leakage_power|
setup|hold|score}+]
[-cols_add
{max_fanout|pin_cnt|opin_cnt|bit_width|rail_cnt|cell_type|function|delay|
transition|slew_degradation|internal_power|leakage_power|score}+]
[-cols_del
{area|ipin_cnt|drive_strength|max_cap|load_threshold|avg_ipin_cap|rf_ratio}
+]
[-slew_margin <frac>]
[-weights {<prop>=<val>}+]
(<prop> = area|delay|transition|leakage_power|internal_power)
[-infer_x1_cell_per_cell_type]
[-ds_margin <frac>]
[-sort_by <col_title>]
[-out <f_dat>]
[-widget]

September 2017 89 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - report_libcells

Options and Arguments

[-h] Displays help for all options.


[-lib] Name of library.
[-domain] Name of library domain.
[-cells] Cells to report. By default, all cells are reported.
[-ldb_libpath] Full vdir path of library.
[-ldb_cellpath] Full vdir path of cell.
[-name] Name of cell.
[-cell_type] Type of cell.
[-cell_group] Group of cell.
[-drive_strength] Drive strength (ds) of the cell. By default,
ds_margin = +/-10% of ds

This has the following suboptions:


■ -sense - rise, fall, or avg (default) - driving direction of the
cell
■ -slew - slew value
■ -load - load value
■ -x1_cell - X1 cell
[-ipin_cnt] Specify the input pin count. Default is dont_care.
[-opin_cnt] Specify the output pin count. Default is dont_care.
[-bit_width] Specify cell bit_width attribute. Default is any.
[-op] Specify the operand.

Applies to -ipin_cnt, -opin_cnt, -bit_width

Default is eq.
[-cols] Columns to show in the report.
[-cols_add] Columns to add to the default columns.
[-cols_del] Columns to delete from the default columns.
[-slew_margin] Applies to load_threshold. The default slew_margin is 0.0.

September 2017 90 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - report_libcells

[-weights] This option applies to -cols score. Specify the weight in


format:

<prop>=<val>

Default is:

area=1 delay=2 transition=1 leakage=1


internal=1
[-infer_x1_cell_per_cell_type]

Infer x1_cell for each cell type. Drive strength of the x1_cell
should not be greater than the -ds_margin option given below.

This option applies to -cols score

Default is false.
[-ds_margin] Sub-option of -infer_x1_cell_per_cell_type.

Specify the percentage deviation allowed from library x1_cell.


Default is 0.1 (10%).
[-sort_by] Sort by specified column. By default, the report is sorted by
drive_strength.
[-out] Save the output data in the specified file.
[-widget] Display the output in form of GUI widget.

Example(s)
■ report_libcells -cell_type buf -lib slow -cols drive_strength load_threshold
rf_ratio
■ report_libcells -cells [get_libcells -cell_type flop]

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 91 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - show_cell_tables

show_cell_tables
Displays specified cell table.

Syntax
show_cell_tables \
[-cell] <cell> [-lib <lib>] [-domain <domain>]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-ldb_cellpath [/libraries/][<domain>/][<lib>/]<cell>]
[-ipin <input_pin>+]
[-opin <output_pin>+]
[-table_type
{cell_rise|cell_fall|trans_rise|trans_fall|rise_power|fall_power}]+
[-delay|-transition |-internal_power|-drive_res]
[-sense rise|fall||avg|both]
[-mode avg|max|min]
[-slew <slew>+]
[-load <load>+]
[-out <outfile>]

September 2017 92 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - show_cell_tables

Options and Arguments

[-h] Displays help for all options.


[-cell] Name of cell.
[-lib] Name of library.
[-domain] Name of library domain.
[-ldb_libpath] Full vdir path of library.
[-ldb_cellpath] Full vdir path of cell.
[-ipin] Input pin name.
[-opin] Output pin name.
[-table_type] Type of table to display.
[-delay|-transition |-internal_power|-drive_res]

This has the following suboptions:


■ -sense - The default sense is average of rising and falling
directions.
■ -mode - Applies to -drive_res option. The default mode is
average.
[-slew] List of slew values.
[-load] List of load values.
[-out] Redirect the output to the specified file. By default, the output is
directed to stdout.

Example(s)
■ show_cell_tables BUFX1 -table_type trans_rise trans_fall
■ show_cell_tables BUFX4 -drive_res -sense both

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 93 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - tag_memory

tag_memory
Tags (annotate) information on the memory.

Syntax
tag_memory \
[-cell] <cell>
[-lib <lib>]
[-domain <domain>]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-ldb_cellpath [/libraries/][<domain>/][<lib>/]<cell>]
[-clock <glob_clock_port>]
-addr <glob_rd_addr_port>+
[-rd_addr <glob_rd_addr_port>+]
[-wr_addr <glob_wr_addr_port>+]
-mem_enable <glob_rd_enable_port>+
-wr_enable <glob_wr_enable_port>+
-din <glob_data_in_port>+
[-dout <glob_data_out_port>+]
[-depth num]
[-width num]

September 2017 94 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - tag_memory

Options and Arguments

[-h] Displays help for all options.


[-cell] Name of cell.
[-lib] Suboption of -cell. Name of library.
[-domain] Suboption of -cell. Name of library domain.
[-ldb_libpath] Suboption of -cell. Full vdir path of library.
[-ldb_cellpath] Full vdir path of cell.
[-clock] Clock port.
-addr Address port.

This has the following suboptions:


■ -rd_addr - read address port
■ -wr_addr - write address port
-mem_enable Read-enable port.
-wr_enable Write-enable port.
-din Input port.
[-dout] Output port.
[-depth] Depth of memory address port. The default depth is:
2**width(rd_addr)
[-width] Width of memory address port. The default width is:
width of dout

Example(s)
■ tag_memory CDK_S256x12 \
-addr ADDR* -din DATA_IN -clock CLOCK \
-wr_enable WR_EN* -mem_enable ENABLE \
-depth 256 -width 12

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 95 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - tag_memory

Also See

Library Read and Analysis in Joules User Guide.

September 2017 96 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - infer_memory_cells

infer_memory_cells
Infers memory cells from library.

Syntax
infer_memory_cells \
[-tag_as_memory]
[-memory2cell_area_multiple <factor>]
[-base_cell <cell>]
[-min_word_width <integer>]
[-min_addr_width <integer>]
[-match_rom]
[-lib <lib_name>]
[-domain <domain_name>]
[-ldb_libpath [/libraries/][<domain>/]<lib>/] )
[-name <cell_name_regexp>]

Options and Arguments

[-h] Displays help for all options.


[-tag_as_memory] Tag the inferred cell as memory.
[-memory2cell_area_multiple]

Ratio of memory to cell area. The default ratio is 100.0.


[-base_cell] Use area of this cell as unit for area comparison.
[-min_word_width] Minimum data width. Default width is 4.
[-min_addr_width] Minimum address width. Default width is 4 units.
[-match_rom] Specify when RAMs have no input data bus. Default is false.
[-lib] Name of library.
[-domain] Name of library domain.
[-ldb_libpath] Full vdir path of library.
[-name] Name of cell. Default is *.

Example(s)
■ infer_memory_cells -name {CDK_*}
■ infer_memory_cells -memory2cell_area_multiple 200 -base_cell DFFX1

September 2017 97 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - infer_memory_cells

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 98 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - infer_x1_cell

infer_x1_cell
Searches the design library for probable X1 cells

Syntax
infer_x1_cell [-lib] <lib_name> [-domain <domain>] \
[-ldb_libpath [/libraries/][<domain>/]<lib>/]
[-has_xl_cell]
[-use_cell_types
{memory|flop|latch|icgc|comp|shift|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|
oa|oai|mux|tri|tie|pad|fadd|hadd|delay|iso|srpg|ls|els|ps|scan|unknown}+]
[-force]

Options and Arguments

[-h] Displays help for all options.


[-lib] Search for the X1 cell in the specified library.
[-domain] Search for the X1 cell in the specified domain.
[-ldb_libpath] Full vdir path of library to search for X1 cell.
[-has_xl_cell] Specify this option if the library contains cells of drive strength
0.5. By default, it is set to false.
[-use_cell_types] Infer X1 cell of the specified cell type. Default cell types are inv,
nand, nor, buf, and, or. flop.
[-force] Specify to force x1_cell inferencing. Default is false.

Example(s)
■ infer_x1_cell -lib $lvt_lib

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Activity Processing and Reporting in Joules User Guide.

September 2017 99 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - compare_memory

compare_memory
Compares two libraries of the same memory, presumably characterized for different corners.

Syntax
compare_memory \
[-ldb_libpath <x_ldb_libpath> <y_ldb_libpath>+]
[-lib <xlib> <ylib>+] [-domain <lib_domain>]
[-cells <cell>+]
[-name <cell_name_regexp>]
[-match_names <lib1_mask> <lib2_mask>]
[-arc_prop
delay|transition|internal_power|setup|hold|recovery|removal|min_pulse_width]
[-sense {rise|fall|avg|both}]
[-constraint {rise|fall|avg}]
[-slew <slew>]
[-load <load>]
[-cols {prop|pin|related_pin|slew|load|sense|constraint|rail|when}+]
[-diff_threshold <pct>]
[-out <f_data>]

September 2017 100 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - compare_memory

Options and Arguments

[-h] Displays help for all options.


[-ldb_libpath] Full vdir path of the libraries to compare.
[-lib] Name of the libraries to compare.
[-domain] Name of library domain.
[-cells] Specify the cells for comparison. By default, all memory cells
are considered.
[-name] Suboption of -cells. Specify the cell name pattern. The default
is *.
[-match_names] Match the library names with the specified patterns.
[-arc_prop] Compare the specified property. By default, all properties of the
specified libraries are compared.
[-sense] Suboption of arc_prop.

Specify the sense of -arc_prop, for example, setup_rise.

The default is average.


[-constraint] Suboption of arc_prop.

Specify the table to use, rise_constraint, fall_constraint, or


average (default).

This option applies only to:

-arc_prop
setup|hold|recovery|removal|pulse_width
[-slew] Use the specified slew for comparison.
[-load] Use the specified load for comparison.
[-cols] List specified columns in the comparison table. By default, the
following columns are listed:

prop pin related_pin slew load sense


[-diff_threshold] Show entries where the difference is greater than the specified
value <pct>. By default, all entries are displayed.
[-out] Save the output plot data in the specified file.

September 2017 101 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - compare_memory

Example(s)
■ compare_memory -arc_prop setup -cells RAM16Kx32 -ldb_libpath $libpath1
$libpath2 -diff_threshold 0.05 ;# show setup variance with diff > 5%
■ compare_memory -arc_prop delay -cells RAM8Kx16 -ldb_libpath $libpath1
$libpath2 -diff_threshold 0.05 -cols prop pin related_pin slew load -arc_prop
delay -out joules_work/compare_memory.rpt

Return Value

-1 indicates error in execution.

Also See

Library Read and Analysis in Joules User Guide.

September 2017 102 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - scrub_library

scrub_library
Scores cells in a library and selects the best cells.
■ Scores are computed based on cell area, delay, transition, leakage_power,
internal_power values and weights specified using -weights option.
■ By default, cells are bucketized by cell type and input pin count. Use -buckets option
to change this.
■ Cells in each bucket are clustered by their drive_strength. By default, cell with highest
score is kept. Use -cells_per_ds_cluster or -pct_keep option to change this.
■ If -buckets option is used, you can use -per_bucket_cells_per_ds_cluster or
-per_bucket_pct_keep options to specify cells_per_ds_cluster and pct_keep values
for each specified bucket.
■ Script file with cell dont_use commands is generated in joules_work/
dont_use_<lib_name>.tcl, where <lib> = logical name of the library. Use the -
f_script option to change this.

Syntax
scrub_library \
[-handle <handle>]
[-work_dir <work_dir>]
[-set]
[-lib <library_name>+] [-domain <domain_name>+]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-cell_type
{memory|flop|latch|icgc|comp|shift|buf|inv|and|nand|or|nor|xor|xnor|ao|
aoi|oa|oai|mux|tri||pad|fadd|hadd|delay|iso|srpg|ls|els|ps|scan|unknown}
+]
[-cell_group <comb|seq|memory>]
[-ipin_cnt <cnt>[:<cnt2>][,<cnt3>]]
[-weights {<prop>=<val>}+]
(<prop> = area|delay|transition|leakage_power|internal_power)
[-cells_per_ds_cluster <num>]
[-pct_keep <pct>]
[-buckets {<cell_type>[:<ipin_cnt>]}+]
(<cell_type> =
memory|flop|latch|icgc|comp|shift|buf|inv|and|nand|or|nor|xor|xnor|ao|
aoi|oa|oai|mux|tri||pad|fadd|hadd|delay|iso|srpg|ls|els|ps|scan|unknown)
[-per_bucket_cells_per_ds_cluster <num>+]
[-per_bucket_pct_keep <pct>+]
[-f_config <file>]
[-scrub]
[-handle <handle>]
[-pset <pset>]
[-f_config <file>]
[-x1_cell <x1_cell>]
[-slew <slew>]
[-load <slew>]
[-force]

September 2017 103 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - scrub_library

[-action script|live]
[-mark avoid|keep|both]
[-f_script <file>]
[-report summary|table|both]
[-handle <handle>]
[-f_report <file>]
[-append]
[-plot {lib_quality|drive_profile}+]
[-handle <handle>] )
[-pset <pset>]
[-lines {<param>[:<ltype>]}+]
<param> = area|delay|transition|leakage_power|internal_power
<ltype> = orig|scored|both
[-buckets {<cell_type>[:<ipin_cnt>]}+]
(<cell_type> =
memory|flop|latch|icgc|comp|shift|buf|inv|and|nand|or|nor|xor|xnor|ao|
aoi|oa|oai|mux|tri||pad|fadd|hadd|delay|iso|srpg|ls|els|ps|scan|unknown)
[-show_cell]

September 2017 104 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - scrub_library

Options and Arguments

[-h] Displays help for all options.


[-handle] Required run handle for -scrub, -plot options. If not specified for
-set, a four-letter handle is auto generated.
[-work_dir] Directory for run data and script files. Default directory is ./
scrub_library_work_<handle>.
[-set] Set run parameters
[-lib] Sub-option of -set. List of libraries.
[-domain] Sub-option of -set. List of library domains.
[-ldb_libpath] Sub-option of -set. Full vdir path of library.
[-cell_type] Sub-option of -set. Type of cells. By default, all cell types are
considered.
[-cell_group] Sub-option of -set. Group of cells. By default, all groups are
considered.
[-ipin_cnt] Sub-option of -cell_group. Specified pin count or range.
[-weights] Sub-option of -set. Scoring weights.
[-cells_per_ds_cluster] Sub-option of -set. Number of cells per DS cluster. Default is 1.
[-pct_keep] Sub-option of -set. Keep <pct>% cells. Default setting is to
keep cell with highest score in each DS cluster.
[-buckets] Sub-option of -set. Specify bucket(s) in the format:

<cell_type>[:<ipin_cnt>]
[-per_bucket_cells_per_ds_cluster]

Sub-option of -buckets. cells_per_ds_cluser for each of the


specified bucket.
[-per_bucket_pct_keep] Sub-option of -buckets. pct_keep value for each of the
specified bucket.
[-f_config] Sub-option of -set. Output configuration file with recorded run
settings. Default file is <work_dir>/scrub_library_<handle>.tcl.
[-scrub] Scrub cells in specified buckets.
[-handle] Sub-option of -scrub. Handle for scrub settings.
[-pset] Sub-option of -scrub. Scrub specified pset of the handle.

September 2017 105 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - scrub_library

[-f_config] Sub-option of -scrub. Input configuration file with run settings.


The default file is <work_dir>/scrub_library_<handle>.tcl.
[-x1_cell] Sub-option of -scrub. By default, x1_cell is auto determined for
each bucket.
[-slew] Sub-option of -scrub. Default is mid slew value of x1_cell of
each cell class LUT.
[-load] Sub-option of -scrub. Default is mid load value of x1_cell of
each cell class LUT.
[-force] Sub-option of -scrub. Specify for force scrubbing.
[-action] Specify scrub action tro take: -action script generates a
script while -action live marks cells avoid in live session.
[-mark] Sub-option of -action to decide the selection of cells for
marking 'avoid'.

For example, for a library with 150 cells, the tool may decide 50
cells should be marked avoid. In that case,
■ -mark avoid : will only mark 50 cells as avoid = true
■ -mark keep: will mark 100 cells as avoid = false
■ -mark both: will mark 50 cells as avoid = true, and 100
cells avoid = false
[-f_script] Sub-option of -action. Specify script file. Default file is
joules_work/dont_use_cells.tcl.
[-report] Specify the type of scrub report - summary, table, or both.
Default is summary.
[-handle] Sub-option of -report. Scrub run handle.
[-f_report] Sub-option of -report. Specify report file.
[-append] Sub-option of -report. Append if file exists. Applies to both -
f_script and -f_report. By default, the file is overwriten.
[-plot] Specify library quality or drive_profile to plot scrub results.
[-handle] Sub-option of -plot. Scrub run handle.
[-pset] Sub-option of -plot. Plot specified pset.
[-lines] Sub-option of -plot. Specify plot lines. Applies to -plot
drive_profile.

September 2017 106 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - scrub_library

[-buckets] Sub-option of -plot. Plot specified buckets.


[-show_cell] Sub-option of -plot. Show cells. By defajult, it is set to false.

Example(s)
■ # Step 1. set scrub params and associate a handle
scrub_library -handle slow_flop -set -lib slow -cell_type flop -
cells_per_ds_cluster 2
■ # Step 2. do the scrubbing
scrub_library -handle slow_flops -scrub
■ # Step 3. generate avoid script
scrub_library -handle slow_flops -action script -f_script avoid_flops.tcl
■ # Step 4. report scrub results
scrub_library -handle slow_flops -report summary table
■ # Step 5. plot scrub results
scrub_library -handle slow_flops -plot

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Scrubing Libraries in Joules User Guide.

September 2017 107 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Library Read and Analysis Commands - scrub_library

September 2017 108 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

3
Design Read and Elaboration Commands

■ read_hdl
■ read_power_intent
■ elaborate

September 2017 109 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Read and Elaboration Commands - read_hdl

read_hdl
Reads in Verilog or VHDL files.

Syntax
read_hdl [-vhdl] [-v1995] [-v2001] [-sv] [-library <string>] [-netlist] [-define
<string>]+ [<string>+] [-f <string>]

Options and Arguments

[-h] Displays help for all options.


[-vhdl] Specifies that HDL files are VHDL files.
[-v1995] Specifies that HDL files conform to Verilog-1995.
[-v2001] Specifies that HDL files conform to Verilog-2001 (default).
[-sv] Specifies that HDL files conform to System Verilog P1800.
[-library] Specifies the name of a VHDL or Verilog library.
[-netlist] Specifies that HDL files conform to structural Verilog-1995 and
are intended to be used in mixed input elaboration mode.
[-define] Defines the Verilog macro.
[<string>+] Names of HDL files to read.
[-f] Name of list file for reading files from simulation environment.

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Design and Power Intent - Read and Elaboration in Joules User Guide.

September 2017 110 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Read and Elaboration Commands - read_power_intent

read_power_intent
Reads the power intent files for a design.

Syntax
read_power_intent [-module <string>] [-1801] [-cpf] [-version <string>]
<string>+

Options and Arguments

[-h] Displays help for all options.


[-module] Name of top module of the power intent file.
[-1801] Specifies that the power intent file is a 1801 file.
[-cpf] Specifies that the power intent file is a CPF file.
[-version] Version of the power intent file.
<string>+ List of power intent file to read.

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Design and Power Intent - Read and Elaboration in Joules User Guide.

September 2017 111 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Read and Elaboration Commands - elaborate

elaborate
Creates the design hierarchy. Use this command after:
❑ Reading the library and creating necessary library domains
❑ Reading the HDL design
❑ Reading the power intent

Syntax
elaborate [<top_module>] \
[-parameters { <tuple>+ }]
[-libpath <string>]+
[-libext <string>]+

Options and Arguments

[-h] Displays help for all options.


[<top_module>] Module name for the design.
[-parameters] List of (parameter value) tuples for specified module.
[-libpath] Verilog library search path.
[-libext] Verilog library file extension.

Example(s)
■ elaborate -parameters {5 1} ; #Set a top-level parameter by positions.
■ elaborate -parameters { {FOO 1} {BAR 5} } ; #Set a top-level parameter by names.
■ elaborate -libpath {LIBp LIBq} -libext {.vp .vq} ; #Set a library path.

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Design and Power Intent - Read and Elaboration in Joules User Guide.

September 2017 112 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

4
Power Intent Commands

■ get_domain_power
■ get_power_domains
■ get_power_modes
■ get_cell_power

September 2017 113 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Intent Commands - get_domain_power

get_domain_power
Returns leakage, internal, switching, and total power for specified power and clock domains.

Syntax
get_domain_power -clock_domain <prim-clock-net>|-power_domain <prim-clock-net>
[-frame <frame_id>]
[-power_mode <power_mode>]
[-power_rail <power_rail>]
[-category memory|register|latch|logic|bbox|clock|pad|pm]
[-add_clkpin_power]
[-skip_port_switching_power]

Options and Arguments

[-h] Displays help for all options.


-clock_domain|-power_domain

Return power quad for the specified power or clock domain.


[-frames] Return power quad for the specified frame ID. By default,
average of all frames in SDB is considered.
[-power_mode] Return power quad for the specified power mode as defined in
the CPF/1801 power intent. Default power mode is dont care.
[-power_rail] Return power quad for the specified power rail as defined in the
CPF/1801 power intent. Default power rail is dont care.
[-category] Applies only to hierarchical instance. If specified, power quad for
the specified category is returned. Default is all.
[-add_clkpin_power] Applies only to hierarchical instances. If specified, a fifth
element, which is the clock pin power of all sequential elements
in the specified hierarchical instance, is added to the return list.
Default is false.
[-skip_port_switching_power]

If specified, the primary ports' switching power is not added to


the switching power section. Default is false.

Example(s)
■ get_domain_power -clock_domain /cpu_10bit/clk -power_mode pwr_all_on
■ get_domain_power -power_domain PD_fsm -category logic

September 2017 114 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Intent Commands - get_domain_power

Return Value

-1 indicates failure in execution.

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 115 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Intent Commands - get_power_domains

get_power_domains
Returns power domains in the design.

Syntax
get_power_domains [-root] <design>+

Options and Arguments

[-h] Displays help for all options.


[root] Root module of the design.
<-design>+ Return the power domains for the specified design. By default,
power domains for the current design are reported.

Example(s)
■ get_power_domains ; # get power domains for current design
■ get_power_domains -root /cup_10bit

Return Value

-1 indicates failure in execution.

Also See
■ Clock Gating in Joules User Guide.

September 2017 116 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Intent Commands - get_power_modes

get_power_modes
Returns power modes in the design.

Syntax
get_power_modes [-design] <design>+

Options and Arguments

[-h] Displays help for all options.


[-design] Return the power modes for the specified design. By default,
power modes for the current design are reported.

Example(s)
■ get_power_modes ; return power modes for current design
■ get_power_modes -design /cup_10bit

Return Value

-1 indicates failure in execution.

Also See
■ Power Structures in Design in Joules User Guide.

September 2017 117 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Intent Commands - get_cell_power

get_cell_power
Returns cell power in the following format:

<leakage> <internal> <switching> <total> \{<ipin>:<val>\}+

Syntax
get_cell_power [-cell <cell_name>]
[-lib <library_name>]
[-domain <lib_domain_name>]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-ldb_cellpath [/libraries/][<domain>/][<lib>/]<cell>]
[-slew \{\{<ipin>|default\}:<val>\}+]
[-load \{\{<opin>|default\}:<val>+\}+]
[-activity \{\{<pin>|default\}:<duty>:<freq>\}+]

Options and Arguments

[-h] Displays help for all options.


[-cell] Specify name of the cell for power report.
[-lib] Specify library name for the cell for power report.
[-domain] Specify domain name for the cell for power report.
[-ldb_libpath] Specify full vdir path of the library.
[-ldb_cellpath] Specify full vdir path of the cell.
[-slew] List of <ipin>:<slew> tuples. Keyword default can be used
in place of <ipin>. Slew value is calculated in picoseconds.
[-load] List of <opin>:<load> tuples. Keyword default can be used
in place of <opin>. Load value is calculated in femtofarads.
[-activity] List of <pin>:<duty>:<freq> triples. Keyword default can
be used in place of <pin>. Freq value is considered in Hz

Example(s)
■ get_cell_power AOI2BB2X2 -activity {default:0.5:5000}
■ get_cell_power AOI2BB2X2 -activity {{A0:0.25:2500} {default:0.5:5000}} -slew
{{A0:30} {default:12}}

September 2017 118 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Intent Commands - get_cell_power

Return Value

-1 indicates failure in execution.

Also See
■ Power Structures in Design in Joules User Guide.

September 2017 119 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Intent Commands - get_cell_power

September 2017 120 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

5
Simulation and SDB Creation Commands

■ read_stimulus
■ write_sdb
■ write_sdb
■ write_fsaif
■ rtlstim2gate
■ set_sdb_alias
■ get_sdb_alias
■ delete_sdb

September 2017 121 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - read_stimulus

read_stimulus
Reads stimulus into Joules and creates SDB.

Syntax
read_stimulus [-file] <stimulus-file-name>
[-dut_instance <dut-inst-name>]
[-design_root <top_design_name>]
[-tb_design_tuple <{dut_instance design_root}>]
[-format vcd|shm|phy|fsdb|saif|tcf|sdb]
[-start <window-start-time>]
[-end <window-end-time>]
[-append]
[-interval_size <time-val>]
[-interval_list <{<time-val>[:<time-val>]}+>]
<time-val> = <num>[<unit>] (e.g. 5ns, 5e-9)
<unit> = ms|us|ns|ps|fs
[-cycles <num> <design_signal_name>[<edge_type>]]
(extract frames of size = <num> * period of specified signal)
(edge_type=pos|neg|none)
[-frame_count <cnt>]
[-compat voltus|pt]
[-alias <alias_name>]
[-ignorecase]
[-allow_n_nets]
[-trace_arcs <mem|icgc|all>+]
[-arc_counting_method <at_eot|at_event>]
[-filter_zero_delay_glitch]
[-dump_sdb <num>]
[-master_slave]
[-scrub_prep]
[-resim_cg_enables]
[-report_missing_signals <all|design|stim|none>]
[-out <report_file_name>]
[-help|-h]

September 2017 122 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - read_stimulus

Options and Arguments

[-h] Displays help for all options.


[-file] Name of the stimulus file to be read.
[-dut_instance] Design Under Test (DUT) instance name in testbench. If not
specified, the name is inferred by the command.
[-design_root] Name of the design in the design hierarchy. If not specified, the
top design is inferred as the design name.
[-tb_design_tuple] Use this option to annotate activity for a specific design instance
from a specific stimulus instance (you may have multiple such
non-overlapping design entries).

For example, consider a stimulus with following hierarchies:

Tb (module testbench)
M1 (module foo)
M2 (module car)
B1 (module bar)

And a design with following structure:

top (module top)


U1 (module foo)
U2 (module bar)

Sample usage of the option would be:


-tb_design_tuple {{/Tb/M1 /top/U1} {/Tb/M2/B1 /top/U2}}

To read in a block-level stimulus (value of -1 uses auto top


instance determination), you can specify:
read_stimulus -file block.vcd -tb_design_tuple {{-1 /top/
U2}}
[-format] Format of the stimulus to be read. If not specified, it is inferred
from the extension of the file.
If the filename is specified without the path, the specified file is
searched in the PWD directory.
[-start] Analysis start time. The default is simulation start time.
[-end] Analysis end time. The default is simulation end time.
[-append] Append the stimulus to SDB.

September 2017 123 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - read_stimulus

[-interval_size] Divide the stimulus into frames of the specified interval size;
average activity of signals over each interval will be computed
and saved in SDB. This option, in conjunction with –start and
-finish options, would determine the number of frames
extracted from the stimulus.

For example, for a stimulus of 100ns duration (start=0ns,


finish=100ns),

read_stimulus –interval_size 20ns

This will extract 5 frames of 20ns each.


Note: Options -interval_size, -interval_list, and –
cycles are mutually exclusive. If specified together, Joules will
issue a warning and ignore frame-based extraction.
[-interval_list] This option can be used in two ways: (i) specify a list of time
markers (list of single time values), and (ii) specify list of time
pairs, one for each frame. In the first method, you can extract
variable-sized frames from a contiguous simulation time range.
The second form allows specification of time pairs for each
frame. Mixing of these two forms is not allowed.

For example,

read_stimulus –interval_list 10ns 25ns 35ns


60ns

This will extract 3 frames: 10ns:25ns, 25ns:35ns, and 35ns:60ns


Note: Options -interval_size, -interval_list, and –
cycles are mutually exclusive. If specified together, Joules will
issue a warning and ignore frame-based extraction.

September 2017 124 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - read_stimulus

[-cycles] Using this option, you can extract frames based on number of
cycles of a specified signal. A cycle is a pair of rise and fall (or
fall and rise) transitions of the signal. This is intended to be used
in conjunction with repetitive signals such as a clock. If the
specified signal is a clock, the extracted frames will be of the
same size. If the signal is not a clock (for example, memory
write_enable), the frame sizes will likely be different.

For example,

read_stimulus –start 20ns –cycles 10 /


cpu_10bit/clock

This will extract 20 cycle frames of /cpu_10bit/clock starting


20ns.

<edge_type> defaults to none. If you specify, pos|neg,


frames are created at pos|neg edge of clock; if you specify
none, the frames are created using the standard method.
Note: Options -interval_size, -interval_list, and –
cycles are mutually exclusive. If specified together, Joules will
issue a warning and ignore frame-based extraction.
[-frame_count] Extract the specified number of equal sized frames. This option
can be combined with -cycles or -interval_size options.
You can specify upto maximum of 1000 frames.
[-compat] Specify X handling compatibility with other tools. Refer to
Handling Stimulus File Constructs in Joules vs Voltus in Joules
User Guide for more information in the usage of this option.
[-alias] Add an alias name to the stimulus that is being read.
[-ignorecase] Ignore case while searching for design object names.
[-allow_n_nets] Allow n_<number> nets to be annotated. This option is
required for gate-level stimulus.
Note: Always use this option to read Gate stimuli. Do not use it
for RTL stimuli if the netlist or mapped db is generated using
Genus version prior to 16.13 or Joules 16.20.
[-trace_arcs] Monitor arcs of instantiated gates.
[-arc_counting_method] Suboption of -trace_arcs. Compute arc at the end of time
stamp or at event. By default, arc is computed at the end of time
stamp.

September 2017 125 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - read_stimulus

[-filter_zero_delay_glitch]

Suboption of -trace_arcs. Remove all zero-delay glitches. By


default, it is set to false.
[-dump_sdb] Dump SDB file for each of the specified number of frames.
[-master_slave] Dump master slave SDB files for each of the frames specified
with -dump_sdb option.
[-scrub_prep] Collect data for power scrubbing.
[-resim_cg_enables] Simulate unasserted ICGC enables.
[-report_missing_signals] Report stimulus objects that do not match any design object. It
has the following values:
■ all - reports the signals that are missing in design but
present in stimulus and signals that are missing in stimulus
but present in design
■ design - reports only the signals that are missing in design
but present in stimulus
■ stim - reports only the signals that are missing in stimulus
but present in design
■ none - does not report missing signals
[-out] Write the missing signals to the specified file. The default file is
$joulesWorkDir/missing_signals.rpt.

Example(s)
■ read_stimulus cpu_10bit_pgm_hash.vcd -dut_instance /cpu_10bit_tb/CPU
■ read_stimulus -file cpu_10bit_pgm_gcf.fsdb -start 10ns ;# infer -dut_instance
■ read_stimulus cpu_10bit_pgm_gcf.fsdb -append ;# append mode
■ read_stimulus -file ./trace.phy -dut_instance /CPU
■ read_stimulus -file ./trace.phy -start 10ns
■ read_stimulus cpu_10bit_pgm_hash.vcd -interval_size 20ns # extract fixed sized
frames
■ read_stimulus cpu_10bit_pgm_hash.fsdb -interval_list 10ns 25ns 35ns 60ns #
extract contiguous variable sized frames
■ read_stimulus cpu_10bit_pgm_hash.vcd -interval_list 10ns:20ns 40ns:65ns
85ns:100e-9 # extract non contiguous variable sized frames

September 2017 126 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - read_stimulus

■ read_stimulus cpu_10bit_pgm_gcf.fsdb -cycles 10 /cpu_10bit/clk # extract 10


cycle frames
■ read_stimulus cpu_10bit_pgm_gcf.fsdb -frame_count 10 # chop stim up in 10
frames
■ read_stimulus cpu_10bit_pgm_gcf.fsdb -frame_count 10 -interval_size 20ns #
extract 10 frames of 20ns each
■ read_stimulus cpu_10bit_pgm_gcf.fsdb -cycles 10 /cpu_10bit/clk -frame_count 5
# extract only first 5 frames, each of 10 clock cycles
■ read_stimulus cpu_10bit_gates.fsdb -allow_n_nets # Set -allow_n_nets flag for
gate-level stimuli
■ read_stimulus cpu_10bit_gates.fsdb -alias /gcf # Set alias name to the stimulus
gcf
■ read_stimulus cpu_10bit_gates.fsdb -report_missing_signals design -out
missing.rpt #read the stimulus and report only the signals that are missing in
design but present in stimulus
■ read_stimulus cpu_10bit_gates.fsdb -report_missing_signals stim -out
missng.rpt #read the stimulus and report only the signals that are missing in
stimulus but present in design
■ read_stimulus cpu_10bit_gates.fsdb -report_missing_signals all -out
missing.rpt #read stimulus and report both types of missing signals

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 127 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - write_sdb

write_sdb
Writes out all in-memory frames onto the disk.

Syntax
write_sdb \
[-stims <stim_id>+]
[-frames <frame_id>+]
[-average]
[-merge]
[>|-out <output-sdb-file-name>]

Options and Arguments

[-h] Displays help for all options.


[-stims] Specify the list of stim IDs to write. By default, all SDB stims are
written.
[-frames] Specify the frames IDs to write. By default, all frames of all
specified stims are written.
[-average] Write out average of the frames to SDB.
[-merge] Merge all stimuli in memory and write out SDB.
[>|-out] Specify the name of the output SDB file name. By default, the
output is saved in joules_work/joules.sdb.

Example(s)
■ write_sdb ; # create joules_work/joules.sdb (default SDB file name) with all
frames from all stims
■ write_sdb -out cpu_10bit.sdb ; # create ./cpu_10bit.sdb with all frames from
all stims
■ write_sdb -average -out cpu_10bit.sdb ; # create average of all frames from all
stims and write to file ./cpu_10bit.sdb
■ write_sdb -stims {/stim#5} ; # create an sdb file with all frames from /stim#5
■ write_sdb -average -frames {/stim#1/frame#1 /stim#2/frame#3} -out
cpu_10bit.sdb ; # create average of /stim#1/frame#1, /stim#2/frame#3 and write
to the file ./cpu_10bit.sdb
■ write_sdb -merge -frames {/stim#1/frame#1 /stim#2/frame#3} -out cpu_10bit.sdb
; # Merge /stim#1/frame#1 and /stim#2/frame#3 and write to the file ./
cpu_10bit.sdb

September 2017 128 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - write_sdb

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 129 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - write_fsaif

write_fsaif
Writes the library forward SAIF file. This file contains the state-dependent and path-
dependent (SDPD) directives needed to generate backward SAIF files during simulation.

Syntax
write_fsaif \
[-root <design|instance>]
[-design_state <elab|mapped>]
[-rtl_nodes {<obj_type>[:<port_type>]}+]
obj_type = port|memory|flop|icgc|latch|seq|bbox|logic|all
port_type = input|output|all
[-hier_separator <separator>]
separator = .|/ (default : /)
[-sdpd {<cell_type>}+ ]
cell_type =
memory|flop|latch|icgc|hadd|fadd|mux|inv|buf|and|nand|or|nor|xor|xnor|ao|
aoi|oa|oai|ls|els|iso|pad|tri|tie|srpg
[-lib <lib>+]
[-domain <domain>+
[-dut_instance <dut-inst-name>]
[-rtl_out <output-rtl-fsaif-file-name>]
[-sdpd_out <output-sdpd-fsaif-file-name>]

September 2017 130 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - write_fsaif

Options and Arguments

[-h] Displays help for all options.


[-root] Specify the root entity for generating the forward SAIF
information. This option is valid for both RTL and SDPD files. By
default, the top design is considered. If specified, instances of
only the specified root are considered.
[-design_state] Specify the design state to be considered. The default state is
elab.
For writing RTL forward SAIF file, only the instances of the
specified design state are considered.
For writing SDPD forward SAIF file, if you specify -
design_state elab, only write RTL initiated instances are
considered; and if you specify -design_state mapped, all
instances are considered.
[-rtl_nodes] Specify the list of RTL nodes in the format:
<obj_type>[:<port_type>]
Only the signals that satisfy the specified constraint are written
in the RTL forward SAIF file.
See the command syntax for supported object and port types.
By default, all object and port types are considered.
Note: This option is valid only for writing RTL forward SAIF file.
[-hier_separator] Specify the separator for the hierarchies. By default, : / is
used as separator.
[-sdpd] Specify the SDPD cell types. Only the library cells of the
specified cell types are written in the SDPD forward SAIF file.
See the command syntax for the list of supported cell types.
Note: This option is valid only for writing SDPD forward SAIF
file.

September 2017 131 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - write_fsaif

[-lib] Specify the list of libraries for which to generate the forward
SAIF information.
For RTL forward SAIF file, only the instances whose library cells
exist in the specified library are written in the forward SAIF file.
For SDPD forward SAIF file, only the library cells from the
specified library are written in the forward SAIF file.
If not specified, the information is generated for all libraries that
are loaded.
[-domain] Specify the path to the library domain containing the libraries for
which to generate the forward SAIF information.
For RTL forward SAIF file, only the instances whose library cells
exist in the specified library domain are written in the forward
SAIF file.
For SDPD forward SAIF file, only the library cells from the
specified library domain are written in the forward SAIF file.

If not specified, the information is generated for all libraries in all


library domains.
[-dut_instance] Specify the DUT instance name in testbench; if not specified, the
top name is used.
[-rtl_out] If specified, only RTL forward SAIF file is written in the specified
file. By default, the output is written in joules_work/
joules_RTL.forward_saif.
[-sdpd_out] If specified, only SDPD forward SAIF file is written in the
specified file. By default, the output is written in joules_work/
joules_SDPD.forward_saif.

Example(s)
■ write_fsaif ;# create joules_work/joules_SDPD.forward_saif joules_work/
joules_RTL.forward_saif (default SAIF file name)
■ write_fsaif -root /cpu_10bit -sdpd_out cpu.forward_saif;# create forward
cpu.forward_saif
■ write_fsaif -lib slow.lib typical.lib -domain ld1 -sdpd_out ld1.forward_saif
■ write_fsaif -rtl_nodes memory:output flop:all port:all -rtl_out
rtl.forward_saif
■ write_fsaif -rtl_nodes memory:output flop:all port:all -rtl_out
rtl.forward_saif -dut_instance cpu_10bit_inst

September 2017 132 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - write_fsaif

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 133 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - rtlstim2gate

rtlstim2gate
Allows name mapping support with Joules. Sets separate naming rules for simulation/
emulation and implementation (synthesis/P&R). The naming rules mimic the common RTL
name transformations.

Syntax
rtlstim2gate \
[-init <f_elab_db>]
[-tcl <f_elab_tcl>]
[-keep_libraries]
[-map_file <f_conformal_map>]
[-hier_separator <char>]
[-golden rtl|gate]
[-force_qn_invert]
[-rule <type> <format>]
[-get]
[-target syn|sim]
<type> =
ungroup|reg_ext|bit_slice|array_slice|hier_slice|generate|record|proc|
flop_slice
<format> = string format

September 2017 134 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - rtlstim2gate

Options and Arguments

[-h] Displays help for all options.


[-init] Initialize the command using elab DB.
[-tcl] Suboption of -init. Specify the Tcl portion of elab DB.
[-keep_libraries] Suboption of -init. Keep elab database libraries and MMMC
information. By default, this information is deleted.
[-map_file] Read the Conformal map file.
[-hier_separator] Suboption of -map_file. Specify the hierarchy separator. The
default separator is /.
[-golden] Suboption of -map_file. Specify the golden file to consider. By
default, rtl file is considered as the golden file.
[-force_qn_invert] Suboption of -map_file. Specify this option to force a change
in polarity for QN pins if both golden and revised phases are
positive.

In the following example, option changes the phase if both


phases are + in conformal map file, and the revised pin in
concern is a QN.

10-th mapped points:

(G) + 10 DFF /inst/out1_reg[3]

(R) + 11 DFF /foo/my_mbci/Q3N

To

10-th mapped points:

(G) + 10 DFF /inst/out1_reg[3]

(R) - 11 DFF /foo/my_mbci/Q3N

September 2017 135 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - rtlstim2gate

[-rule] Specify the naming rule in form of < type> <format>.


Default format for each rule type is given below:
■ ungroup : "%s/%s" (ungroup separator)
■ reg_ext : "%s_reg%s" (register/flop name extension)
■ bit_slice : {[%s]} (applies to packed dimension of MDA nets)
■ array_slice: {[%s]} (applies to unpacked dimensions of MDA
nets and all dimensions of flops)
■ hier_slice : {[%s]} (applies to generate hierarchy slices)
■ generate : "%s.%s" (applies to implicit generate hierarchy)
■ record : "%s.%s" (applies to record/struct names)
■ flop_slice : {} (applies MDA expansion for flops, msb>lsb,
overrides array_slice)
[-get] Suboption of -rule. Gets an existing rule value (default = set
rule).
[-target] Suboption of -rule. Applies rule to simulation or synthesis,
(default = syn).

Example(s)
■ rtlstim2gate -init ./joules_work/cpu_10bit.elab.db ;# initialize rtlstim2gate
■ rtlstim2gate -rule ungroup "%s/%s" ;# ungrouping rule
■ rtlstim2gate -rule reg_ext "%s_reg%s" ;# register name extension rule
■ rtlstim2gate -rule bit_slice {[%s]} ;# bit slicing rule
■ rtlstim2gate -rule array_slice {[%s]} ;# array (except LSB) slicing rule
■ rtlstim2gate -rule generate "%s.%s" ;# generate statement expansion rule
■ rtlstim2gate -rule flop_slice {[%s] _%s_} ;# flop slice expansion rule
■ rtlstim2gate -rule proc "my_custom_rename" ;# custom renaming proc
my_custom_rename { type name hierarchy }

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 136 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - rtlstim2gate

Also See
■ Using rtlstim2gate on Netlist in Joules User Guide.

September 2017 137 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - set_sdb_alias

set_sdb_alias
Assigns alias names for the stims and frames. After assigning alias names to the stims or
frames, you can use the alias names as arguments to all commands that accept stim ID or
frame ID as an argument.

Syntax
set_sdb_alias
[-alias <alias-name>]
[-stim <stim-id>]
[-frame_bname <frame-bname>]
[-frame_seperator <frame-seperator>]
[-frame_idx_start <frame-idx-start>]
[-frame_idx_incr <frame-idx-incr>]
[-frame <frame-id>]

Options and Arguments

[-h] Displays help for all options.


[-alias] Specify the alias name for the stim or frame ID.
[-stim] Specify the stim ID for which to set the alias.
[-frame_bname] In case of multiple frames, specify the alias base name, which
remain the same for all frames.
[-frame_separator] In case of multiple frames, specify the sperator to use between
the frame base name and the frame index. See examples below
for sanmple usage.
[-frame_idx_start] In case of multiple frames, specify the starting index for the
frame alias. See examples below for sanmple usage.
[-frame_idx_incr] In case of multiple frames, specify the number by which to
increases the index of the subsequent frame alias. See
examples below for sanmple usage.
[-frame] Specify the frame ID for which to set the alias.

Example(s)
■ set_sdb_alias -alias /gcf -stim /stim#1; /stim#1 can be referenced using /gcf
■ set_sdb_alias -alias /gcf/idle -frame /stim#1/frame#20; /stim#1/frame#20 can
be referenced using /gcf/idle

September 2017 138 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - set_sdb_alias

■ set_sdb_alias -alias /idle -stim /stim#2 -frame_bname myframe -frame_seperator


:; The frames in stim#2 can be referenced using idle and myframe for example /
idle/myframe:1 /idle/myframe:2 etc
■ set_sdb_alias –stim /stim#1 –alias /mystim –frame_bname /myframe –
frame_seperator $ -frame_idx_start 10 –frame_idx_incr 5
#The above command will set the following alias names for the /stim#1 and its
frames.
/stim#1/frame#1 /mystim/myframe$10,
/stim#1/frame#2 /mystim/myframe$15,
/stim#1/frame#3 /mystim/myframe$20 etc.

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Adding Alias Names to Stims and Frames in Joules User Guide.

September 2017 139 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - get_sdb_alias

get_sdb_alias
Retrieve the alias name associated with a stim ID or frame ID. The command can also be
used to retrieve the stim ID (or frame ID) associated with an alias name.

Syntax
get_sdb_alias
[-stim <stim-id>]
[-handle <handle>]
[-frame <frame-id>]

Options and Arguments

[-h] Displays help for all options.


[-stim] Return alias name of the specified stim ID.
[-handle] Return stim or frame ID of the specified alias name.
[-frame] Return alias name of the specified frame ID.

Example(s)
■ get_sdb_alias -stim /stim#1; Returns the alias name of /stim#1
■ get_sdb_alias -handle /gcf; Returns the stim id of the alias name /gcf
■ get_sdb_alias -frame /stim#1/frame#20; Returns the alias name of the specified
frame (frame#20 of stim#1)

Return Value

-1 indicates failure in execution.

Also See
■ Adding Alias Names to Stims and Frames in Joules User Guide.

September 2017 140 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - delete_sdb

delete_sdb
Removes a stimulus database (SDB) from the disk.

Syntax
delete_sdb \
[-stims <stim_id>+]

Options and Arguments

[-h] Displays help for all options.


[-stims] Specify the stim IDs to remove from SDB.

Example(s)
■ delete_sdb ;# remove all stims from SDB
■ delete_sdb -stims {/stim#5} ;# remove /stim#5 from SDB

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 141 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Simulation and SDB Creation Commands - delete_sdb

September 2017 142 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

6
Clock Tree - Setup and Analysis
Commands

■ get_ctg_info
■ tag_clock_tree_for_power
■ report_clocks
■ infer_clock_buffers
■ gen_clock_tree
■ report_clock_tree
■ delete_clock_tree
■ scrub_cglar

September 2017 143 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - get_ctg_info

get_ctg_info
Returns the required clock gate information.

Syntax
get_ctg_info \
[-active]
[-ctg_name] <clock_tree_name>
[-active]
[-clock_roots]
[-power]
[-stims <stim_id>+]
[-frames <frame_id>+]
[-depth]
[-buffers leaf|branch|root|all]
[-buffer_cnt leaf|branch|root|all]
[-buffer_ds leaf|branch|root|all]
[-fanout leaf|branch|root|all]
[-add_min_max]
[-level <num>]

September 2017 144 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - get_ctg_info

Options and Arguments

[-h] Displays help for all options.


[-active] Return the list of CTGs used for clock power.
[-ctg_name] Return the clock tree name.
[-active] Suboption of -ctg_name. Returns 1 if CTG is active, otherwise
returns 0.
[-clock_roots] Return the list of clock roots in the CTG.
[-power] Return the power quad information for the clock gate:

<leakage> <internal> <switching> <total>


[-stims] Suboption of -power. List of stim IDs.
[-frames] Suboption of -power. List of frame IDs.
[-depth] Return depth of the clock tree.
[-buffers] Return the specified list of buffers. By default, entire tree is
considered,
[-buffer_cnt] Return buffer count for the leaf, branch, root, or all of them. By
default, buffer count for the entire clock tree is returned.
[-buffer_ds] Return the sum of buffer drive strength of the leaf, branch, root,
or all of them. By default, buffer drive strength of all buffers is
returned.
[-fanout] Return the average fanout of buffers. By default, fanout of entire
clock tree is returned.
[-add_min_max] Suboption of -fanout. Return fanout triple: <avg> <min>
<max>.
[-level <num>] Suboption of -fanout. Return the value at specified level of
design hierarchy. The level of design root is 1.

This suboption applies to options -buffer, -buffer_cnt,


-buffer_ds, -fanout options.

Example(s)
■ get_ctg_info -ctg_name CT1 -depth
■ get_ctg_info -ctg_name CT1 -buffers branch
■ get_ctg_info -ctg_name CT1 -buffer_cnt leaf

September 2017 145 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - get_ctg_info

■ get_ctg_info -ctg_name CT1 -buffer_ds all


■ get_ctg_info -ctg_name CT1 -fanout -level 2
■ get_ctg_info -ctg_name CT1 -power
■ get_ctg_info -ctg_name CT1 -power -stim /stim#2
■ get_ctg_info -ctg_name CT1 -power -frame {/stim#1/frame#[3:7]}

Return Value

-1 indicates failure in execution.

Also See
■ Clock Gating in Joules User Guide.

September 2017 146 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - tag_clock_tree_for_power

tag_clock_tree_for_power
Tags (annotate) the clock tree for power.

Syntax
tag_clock_tree_for_power \
[-ctg_name] <clock_tree_name>
[-clock_root <clock_root>+]
[-sdc_name <sdc_clock_name>+]

Options and Arguments

[-h] Displays help for all options.


[-ctg_name] Name of cell.
[-clock_root] List of root pins or ports for the clock tree.
[-sdc_name] List of SDC clock names.

Example(s)
■ tag_clock_tree_for_power -ctg_name CT1

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Clock Gating in Joules User Guide.

September 2017 147 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - report_clocks

report_clocks
Reports clocks with output sorted based on the specified properties.

Syntax
report_clocks \
[-clocks] <prim_clock>+
[-stims <stim_id>+]
[-frames <frame_id>+]
[-power tree|tree_seq|tree_comb|tree_icgc|domain|network]
tree = power of clock tree
tree_seq = power of clock tree seq elements
tree_comb = power of clock tree comb elements
tree_icgc = power of clock tree ICGCs
domain = power of clock domain elements
network = power of clock tree + clock domain
[-cols
{sdc_freq|gates|flops|icgcs|area|sim_freq|leakage|internal|switching|total|
sdc_name|clock_pin}+]
[-sort_by
{sdc_freq|gates|flops|icgcs|area|sim_freq|leakage|internal|switching|total|
clkpin}]
[-header]
[>|-out <output-file-name>] [-append]
[-widget]

September 2017 148 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - report_clocks

Options and Arguments

[-h] Displays help for all options.


[-clocks] Name of SDC clock pins/nets whose details need to be reported.

By default, all clocks will be reported.


[-stims] List of stimulus IDs for which different properties of clock need to
be displayed.

By default, clock properties will be reported for all the stimulus


read for the design. If no stimulus is read, then the command will
return NULL.

Multiple stimulus IDs can be specified with this option.

Stimulus ID can be found out using get_sdb_stim command.


[-frames] List of frame IDs for which clock properties need to be displayed.

This option is applicable if read stimulus is divided into frames.

By default, clock parameters will be reported for frame#0 of each


stimuli read for the design.

If the specified frame does not exist, then the command will
return NULL.

If both the -stims and -frames options are specified, then the
command will print the required information for all the valid
frames that are specified with -frames option. In the following
example, the command will display info for both frames
irrespective of whether /stim#2 is mentioned with -stims or not.

report_clocks -stims /stim#2 -frames /stim#1/


frame#4 /stim#2/frame#17
[-power] Return power of the specified component.
See the command syntax for list of valid values.

September 2017 149 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - report_clocks

[-cols] Report the clock properties in the specified columns. The valid
stimulus and non-stimulus specific values are mentioned above
with the syntax.

Default columns are:

sdc_freq gates flops icgcs area sim_freq leakage


internal switching total sdc_name
[-sort_by] Sort the output based on the specified parameter in case
multiple clocks are being reported. Valid parameters are
mentioned with the syntax. By default, the output is sorted by
gates.
If multiple values are specified with this option, then only first
value is considered for sorting.
[-header] Dump the report header.
[>|-out] Redirect the output of the command in the specified file.
[-append] Append to the file specified with –out option.
[-widget] Display the output in form of GUI widget.

Example(s)
■ # report all clock domains list of primary clock nets
report_clocks ;
■ # report sdc_freq, flops, leakage, and dynamic power for clock /cpu_10bit/clk
for stimulus /stim#1
report_clocks -clock /cpu_10bit/clk -cols sdc_freq flops leakage dynamic -stim
/stim#1

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Clock Gating in Joules User Guide.

September 2017 150 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - infer_clock_buffers

infer_clock_buffers
Infers clock buffers from library.

Syntax
infer_clock_buffers
[-lib <lib_name>] [-domain <domain>]
[-ldb_libpath [/libraries/][<domain>/]<lib>]
[-rf_margin <frac>]
[-name <cell_name_regexp>]
[-cell_type inv|buf|both]
[-drive_strength <ds> <ds_margin>] )
[-x1_cell <x1_cell>] )
[-full_path]

Options and Arguments

[-h] Displays help for all options.


[-lib] Library name.
[-domain] Library domain name.
[-ldb_libpath] Full vdir path of library.
[-rf_margin] Rise-fall margin. The default margin is 0.1 (rise/fall ratio of 0.9 to
1.1)
[-name] Name of cell. By default, it is *.
[-cell_type] Type of cell. The default cell type is buf.
[-drive_strength] Drive strength of the cell. By default, ds_margin is calculated as
+/- 10% of ds or +/- (0.1)*ds.
[-x1_cell] X1 cell name. If specified, this cell is used for drive strength
computation.
[-full_path] Returns full path names. By default, this option is set to false.

Example(s)
■ infer_clock_buffers -cell_type buf -name {CK*}
■ infer_clock_buffers -drive_strength 2.0 -rf_margin 0.15
■ infer_clock_buffers -drive_strength 4 0.8 -x1_cell INVX16

September 2017 151 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - infer_clock_buffers

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Library Read and Analysis in Joules User Guide.

September 2017 152 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - gen_clock_tree

gen_clock_tree
Generates the clock tree structure for the ideal or partially specified RTL clock, including
presence of ICGCs (post clock gating) and generated clocks; returns handle/path (string) of
the generated clock tree.

Syntax
gen_clock_tree \
[-ideal_clock]
[-name <clock_tree_name>]
[-clock_root <pin|port>+]
[-arch balanced]
[-max_skew <val>[<unit>]]
[-max_skew_frac <frac>]]
[-max_sink_slew <val>[<unit>]]
[-max_slew_degradation <frac>]
[-max_insertion_delay <val>[<unit>]]
[-max_tree_depth <val>]
[-clock_buffers {[/libraries/][<domain>/][<lib>/]<cell>}+]
[-root_buffers {[/libraries/][<domain>/][<lib>/]<cell>}+]
[-branch_buffers {[/libraries/][<domain>/][<lib>/]<cell>}+]
[-leaf_buffers {[/libraries/][<domain>/][<lib>/]<cell>}+]
[-infer_clock_buffers]
[-lib <lib>] [-domain <domain>]
[-ds_range <min_ds> <max_ds>]
[-x1_cell {[/libraries/][<domain>/][<lib>/]<x1_cell>}]
[-rf_margin]
[-fanout root=<val> branch=<val> leaf=<val>|compute]
[-strict_fanout_target]
[-show_computed_params]
[-edi_spec <f_edi_spec>]
[-ccopt_spec <f_ccopt_spec>]

September 2017 153 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - gen_clock_tree

Options and Arguments

[-h] Displays help for all options.


[-ideal_clock] Create ideal clock tree /ctg/CT#0.
[-name] Name or handle for the generated clock tree. This name/handle
must be used to get information, report or delete the clock tree.
[-clock_root] List of root clock pins or nets. If not specified, command takes
into consideration all ideal clocks.
[-arch] The clock tree architecture. By default, balanced architecture is
considered.
[-max_skew] Maximum clock skew, which, by default is 6% of clock period.
Joules minimizes the clock skew by creating a balanced clock
tree with similar drive-strength buffers in all clock-tree paths.
After the clock tree is generated, the clock skew is reported.
[-max_skew_frac] Maximum skew to clock period fraction, which is, by default,
0.06.
[-max_sink_slew] Maximum slew at the clock end point. If not specified, 10% of
clock period is used as the allowable maximum slew at clock end
points.
[-max_slew_degradation] Alternate to the –max_sink_slew, you can use this option to
specify the maximum allowable slew degradation at any clock
end point.
[-max_insertion_delay] Maximum allowable path delay from the clock-root to clock end
point. This option determines the optimal depth of the clock tree.
Default is 0.75 * clock period.
[-max_tree_depth] Maximum depth of the clock tree. This option can be used as
alternate to –max_insertion_delay option
[-clock_buffers] List of buffers to use for the clock tree.
[-root_buffers] List of buffers at the root of balanced clock tree.
[-branch_buffers] List of buffers for branch level of balanced clock tree.
[-leaf_buffers] List of buffers for leaf level of balanced clock tree.
[-infer_clock_buffers] Infer clock buffers.
[-lib][-domain] Suboption of -infer_clock_buffers. Infer clock buffers
from the specified <domain>/<lib>.

September 2017 154 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - gen_clock_tree

[-ds_range] Suboption of -infer_clock_buffers. Range of drive


strength. Default range is <min_ds> = 2 and <max_ds> = 12
[-x1_cell] Suboption of -infer_clock_buffers. X1_cell to use to
compute drive_strength of clock buffers.
[rf_margin] Suboption of -infer_clock_buffers. Specify the rise/fall
ratio for clock buffers. The default ratio is 0.1.
[-fanout] Use this option to override the default fanouts at the root,
branch, and leaf levels for a balanced clock-tree
implementation.
The default fanouts are:
root=2 branch=5 leaf=12
If you specify compute, the command automatically identifies
the list of necessary clock buffers and the root, branch, leaf
fanout settings based on other provided constraints (or
defaults): (i) slew degradation, (ii) insertion delay, (iii) skew, and
(iv) DRC (max fanout) rules.
[-strict_fanout_target] If you specify this option while adding buffers between ICGC
and flops, the command will follow the fanout options strictly.
[-show_computed_params] Computes and displays the parameters.
Note: This option does not create the clock tree.
[-edi_spec] Convert EDI clock tree spec to Joules clock tree spec.
[-ccopt_spec] Convert CCOPT clock tree spec to Joules clock tree spec.

Example(s)
■ gen_clock_tree -clock_root /top/clock1 -name myCT
■ gen_clock_tree -clock_buffers CLKBUFX1:slow:domain1 -clock_root /top/clock1 -
name myCT
■ gen_clock_tree -fanout root=2 branch=5 leaf=8
■ gen_clock_tree -max_insertion_delay 3.5ns
■ gen_clock_tree -edi_spec edi.cts -out joules_clk_tree

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 155 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - gen_clock_tree

Also See

Clock Tree Power Estimation in Joules User Guide.

September 2017 156 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - report_clock_tree

report_clock_tree
Reports information about the structure of the generated clock tree.

Syntax
report_clock_tree \
[-ctg_name] {<clock_tree_name>}+
[-clock_root <clock_root>+]
[-sdc_name <sdc_clock_name>+]
[-summary]
[>|-out <file_name>]

Options and Arguments

[-h] Displays help for all options.


[-ctg_name] Specify the name/handle of the clock tree.
[-clock_root] List of root pins or ports for the clock tree.
[-sdc_name] List of SDC clock names.
[-summary] Show summary report.
[>|-out] Redirect the output to the specified file.

Example(s)
■ report_clock_tree -ctg_name CTG1 -out ctg1.rpt

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Clock Tree Power Estimation in Joules User Guide.

September 2017 157 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - delete_clock_tree

delete_clock_tree
Deletes the specified clock tree.

Syntax
delete_clock_tree \
[-ctg_name <clock_tree_name>]
[-clock_root <pin|port>+]
[-sdc_name <sdc_clock_name>+]

Options and Arguments

[-h] Displays help for all options.


[-ctg_name] Name of the clock tree. If not specified, all clock trees are
deleted.
[-clock_root] List of root pins or ports for the clock tree.
[-sdc_name] Name of the SDC clock.

Example(s)
■ delete_clock_tree -ctg_name CT1 ; # deletes clock tree CT1
■ delete_clock_tree -all
■ delete_clock_tree ; # deletes all clock trees

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Clock Tree Power Estimation in Joules User Guide.

September 2017 158 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - scrub_cglar

scrub_cglar
Identifies clock gate (CGLAR) opportunities for non-enabled low activity registers in the
design.
Note: Run this command on a post-mapped design after power has been computed
(compute_power has been run).

Syntax
scrub_cglar \
[-root <hier>+]
[-clock_domain <prim_clock_net>]
[-power_domain <power_domain_name>] (
[-reg_list <register>+]
[-process_gated_flops]
[-stims <stim_id>+]
[-frames <frame_id>+]
[-da_threshold <ratio>]
[-ps_threshold <ratio>]
[-ps_absolute <power_val>]
[-bit_blast]
[-cols
{flops|avg_data_freq|clk_freq|+gates|+icgcs|enable_freq|orig_power|
cglar_power|save_power|clock_power_save|pct_redn|min_data_freq|
max_data_freq|flop_indices}+]
[-report by_frame|by_register|summary]
[-plot_summary
[-png <f_png>]
[-out <f_rpt>]
[-append]
[-return error|table|cglar_registers]

September 2017 159 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - scrub_cglar

Options and Arguments

[-h] Displays help for all options.


[-root] Use registers under specified hierarchies.
[-clock_domain] Use registers in specified clock domain.
[-power_domain] Use registers in specified power domain.
[-reg_list] List of registers for CGLAR analysis. By default, all registers are
considered.
[-Process_gated_flops] If specified, gated flops are also process. By default, it is set to
false.
[-stims] Use frame#0 of the specified stimulus for CGLAR analysis. By
default, all SDB stims are considered.
[-frames] by_frame: Use specified frame for CGLAR analysis. By default,
average of all SDB stims is considered.
[-da_threshold] Data activity ratio threshold. Default is 0.10 = 10% of flop clock.
[-ps_threshold] Percentage power savings threshold. Default is 0 = power
saving > 0.
[-ps_absolute] Absolute power savings threshold. Default is 0 = saving > 0.
[-bit_blast] Show all flops and apply abs/pct power savings threshold per
flop. By default, it is set to false.
[-cols] Specify the columns to show in CGLAR report.
[-report by_frame|by_register|summary]

September 2017 160 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - scrub_cglar

Specify any of the following options:


■ by_frame: Show result per frame. By default, the following
columns are displayed:

flops avg_data_freq +icgcs +gates orig_power


save_power pct_redn
■ by_register: Show registers result per frame. By default,
the following columns are displayed:

flops orig_power save_power pct_redn


■ summary: Show summary table with a row for each
selected frame or stim. By default, the following columns are
displayed:

registers da_threshold flops +icgcs +gates


orig_power save_power design_power pct_redn
[-plot_summary] Plot summary of results.
[-png] Suboption of -plot_summary. Save plot in the specified PNG
file.
[-out] Save output in the specified file.
[-append] Append to the specified file.
[-return] Specify the return value. By default, an error status is returned.
If you specify -return table or -return
cglar_registers, then -report by_register will be
used.

Example(s)
■ scrub_cglar -da_threshold 0.25 -process_gated_flops -ps_absolute 20uW
■ set reg_list [get_registers -inst /cpu_10bit/DP]
■ scrub_cglar -reg_list $reg_list -da_threshold 0.25 -ps_threshold 0.07

Return Value

0 for success, 1 indicates failure in execution.

September 2017 161 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Clock Tree - Setup and Analysis Commands - scrub_cglar

Also See
■ Identifying CGLARs in Joules User Guide.

September 2017 162 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

7
Mapping and DFT Insertion Commands

■ power_map
■ synthesize
■ apply_drc_rules
■ set_joules_cost_groups
■ estimate_data_buffers

September 2017 163 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Mapping and DFT Insertion Commands - power_map

power_map
Performs synthesis and creates a fully functional prototype netlist for power analysis and PPA
exploration.

Syntax
power_map \
[-root] <root>
[-effort low|medium|high]
[-max_cg_fanout] <count>
[-to_file] <filename>
[-auto_identify_shift_register]
[-shift_register_min_length <integer>]
[-shift_register_max_length <integer>]

Options and Arguments

[-h] Displays help for all options.


[-root] Specify the hierarchy to synthesize. By default, design root is
used.
[-effort] Specify the synthesis effort. The default effort is medium.
[-max_cg_fanout] Set the maximum number of flops a clock gating cell can drive.
The default value is 32.
[-to_file] Specify the output database file, which, by default is
$joulesWorkDir/<design>.proto.jdb
[-auto_identify_shift_register]

Specify this option to auto detect shift registers for scan use. Use
this option after -to_generic.
[-shift_register_min_length]

Suboption of -auto_identify_shift_register. Specify


the minimum length of shift register.
[-shift_register_max_length]

Suboption of -auto_identify_shift_register. Specify


the maximum length of shift register.

Example(s)

Multi-CPU configuration tips:

September 2017 164 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Mapping and DFT Insertion Commands - power_map

1. Configure CPUs to use -


set_attribute super_thread_servers {<sever-name>+}

2. Configure command to submit to LSF -


set_attribute super_thread_batch_command {<lsf-submission-cmd>}

3. Configure command to remote login to a non-LSF host -


set_attribute super_thread_rsh_command {<rsh-command>}

Multi-CPU configuration examples:


■ set_attribute super_thread_servers {localhost localhost localhost localhost}
power_map ; # run on 4-CPU local machine
■ set_attribute super_thread_servers {lsf localhost server1 server2}
set_attribute super_thread_batch_command {bsub -R "type==X86_64 && mem
>=12000"
-q "lsf_queue_1 lsf_queue_2"}
power_map ; # run on one lsf, one localhost and two specific servers

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Mapping and DFT Insertion in Joules User Guide.

September 2017 165 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Mapping and DFT Insertion Commands - synthesize

synthesize
Use this command for synthesis.

Syntax
synthesize \
[-root] <root>
[-to_generic]
[-to_clock_gated]
[-to_mapped]
[-to_placed]
[-spatial]
[-effort express|low|medium|high]
[-incremental]
[-no_incremental]
[-auto_identify_shift_register]
[-shift_register_min_length <integer>]
[-shift_register_max_length <integer>]

September 2017 166 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Mapping and DFT Insertion Commands - synthesize

Options and Arguments

[-h] Displays help for all options.


[-root] Specify the hierarchy to synthesize. By default, design root is
used.
[-to_generic] Apply RTL optimization and map to generic gates.
[-to_clock_gated] Perform clock gating on generic netlist.
[-to_mapped] Map the design to target library.
[-to_placed] Stop after the design is placed and optimized.
[-spatial] Perform a quick placement to optimize the mapped gates.
[-effort] Specify the synthesis effort. The default effort is medium.
[-incremental] Perform incremental optimization.
[-no_incremental] Do not perform incremental optimization.
[-auto_identify_shift_register]

Auto detect shift registers for scan use.

Tip
Use this option with -to_mapped after specifying the
-to_generic option
[-shift_register_min_length]

Suboption of -auto_identify_shift_register. Specify


the minimum length of the shift register.
[-shift_register_max_length]

Suboption of -auto_identify_shift_register. Specify


the maximum length of the shift register.

Example(s)

Multi-CPU configuration tips:


1. Configure CPUs to use -
set_attribute super_thread_servers {<sever-name>+}

2. Configure command to submit to LSF -


set_attribute super_thread_batch_command {<lsf-submission-cmd>}

September 2017 167 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Mapping and DFT Insertion Commands - synthesize

3. Configure command to remote login to a non-LSF host -


set_attribute super_thread_rsh_command {<rsh-command>}

Multi-CPU configuration examples:


■ set_attribute super_thread_servers {localhost localhost localhost localhost}
synthesize -to_mapped ; # run on 4-CPU local machine
■ set_attribute super_thread_servers {lsf localhost server1 server2}
set_attribute super_thread_batch_command {bsub -R "type==X86_64 && mem
>=12000"
-q "lsf_queue_1 lsf_queue_2"}
synthesize -to_mapped ; # run on one lsf, one localhost and two specific servers

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Mapping and DFT Insertion in Joules User Guide.

September 2017 168 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Mapping and DFT Insertion Commands - apply_drc_rules

apply_drc_rules
Modifies the specified max_fanout, max_capacitance, and max_transition attributes for the
design.

Syntax
apply_drc_rules \
[-type {max_fanout|max_capacitance|max_transition}+]
[-max_fanout <integer>]
[-max_capacitance <cap_value>]
[-max_transition <transition_time>]

Options and Arguments

[-h] Displays help for all options.


[-type] Attribute of the design to be modified. The value for each
specified attribute is taken from relevant library files.
[-max_fanout] Maximum fanout value to be set.
[-max_capacitance] Maximum capacitance value to be set.
[-max_transition] Maximum transition value to be set.

Example(s)
■ apply_drc_rules
■ apply_drc_rules -type max_fanout
■ apply_drc_rules -max_fanout 20 -max_transition 200

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Design and Power Intent - Read and Elaboration in Joules User Guide.

September 2017 169 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Mapping and DFT Insertion Commands - set_joules_cost_groups

set_joules_cost_groups
Defines a cost group (a set of critical paths to which you can apply weights or priorities that
the optimizer will recognize). The command returns the directory path to the object that it
creates.

Syntax
set_joules_cost_groups \
[-cost_groups] {-1}+
(I2C=input2clock, C2C=clock2clock, C2O=clock2output, I2O=input2output,
2M=to_memory, FM=from_memory)
[-design <design>]
[-mode <timing_mode>]

Options and Arguments

[-h] Displays help for all options.


[-cost_groups] Name(s) of the cost group you want to create. Refer to syntax for
valid cost group names. If not specified, all of them are created.
[-design] Name of the design for which you want to set the cost group.
[-mode] Timing mode for the cost group.

Example(s)
■ set_joules_cost_groups ;# set cost_groups: -1
■ set_joules_cost_groups I2C C2O

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 170 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Mapping and DFT Insertion Commands - estimate_data_buffers

estimate_data_buffers
Estimates the number of additional data buffers and the estimated buffer power.

Syntax
estimate_data_buffers \
[-max_fanout <integer>]
[-detailed]

Options and Arguments

[-h] Displays help for all options.


[-max_fanout] Maximum number of fanout for the buffer. If not specified, 16 is
considered as the maximum fanout.
[-detailed] Generate detailed report of the distribution.

Example(s)
■ estimate_data_buffers
■ estimate_data_buffers -max_fanout 20

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 171 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Mapping and DFT Insertion Commands - estimate_data_buffers

September 2017 172 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

8
Stimulus Interface, Vectorless, and
Activity Commands

■ get_default_activity
■ plot_activity_profile
■ plot_sdb
■ propagate_activity
■ reset_default_activity
■ set_default_activity
■ set_pin_activity
■ reset_pin_activity
■ report_activity
■ report_user_activity
■ get_pin_activity
■ get_sdb_stims
■ get_pdb_stims
■ get_sdb_frames
■ get_pdb_frames
■ get_stim_info
■ get_frame_info
■ get_frame_duration
■ get_inst_activity
■ copy_activity

September 2017 173 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands -

■ gen_power_critical_signals
■ report_sdb_annotation
■ report_stim_hierarchy
■ generate_joules_monitor
■ write_stimulus
■ read_spef
■ set_vectorless_controls
■ get_domain_activity

September 2017 174 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_default_activity

get_default_activity
Returns the default activity value for the specified pin.

Syntax
get_default_activity
-activity_type default|system
-pin_types
{primary_input|seq_out|flop_out|latch_out|memory_out|icgc_out|icgc_enable|
bbox_out|all}+
-global
[-stim <stim_name>]

Options and Arguments

[-h] Displays help for all options.


-activity_type Type of default activity to report. By default, only default activity
is reported.
-pin_types Pin type for which to return the default activity. By default, all pin
types are considered.
-global Get default activity for all stimuli.
[-stim] Name of the stimulus associated with the pin. By default, all
stims are considered.

Example(s)
■ get_default_activity -pin_type primary_input
■ get_default_activity -pin_type all -stim /stim#1

Return Value

-1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 175 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - plot_activity_profile

plot_activity_profile
If you have extracted multiple frames from a stimulus and run the compute_power command
in time-based mode, you can plot the activity profile for pins, leaf insts, categories of hier insts,
clock_domain, or power_domain, for the specified stim/frames using this command.

For hier insts, activity on output pins of each leaf element for each category is collated and
displayed.

The activity profile plot assumes that the specified SDB frames are contiguous in time. This
command uses gnuplot to plot time-based profile of activities. Before running this command,
ensure that DISPLAY is set properly.
Note: You can run this command after read_stimulus, propagate_activity, or
compute_power commands. However, on running this command after read_stimulus,
only the annotated pins information is reported.

Syntax
plot_activity_profile \
[-stims {<stim_id>}+]
[-frames {<frame_id>|<frame_range>}+]
[-pin <pin>+]
[-inst <inst>+]
[-module {<module-name>}+]
[-levels <levels>|all]
[-clock_domain {<prim-clock-net>}+]
[-power_domain {<domain_name>}+]
[-category {memory|register|flop|latch|logic|bbox|clock|pad|pm}+]
[-annotation_type
{asserted|user_asserted|computed|default|clock_source|constant|unasserted|
all}]
[-collate annotation_type|none]
[-xkey simtime|frame_id]
[-ykey freq|toggle|toggles|duty]
[-mode {sum|avg}]
[-format fsdb|shm|gnuplot|png]
[>|-out <f_dat>]

September 2017 176 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - plot_activity_profile

Options and Arguments

[-h] Displays help for all options.


[-stims] Specify the stimulus for which time-based profile needs to be
generated. Make sure that stimulus is already read in.

Valid Stim IDs can be queried through command


get_sdb_stim.

By default, the command plots the activity profile of the first read
SDB stim.
[-frames] Specify the list of frames for activity profile display. The list can
include individual frames (for example, /stim#1/frame#1) or
a range of frames.

Ensure that stimulus is read in and well divided into frames.

Valid Frame IDs can be queried through command


get_sdb_frame.

Frames must be contiguous, as shown in the following example:

plot_activity_profile -frame "/stim#2/frame#0 /


stim#2/frame#1"
[-pin] List of pins for which activity profile will be displayed. The default
is none.
[-inst] List of hierarchical or leaf instances for which activity profile will
be displayed. By default, the plot will have a line for each
specified instance.
[-module] Use all instances of the specified module(s) for the plot.

When both inst and module names are specified, then the
command ignores the module name.
[-levels] A suboption for –module option. If specified, all children
hierarchical instances upto the specified level are used for the
plot. Its default value is 0.
[-clock_domain] Display the activity profile of all elements in the domain of the
specified clocks.
Note: -inst and -module options are not compatible with the
-clock_domain option.

September 2017 177 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - plot_activity_profile

[-power_domain] Display the power profile for the specified list of power domains
as defined in the CPF/1801 power intent.
Note: -inst and -module options are not compatible with -
power_domain option.
[-category] Display a line for each specified category in the activity plot. For
FSDB or SHM formats (set using -format option), all
categories are considered by default.
[-annotation_type] Type of annotation to include in the plot. By default, all
annotations are plotted.
[-collate] Criteria to collate plot data. By default, the data is not collated.
[-xkey] Display the simtime or frame ID as specified on X axis. By
default, simtime is displayed on X axis.
[-ykey] Display the selected criteria on Y axis. By default, the Y axis
displays frequency.
[-mode] Specify whether to plot the data by sum or average (default).
This option applies to -ykey freq|tog.
[-format] Specify the plotting program to use. Valid values are:
■ gnuplot (default format)
■ PNG
■ FSDB (FastSignal Database) - a binary format (fsdb);
output can be viewed using Verdi waveform viewer.
■ SHM (Simulation History Manager) - a binary format (*.trn
*.shm); output can be viewed using the NCSim simvision
utility.
[>|-out] Redirect the output of the command to the specified file.
By default, the output of the command is dumped in
<work_dir>/joules_waveform_act.<format>.
If the file specified with this option needs to be created in some
other directory, then ensure that the directory exists.

Example(s)
■ plot_activity_profile -inst /cpu_10bit/FSM -category flop icgc memory -stim /
stim#1

September 2017 178 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - plot_activity_profile

■ plot_activity_profile -power_domain PD_fsm PD_alu -stim /stim#2 -xkey frame_id

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 179 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - plot_sdb

plot_sdb
Plots the SDB properties through gnuplot.

Syntax
plot_sdb
[-out <output-plot-file-name>]

Options and Arguments

[-h] Displays help for all options.


[-out] Save the plot output in the specified file. By default, the output is
directed to joules_work/joules_sdb.dat.

Example(s)
■ plot_sdb
■ plot_sdb -out design_sdb.dat

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 180 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - propagate_activity

propagate_activity
Propagates the activity for all primary inputs, nets, and other elements in the design.

Syntax
propagate_activity
[-mode average|time_based|vectorless]
[-force]
[-stim <stim ids>+]
[-scale_frequency {<scale_factor> <obj_path>}+ ]
(<obj_path> = clock pin/net or hierarchy or power domain)
[-scale_to_sdc_frequency]
[-append]

September 2017 181 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - propagate_activity

Options and Arguments

[-h] Displays help for all options.


[-mode] Specify the mode for propagating activity. The default mode is
the one in which the last compute_power command was
executed; otherwise the default mode is average.
[-force] Force the -mode option. By default, it is set to false.
[-stim] Specify the stimulus ID(s) for activity propagation.
[-scale_frequency] Scale frequency of all ASSERTED signals in the specified
<obj_path> by <scale_factor>. For example:
■ If <obj_path> is clock pin/net, frequency of all
ASSERTED signals in the domain of the specified clock is
scaled by <scale_factor>.
■ If <obj_path> is a hierarchy, frequency of all ASSERTED
signals in the specified hierarchy is scaled by
<scale_factor>.
■ If <obj_path> is a power domain, frequency of all
ASSERTED signals in the specified power domain is scaled
by <scale_factor>.
[-scale_to_sdc_frequency] If specified, all clock domain, clock network, and clk pins activity
is computed by factor where

factor = sdc_freq/stim_freq

If multiple clocks reach a pin, then the fastest clock is


considered.
[-append] Append activity computation to activity database.

Example(s)
■ propagate_activity
■ propagate_activity -stim /stim#1 /stim#2
■ propagate_activity -stim /stim#3 -append

Return Value

0 for success. 1 indicates failure in execution.

September 2017 182 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - propagate_activity

Also See
■ Activity Processing and Reporting in Joules User Guide.

September 2017 183 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - reset_default_activity

reset_default_activity
Resets the default activity and power information for design elements.

Syntax
reset_default_activity
-activity_type default|system
[-pin_types
{primary_input|seq_out|flop_out|latch_out|memory_out|icgc_out|icgc_enable|
bbox_out|all}+]
-global
[-stim <stim_name>]

Options and Arguments

[-h] Displays help for all options.


-activity_type Set either default or system default activity.
[-pin_types] Reset activity for the specified pin types. If not specified, all pin
types are considered.
-global Reset the activity for all stimuli.
[-stim] Reset the activity for the specified stimulus.

Example(s)
■ reset_default_activity -pin_types flop_out -stim /stim#1 ; # Reset the default
activity for flop_out
■ reset_default_activity -stim /stim#1 ; # Reset all default activities for the
stimulus
■ reset_default_activity -activity_type system -stim /stim#1 ; # Reset all system
default activities for the stimulus

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 184 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - set_default_activity

set_default_activity
Defines the default activity for design elements.

Syntax
set_default_activity \
-duty <val>
-freq <val>
[-clock related|<clock_pin_or_net>]
[-pin_types
{primary_input|seq_out|flop_out|latch_out|memory_out|icgc_out|icgc_enable|
bbox_out|all}+]
[-global]
[-stim <stim_name>]

September 2017 185 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - set_default_activity

Options and Arguments

[-h] Displays help for all options.


-duty Default activity that will be applied on the specified seed
category.

The specified duty fraction should be between 0 and 1.


-freq Default frequency that will be applied on the specified seed
category. You can specify the frequency either as an absolute
number or a percentage of the specified clocks.
[-clock] Sub-option of -freq. Default frequency related to a specific
clock.

Valid values are:


■ related (default) - Frequency will be a fraction of related
clock
■ clock - Frequency will be a fraction of the clock specified
with this option

September 2017 186 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - set_default_activity

-pin_types Design objects for which the default activity needs to be set.

Joules will use the activity specified with this option only when it
is not able to compute the activity from any other sources such
as stimulus, activity supplied through set_pin_activity, or
.sdc (in case of clocks only).

If the activity of a pin is already asserted, the values specified


with the set_default_activity command will be ignored.
However, if the pin whose activity has been set using this
command passes through Stimulus or set_pin_activity,
then the new value will override the existing value.

Valid values are:


■ primary_input - default activity will be applicable for Primary
inputs only.
■ seq_out - default activity will be applicable for sequential
output only
■ flop_out - default activity will be applicable for output flops
only
■ latch_out - default activity will be applicable for output
latches only
■ memory_out - default activity will be applicable for output
memory only
■ icgc_out - default activity will be applicable for output CG
only
■ icgc_enable - default activity will be applicable for CG
enable only
■ bbox_out - default activity will be applicable for black-box
outputs only
■ all (Default) - default activity will be applicable for all the
above mentioned categories
Note:
■ The -pin_types option covers only non-clock primary
inputs.
■ Default activity of clock pins are derived from SDC.

September 2017 187 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - set_default_activity

[-global] Apply the default activity on all the pins in the design.

For example, if you run the following commands: :


set_default_activity -pin_types primary_input -duty 0.3 -
freq 3333
set_default_activity -pin_types memory_output -duty 0.4 -
freq 4444
set_default_activity -global -duty 0.5 -freq 5555

Then:
■ All the primary inputs get activity as (0.3, 3333).
■ All the memory outputs get activity as (0.4, 4444).
■ All the pins other than primary inputs and memory
outputs(i.e flop_out, icgc_out, latch_out, bbox_out,
combination outputs) get activity as (0.5, 5555)
[-stim] Apply the default activity for the specified stimulus.

By default, the default activity supplied with the command will be


applied for all the stimulus read in for the design.

You can report the default activity per stimulus by:

report_pin_activity <pin_name> -stims


<stimulus_name>

Example(s)
■ set_default_activity -pin_types primary_input -freq 25MHz -duty 0.20
■ set_default_activity -pin_types icgc_enable -duty 0.20 -freq 0.15 -clock
related
■ set_default_activity -global -duty 0.5 -freq 50MHz

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Activity Processing and Reporting in Joules User Guide.

September 2017 188 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - set_pin_activity

set_pin_activity
Specifies activity for design pins.

Syntax
set_pin_activity [-pin] <pin-path> \
-activity_type user|default|system
-duty <duty>
-freq <freq>
[-toggles <tcnt>]
-pin_types
{primary_input|seq_out|flop_out|latch_out|memory_out|icgc_out|icgc_enable
|bbox_out|all}+
[-clock related|<clock_pin_or_net>]
[-global]
[-stims <stim_id>+]
[-frames <frame_id>+]
[-silent]

September 2017 189 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - set_pin_activity

Options and Arguments

[-h] Displays help for all options.


[-pin] Path of the pin for setting the activity.
[-activity_type] Specifying one of the following:
■ user (default) - reports information about user activity
(prob, toggle) set on pin on the specified stims and frames.
■ system - reports information about system activity (prob,
toggle) set on pin on the specified stims and frames.
■ default - reports information about user/system default
activity (prob, toggle) set on pin types of the specified stims.
-duty Duty cycle for the pin, which is a fraction from 0 to 1.
-freq Frequency for the pin, for example, 150.0e+6

For activity_type user, sample frequency specification:


150.0e+6

For activity_type default|system, frequency is defined


as absolute freq or percentage of the specified -clock option
[-toggles] Toggle count for the pin.
-pin_types Specify the types of pins to report. By default, all types of pins
are reported.
[-clock] Default frequency related to a specific clock.

Valid values are:


■ related (default) - Frequency will be a fraction of related
clock
■ clock - Frequency will be a fraction of the clock specified
with this option
[-global] Set activity for all pins.
[-stims] Stim ID. By default, all stim IDs are considered.
[-frames] Frame ID. This option is applicable if you have specified the -
pin option. By default, all frames of the specified stims are
considered.
[-silent] Specify this option to disable printing warning messages.

September 2017 190 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - set_pin_activity

Example(s)
■ set_pin_activity /cpu_10bit/clk -duty 0.4 -freq 200e6 -stim /stim#1
■ set_pin_activity /cpu_10bit/rst -duty 0.02 -toggles 2 -frames /stim#1/frame#7
/stim#2/frame#12
■ set_pin_activity -activity_type default -pin_types primary_input -duty 0.3 -
freq 2e7 -stims /stim#1
■ set_pin_activity -activity_type system -pin_types flop_out -duty 0.5 -freq 2e6
■ set_pin_activity -activity_type system -pin_types flop_out -duty 0.5 -freq 0.3
-clock related

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 191 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - reset_pin_activity

reset_pin_activity
Resets all activity and power information for design pins.

Syntax
reset_pin_activity [-pin] <pin-path>
-activity_type user|default|system
[-pin_types
{primary_input|seq_out|flop_out|latch_out|memory_out|icgc_out|icgc_enable|
bbox_out|all}+]
[-all]
[-global]
[-stims <stim_id>+]
[-frames <frame_id>+]

September 2017 192 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - reset_pin_activity

Options and Arguments

[-h] Displays help for all options.


[-pin] Reset the activity for the pin in the specified path.
-activity_type Specifying one of the following:
■ user (default) - reports information about user activity
(prob, toggle) reset on pin on the specified stims and
frames.
■ system - reports information about system activity (prob,
toggle) reset on pin on the specified stims and frames.
■ default - reports information about user/system default
activity (prob, toggle) reset on pin types of the specified
stims.
[-pin_types] Specify the types of pins to set activity. By default, all types of
pins are considered.
[-all] Specify whether to reset user pin activity of all pins. This option
is applicable for -activity_type user. Default is false.
[-global] Specify whether to reset global activities of all pins. This option
is applicable for -activity_type default|system.

This option is mutually exclusive with -pin_types.


[-stims] Specify the stims to report. By default, SDB stims are reported.
[-frames] Specify the frames to report. This option is applicable only for -
pin option.

By default, all frames of specified stims(s) are reported.

Example(s)
■ reset_pin_activity -activity_type user -pin /cpu_10bit/clk -frames /stim#1/
frame#1
■ reset_pin_activity -activity_type user -all
■ reset_pin_activity -activity_type default -pin_types primary_input -stims /
stim#1
■ reset_pin_activity -activity_type system -global

September 2017 193 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - reset_pin_activity

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 194 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - report_activity

report_activity
Reports activity post SDB creation.

Syntax
report_activity
[-stims {<stim_id>}+]
[-frames {<frame_id>|<frame_range>}+]
[-inst {<inst-path>}+]
[-module {<module-name>}+]
[-levels <levels>|all]
[-collate frames|hier|domain|all|none]
[-clock_domain {<prim-clock-net>}+]
[-power_domain {<domain-name>}+]
[-by_macro]
[-by_category](default)
[-cols {cells|area|duty|freq|toggles|pins}+]
[-category
{memory|register|latch|icgc|logic|bbox|clock|pad|pm}+]
[-sort_by <category>[:<type>]]
[-by_hierarchy]
[-levels <num>]
[-min_leaf_cnt <min>]
[-cols
{cells pct_cells flops pct_flops area pct_area pins toggles duty freq
hier level}+]
[-sort_by duty|freq|toggles|pins|none]
[-increasing]
[-indent_inst]
[-by_path]
[-from <pin>+]
[-thru <pin>+]
[-to <pin>+]
[-num_paths <integer>]
[-min_level <integer>]
[-max_level <integer>]
[-format <format>]
[-header]
[>|-out <output-file-name>] [-append]
[-widget]

September 2017 195 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - report_activity

Options and Arguments

[-h] Displays help for all options.


[-stims] List of stim IDs for which average activity will be computed. If not
specified, activity of all stims is reported.
[-frames] List of frames for which average activity will be computed. If not
specified, activity of all frames is reported.
[-inst] List of hierarchical or leaf instances for activity report.
[-module] Alternately, you can specify the RTL module name. If specified,
all instances of the specified module are selected for reporting.
[-levels] Suboption of –module. If specified, activity is reported for all
hierarchical instances found upto the specified level (level for
specified root = 0).
[-collate] Collate activity reports across frames, or hierarchical instances,
or clock/power domains, or all of these. By default, the report is
collated across frames.
[-clock_domain] Report activity for the specified clock domain.
[-power_domain] Reports activity for the specified power domain.
[-by_macro] Report the activity by running macro.
[-by_category] Report a line each for the list of specified design element
categories. This is selected by default.

By default, activity is reported by category.


[-cols] Suboption of -by_category. Columns to report. Default
columns are:

duty freq pins


[-category] Suboption of -by_category. Report activity by the selected
category.

Default categories are:

memory register latch logic bbox clock pad pm


[-sort_by] Suboption of -by_category. Sort the output based on the
selected parameter. Default sorting is all:toggles.
[-by_hierarchy] Report activity by hierarchy.

September 2017 196 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - report_activity

[-levels] Suboption of -by_hierarchy. Number of levels to report.


Default is 2.
[-min_leaf_cnt] Suboption of -by_hierarchy. Skip hierarchies with leaf cells
less than the specified value.
[-cols] Suboption of -by_hierarchy. Columns to report. Default
columns are

cells area pct_area flops pins duty freq level


hier
[-sort_by] Suboption of -by_hierarchy. Sort the report based on the
specified parameter. Default sorting is done by toggles.
[-increasing] Suboption of -sort_by. Sort by increasing order. The default
order is decreasing,
[-indent_inst] Suboption of -by_hierarchy. Indentation to report for the
instance. By default, full inst path is reported.
[-by_path] Report activity based on instance path.
[-from] Mandatory suboption for -by_path. List of start pins for the
paths.
[-thru] Suboption for -by_path. List of thru pins for the paths.
[-to] Suboption for -by_path. List of end pins for the paths.
[-num_paths] Suboption for -by_path. Limit the number of paths. Default is 1.
[-min_level] Suboption for -by_path. Show segment between logic levels
min:max. Default is 0.
[-max_level] Suboption for -by_path. Show segment between logic levels
min:max. max_level=0 will display only owning instance of pin.
[-format] Specify the format of the report data. The default format is %.5e.
[-header] Generate report header. Default is false.
[>|-out] Save the power report in the specified file. If –append is
specified, append to the file instead of overwriting it (which is
default).
[-append] Append to the file instead of overwriting it (which is default).
[-widget] Display the output in form of GUI widget.

September 2017 197 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - report_activity

Example(s)
■ report_activity ;# report power for top-level design(s)
■ report_activity -frames /stim#1/frame#1 {/stim#1/frame#[5:8]}
■ report_activity -module cpu_10bit__fsm
■ report_activity -inst /cpu_10bit/DP -levels 1
■ report_activity -by_path -from /cpu_10bit/DP/ACC_reg/qout_reg[8]/Q

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Activity Processing and Reporting in Joules User Guide.

September 2017 198 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - report_user_activity

report_user_activity
Reports the user activity set by set_pin_activity or set_default_activity in a
tabular format.

Syntax
report_user_activity
-activity_type user|default|system
[-pins <pin>+]
[-pin_types
{primary_input|seq_out|flop_out|latch_out|memory_out|icgc_out|icgc_enable|
bbox_out|all}+]
[-global]
[-stims <stim_id>+]
[-frames <frame_id>+]
[-out <out_file>]

September 2017 199 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - report_user_activity

Options and Arguments

[-h] Displays help for all options.


-activity_type Specify one of the following:
■ user - reports information about user activity (prob, toggle)
set on pin on the specified stims and frames.
■ system - reports information about system activity (prob,
toggle) set on pin on the specified stims and frames.
■ default - reports information about user/system default
activity (prob, toggle) set on pin types of the specified stims.
[-pins] Report the specified pins. By default, all pins are reported.
[-pin_types] Specify the types of pins to report. By default, all types of pins
are reported.
[-global] Report only global activities set by set_pin_activity/
set_default_activity.
[-stims] Specify the stims to report. By default, all stim IDs are reported.
[-frames] Specify the frames to report. This option is applicable only for -
activity_type user.

By default, all frames of specified stim(s) are reported.


[-out] Save the output in the specified file.

Example(s)
■ report_user_activity -activity_type user -frames /stim#1/frame#1
■ report_user_activity -activity_type user -pins clk rst
■ report_user_activity -activity_type default -stims /stim#1
■ report_user_activity -activity_type system -pin_types primary_input flop_out
-global -stims /stim#1 -out system.rpt

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 200 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - report_user_activity

Also See

Activity Processing and Reporting in Joules User Guide.

September 2017 201 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_pin_activity

get_pin_activity
Returns the source of activity for the specified pin.
Note: After read_stimulus, only the annotated pins can be queried using this command;
for all other non-annotated pins, the command returns -1. After propagate_activity/
compute_power, activities of all pins can be queried.

Syntax
get_pin_activity [-pin] <pin-path> \
[-props {duty|freq|toggles|toggle_rate|type}+]
[-stims <stim_id>+]
[-frames <frame_id>+]

September 2017 202 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_pin_activity

Options and Arguments

[-h] Displays help for all options.


[-pin] Path of the design pin for which to return the activity value. You
can specify only a single pin for this option.
[-props] Return colon (:) separated list of property values. Valid values
are:
■ duty: returns average over all frames
■ freq: returns average over all frames
■ toggles: returns sum over all frames
■ toggle_rate: returns average over all frames
■ type: returns activity type in the first frame
Possible values for activity type are:
Act_Default|Act_Computed|Act_ClkFromSDC|
Act_Constant|Act_Asserted|Act_UserAsserted.
By default, duty, freq, and type values are returned.
[-stims] Stim ID for the pin. By default, all stim IDs are considered.
[-frames] Frame ID for the pin. By default, frame#0 of all specified stims
are considered.

Example(s)
■ get_pin_activity /cpu_10bit/clk ; #returns 0.498:4.976e+08:Act_Asserted
■ get_pin_activity /cpu_10bit/DP/ACC_reg/qout_reg[0]/Q -prop toggle_count -stim
/stim#1 # Returns: 4

Return Value

-1 indicates failure in execution.

Also See
■ Activity Processing and Reporting in Joules User Guide.

September 2017 203 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_sdb_stims

get_sdb_stims
Returns information about stimuli read into Joules SDB.

Syntax
get_sdb_stims \
[-range <val>:<val2>]
[-list <num>+]
[-name <pattern>]
[-count]

Options and Arguments

[-h] Displays help for all options.


[-range] Return the stimuli within the specified range.
[-list] Return the list of stimuli matching the specified numbers.
[-name] Return the names of the stimuli in SDB.
[-count] Return the number of stimuli present in SDB.

Example(s)
■ get_sdb_stims ;# returns list of all stimuli
■ get_sdb_stims -range 2:4 ;# returns /stim#2 /stim#3 /stim#4
■ get_sdb_stims -count ;# returns the total number of stimuli present in the SDB

Return Value

-1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 204 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_pdb_stims

get_pdb_stims
Returns information about stimuli read into Joules power DB (PDB).

Syntax
get_sdb_stims \
[-count]

Options and Arguments

[-h] Displays help for all options.


[-count] Return the number of stimuli present in PDB.

Example(s)
■ get_pdb_stims ;# returns list of all stimuli.
■ get_pdb_stims -count ;# returns the total number of stimuli present in the PDB

Return Value

-1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 205 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_sdb_frames

get_sdb_frames
Returns information about frames present in Joules SDB.

Syntax
get_sdb_frames \
[-stims <stimID>+]
[-range <val>[:<val2>]]
[-list <num>+]
[-name <pattern>]
[-count]

Options and Arguments

[-h] Displays help for all options.


[-stims] Return the stim IDs for the specified frames.
[-range] Return the frame IDs within the specified range.
[-list] Return the list of Frame IDs matching the specified numbers.
[-name] Return the names of the frames in SDB.
[-count] Return the number of frames present in SDB.

Example(s)
■ get_sdb_frames ;# returns list of all stimuli.
■ get_sdb_frames -stim /stim#1 /stim#3 ;# returns /stim#1/frame#0 /stim#1/
frame#1 /stim#3/frame#1
■ get_sdb_frames -stim /stim#1 -range 4:6 ;# returns /stim#1/frame#4 /stim#1/
frame#5 /stim#1/frame#6
■ get_sdb_frames -count ;# returns the count of frames in the specified stimulus

Return Value

-1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 206 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_pdb_frames

get_pdb_frames
Returns information about frames present in Joules power DB (PDB).

Syntax
get_pdb_frames \
[-stim <stimID>+]
[-count]

Options and Arguments

[-h] Displays help for all options.


[-stim] Return the stim IDs for the specified frames.
[-count] Return the number of frames present in PDB.

Example(s)
■ get_pdb_frames ;# returns list of all frames.
■ get_pdb_frames -stim /stim#1 /stim#3 ;# returns /stim#1/frame#0 /stim#1/
frame#1 /stim#3/frame#1
■ get_pdb_frames -count ;# returns the count of frames in the specified stimulus

Return Value

-1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 207 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_stim_info

get_stim_info
Returns requested information about the stimuli present in Joules SDB.

Syntax
get_stim_info [-stim] <stim_id>
[-src_file|-file_format|-start_time|-end_time|-duration|-top_instance|
-frame_count|-signal_count]

Options and Arguments

[-h] Displays help for all options.


[-stim] Stim ID for which information is required.
[-src_file|-file_format|-start_time|-end_time|-duration|-top_instance|-
frame_count|-signal_count]

Type of information required for the specified stimulus. The


command can return the following information about stimulus:
■ source file path
■ format of file
■ start time, end time, and duration
■ top instance name
■ frame and signal count

Example(s)
■ get_stim_info /stim#1 -src_file ;# return source stimulus file path
■ get_stim_info /stim#2 -top_instance ;# return top_instance name in stimulus

Return Value

-1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 208 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_frame_info

get_frame_info
Returns requested information about a specific frame in the SDB.

Syntax
get_frame_info [-frame] <frame_id>
[-owning_stim|-start_time|-end_time|-duration]

Options and Arguments

[-h] Displays help for all options.


[-frame] Frame ID for which information is required.
[-owning_stim|-start_time|-end_time|-duration]

Type of information required for the specified frame. The


command can return the following information about a frame:
■ owning stim ID
■ start time, end time, and duration

Example(s)
■ get_frame_info /stim#1/frame#1 -owning_stim ;# returns /stim#1
■ get_frame_info /stim#1/frame#1 -start_time ;# returns start_time for /stim#1/
frame#1
■ get_frame_info /stim#2/frame#2 -end_time ;# returns end_time for /stim#2/
frame#2
■ get_frame_info /stim#2/frame#3 -duration ;# returns duration (in ns) for /
stim#2/frame#3

Return Value

-1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 209 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_frame_duration

get_frame_duration
Returns sum of durations of specified list of frames.
Note: This command can be run after read_stimulus or compute_power commands.

Syntax
get_frame_duration \
[-frames] <frame_id>+
[-stims] <stim_id>+

Options and Arguments

[-h] Displays help for all options.


[-frames] Return duration of the specified frame or list of frames. If not
specified, duration for frame#0 of all specified stims is reported.
[-stims] Return duration of the specified SDB stim or list of stims. If not
specified, duration for all SDB stims is reported.

Example(s)
■ get_frame_duration ; # returns total duration of all SDB stims
■ get_frame_duration /stim#1/frame#1 /stim#2/frame#7 ; # returns sum of duration
of /stim#1/frame#1 and /stim#2/frame#7

Return Value

-1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 210 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_inst_activity

get_inst_activity
Returns pin activity of specified instance in form of:

<data_pin_triple> <clk_pin_triple> <en_pin_triple> <out_pin_triple>


where each <triple> = <pin_cnt>:<avg_duty>:<avg_toggle>

Syntax
get_inst_activity [-inst] <inst>
[-direction {in|out}]
[-frames <frame_id>+]
[-rtl_type
{memory|register|flop|latch|icgc|add|sub|mult|div|decoder|comp|shift|mmux|
buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|mux|tri|tie|pad|fadd|hadd|
delay|iso|srpg|ls|els|ps}+]
[-rtl_group seq|macro|alu|dpx|logic|pm]

Options and Arguments

[-h] Displays help for all options.


[-inst] Hierarchical or leaf instance path.
[-direction] Input or output side activity. Default is out.
[-frames] Specify the list of frames for activity display. By default, average
of all frames are considered.
[-rtl_type] List of RTL types (applies only to hierarchical insts).
[-rtl_group] List of RTL groups (applies only to hierarchical insts).

Example(s)
■ get_inst_activity /cpu_10bit/FSM
■ get_inst_activity /cpu_10bit/DP/ALU/add_55_37
■ get_inst_activity /cpu_10bit/FSM/pst_reg[3]

Return Value

-1 indicates failure in execution.

September 2017 211 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_inst_activity

Also See

Activity Processing and Reporting in Joules User Guide.

September 2017 212 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - copy_activity

copy_activity
Copies activity (toggle/duty) from stims/frames specified using -from option and apply them
to stims/frames specified with -to option.
Note: Use the -apply option to apply the activity copy in the current session.

Syntax
copy_activity \
[-from] <stim_or_frame_id>+
[-to <stim_or_frame_id>+]]
[-annotation_type
{asserted|user_asserted|computed|default|clock_source|constant|unasserted|
unconnected|all}+]
[-apply]
# Use the following options to specify leaf insts for selective activity copy
[-root <inst>+]
[-module <module-name>+]
[-levels <levels>|all]
[-clock_domain {<prim-clock-net>}+]
[-power_domain {<domain_name>}+]
[-rtl_type
{none|bbox|memory|register|flop|latch|icgc|add|sub|mult|div|decoder|comp|
shift|mmux|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|mux|tri|tie|pad|
fadd|hadd|delay|iso|srpg|ls|els|ps}+]
[-rtl_group {seq|macro|alu|dpx|logic|pm}+]
[-leaf macro|gate]
# Use following options to select pins of selected leaf insts
[-pin_type
{data|address|clock|enable|select|reset|set|scan|tie|rail|vdd|gnd|save|
restore}+]
[-port_type {clock|data|reset|set|test}+]
[-direction in|out|inout]
[>|-out <f_activity>]

September 2017 213 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - copy_activity

Options and Arguments

[-h] Displays help for all options.


[-from] Copy activity from the specified stim or frame ID(s).
[-to] Copy activities to the specified stim or frame ID(s).
[-annotation_type] Annotation type for copying activity. Default is all.
[-apply] Apply the copied activity in current session.
[-root] Specify the list of root instances for copying activity. Default is
design root.
[-module] Specify the list of modules for copying activity. Default is design
root.
[-levels] Suboption of -module. Specify the levels of the selected
module(s).
[-clock_domain] Specify the primary clock domain name for copying activity.
[-power_domain] Specify the power domain name for copying activity.
[-rtl_type] Specify the RTL type for copying activity. Default is any.
[-rtl_group] Specify the RTL group for copying activity. Default is any.
[-leaf] Treat either macro (for example, adder) or gate as leaf object.
Default is macro.
[-pin_type] Copy activity of the selected hierarchy pins. Default is any.
[-port_type] Copy activity of the selected hierarchy ports. Default is none.
[-direction] Specify direction of the selected pins. This option applies to -
pin_type|-port_type. Default is any direction.
[-out] Save set_pin_activity commands in the specified file. By
default, it is saved in joules_work/copy_activity.tcl.

Example(s)
■ copy_activity -from /stim#1/frame#5 -to /stim#2/frame#14
■ copy_activity -from /stim#2 -to /stim#2 -rtl_type icgc -pin_type enable ;# copy
ICGC/enable activity

September 2017 214 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - copy_activity

Return Value

-1 indicates failure in execution.

Also See

Activity Processing and Reporting in Joules User Guide.

September 2017 215 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - gen_power_critical_signals

gen_power_critical_signals
Generates power critical signals for the specified design elements.

Syntax
gen_power_critical_signals \
[-root <root_inst>]
[-tb_dut_inst <dut_inst_path_in_tb>]
[-nodes {<obj_type>[:<port_type>]}+]
obj_type = port|memory|flop|icgc|latch|seq|bbox|mux|xor|adder|alu|all
pin_type = input|output|data|clock|enable|reset|all
[-target_tool pxp|ies|fsdb]
[>|-out <output-file-name>]

Options and Arguments

[-h] Displays help for all options.


[-root] Specify the root hierarchy containing the pins. By default, the
design root is considered.
[-tb_dut_inst] Testbench DUT instance path for the signals.
[-nodes {<obj_type>[:<port_type>]}+]

Specify the node (in form of object type(s):pin type)


for which to generate the power signals. Valid object types and
pin types are mentioned in the syntax above.

If not specified, all primary input and output ports of seq nodes
are reported.
[-target_tool] The target tool that will use the generated power signals file.
Default is pxp.
[>|-out] Direct the output to the specified file. By default, the output goes
to the file joules_work/
<root>.power_critical_signals.

Example(s)
■ gen_power_critical_signals ; # dump primary in/out ports and all ports of seq
nodes
■ gen_power_critical_signals -tb_dut_inst /cpu_10bit_tb/CPU ; # prefix testbench
DUT path to signals

September 2017 216 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - gen_power_critical_signals

■ gen_power_critical_signals -nodes port memory icgc:in flop:out -out


cpu_10bit.my_signal_list ; # dump primary in/out ports, in/out ports of
memories, in ports of ICGCs, and q/qn ports of flops and save in file
cpu_10bit.my_signal_list

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 217 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - report_sdb_annotation

report_sdb_annotation
Reports the annotations on a design.

Syntax
report_sdb_annotation
[-inst <design|inst>]
[-stims <stim_id>+] (default: all stims)
[-inputs]
[-show_details <obj_type>[:<annotation_type>[:<pin_prop_type>]]]
<obj_type>=port|port_dft|seq|comb|reg|reg_dft|mem|mem_dft|icgc|latch|bbox
|pad|pm|mux|all
<annotation_type>=asserted|unasserted|unconnected|all
(after read_stimulus and before compute_power)
=asserted|user_asserted|computed|default|clock_source|
constant|unasserted|unconnected|all
(after compute_power or propagate_activity)
<pin_prop_type> = in|out|clock|enable|all
[-out <file name>]
[-widget]

Options and Arguments

[-h] Displays help for all options.


[-inst] Report annotations for the specified instance. By default, the top
design is considered.
[-stims] Report annotations for the specified stimulus IDs.
[-inputs] Display flop, memory, latch, and icgc inputs.
[-show_details] Report annotation details for the specified object, annotation
type, and pin type set.

If not specified, details of all annotation types for all object and
pin types is reported.
[-out] Direct the output to the specified file.
[-widget] Display the output in form of GUI widget.

Example(s)
■ report_sdb_annotation -stims /stim#1
■ report_sdb_annotation -stims /stim#1 /stim#2 -out annot.rpt
■ report_sdb_annotation -stims /stim#1 -show_details seq:computed:out

September 2017 218 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - report_sdb_annotation

■ report_sdb_annotation -stims /stim#1 -show_details reg:asserted:clock


■ report_sdb_annotation -stims /stim#1 -show_details icgc:asserted:enable
■ report_sdb_annotation -stims /stim#1 -show_details port:default:in

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Activity Processing and Reporting in Joules User Guide.

September 2017 219 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - report_stim_hierarchy

report_stim_hierarchy
Reports stimulus hierarchy of the specified stimulus in text format.

Syntax
report_stim_hierarchy \
[-file <stimulus-file>]
[-format <stimulus-file-format>]
[-stim <stim_id>]
[-levels <num>]
[-out <output-file-name>]

Options and Arguments

[-h] Displays help for all options.


[-file] Specify the input stimulus file.
[-format] Specify the format of the stimulus file.
[-stim] Specify the stim ID for which to report the stimulus hierarchy.
[-levels] Specify the number of stimulus hierarchy levels to report.
[-out] Direct the output to the specified file.

Example(s)
■ report_stim_hierarchy -file activity.vcd -format vcd -out output_file # Writes
the stimulus hierarchy of activity.vcd to output_file
■ report_stim_hierarchy -file activity.vcd -format vcd # Writes the stimulus
hierarchy of activity.vcd to stdout
■ report_stim_hierarchy -stim /stim#1 -out output_file # Writes the stimulus
hierarchy of /stim#1 to output_file
■ report_stim_hierarchy -stim /stim#1 -levels 10 # Writes the first 10 levels of
stimulus hierarchy of /stim#1 to stdout

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 220 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - report_stim_hierarchy

Also See

Activity Processing and Reporting in Joules User Guide.

September 2017 221 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - generate_joules_monitor

generate_joules_monitor
Generates a module having extra probe signals to monitor ICGC enables. The generated
module is in system verilog (.sv) format.

Syntax
generate_joules_monitor
[-out <output-verilog-file-name>]
[-dut_instance <dut_inst_name>]
[-max_expr_rtl_signal_count <integer(power of 2)>]

Options and Arguments

[-h] Displays help for all options.


[-out] Save the generated module in the specified file name. The
default file is joules_work/joules_icgc_simulation.sv.
[-dut_instance] Specify the DUT instance name in testbench.

Simulation, typically, has a testbench that instantiates the


design. Therefore, if Joules has the design top which is
instantiated in the simulation world in the module testbench as
t1, then the argument to option -dut_instance will be
testbench.t1.
[-max_expr_rtl_signal_count]

For ICGC enable expression generation, the tool back traces the
enable pin all the way till a named RTL net is encountered.

If this option is specified then, during the back tracing, if the


number of RTL signals encountered is more than the specified
value, then the tool skips generating the enable expression. The
default value is 128.

Example(s)
■ generate_joules_monitor
■ generate_joules_monitor -out design_sdb.dat

September 2017 222 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - generate_joules_monitor

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Generating Instrumentation of Power Control Signals in Joules User Guide.

September 2017 223 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - write_stimulus

write_stimulus
Writes a stimulus database in either TCF or SAIF format. The command writes out a
compressed file if you add the .gz extension to the file name.

Syntax
write_stimulus \
[-format] <tcf|saif|vsdb>
[-root <design|instance>]
[-frames <frame_ids>+]
[-weight <factor>]
[-rfw_triple {<root> <frame_id>+ <weight>}+}]
[-hierarchical]
[-prefix_top_instance <top_instance>]
[-nodes {<obj_type>[:<annotation_type>]}+]
obj_type = port|seq|comb|reg|mem|icgc|latch|all
annotation_type = asserted|computed|all
[-inpins]
[-duration <duration in ns>]
[>|-out <output-file-name>]
Additional options for vsdb format:
[-input_file <file-name>]
[-dut_instance <dut-inst-name>]
[-input_format fsdb|vcd|phy|shm]
[-start <window-start-time>]
[-end <window-end-time>]

September 2017 224 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - write_stimulus

Options and Arguments

[-h] Displays help for all options.


[-format] Specify the format of the stimulus file to write.
[-root] Specify the root hierarchy. If not specified, the top design is
used.
[-frames] Write the toggle count for the pins in the specified frame. If not
specified, /stim#1/frame#1 is considered.
[-weight] Scale the frequency by the specified weight factor. The default
factor is 1.0.
[-rfw_triple] Specify the { root {frame_ids} weight} triplet.
■ root - can be any hierarchical instance in the design.
■ frame_id - to be used for pins in the specified root.
■ weight - scales the frequency by given weight.
The default value is:
{/top_design {-1} 1.0}
This option is typically used to specify different stimulus to
different blocks in the design. Also multiple frames and weight
can be specified for a block.
Note: If you are working with only a single hierarchy, then
instead of using the rfw_triple option, you can directly use
the -root, -frames and -weight options.
[-hierarchical] Write a hierarchical output file. Default is false, which writes a
flat output file.
[-prefix_top_instance] Prefix the top instance to all pins in the output file. The default is
design root.

September 2017 225 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - write_stimulus

[-nodes] Specify in the format of


<obj_type>[:<annotation_type>]}+:
■ <obj_type> - the object type (for valid values, see
syntax above) for which to write probability and toggle
count. The default object types are port and seq.
■ <annotation_type> - whether to add the computed
or asserted probability and toggle count of the pins and nets
to the TCF file. By default only the asserted values are
written out.
[-inpins] Write out a pin-based stimulus file. This implies that switching
activities on all input pins are written out.
[-duration] Write the stimulus file for the specified duration. For example, If
you specify -duration 1ms, then stimulus using data
frequency for 1ms will be computed and dumped.
By default, stimulus files are written for the duration of a single
frame.
[>|-out] Write stimulus data in the specified file. If not specified, the
output is written to joules_work/joules.<format>.
[-input_file] Specify the input stimulus file name.
[-dut_instance] DUT instance name in testbench. If not specified, it is inferred.
[-input_format] Input stimulus format. If not specified, it is inferred from file
extension.
[-start] Analysis start time. Default is simulation start time
[-end] Analysis end time. Default is simulation end time

Example(s)
■ write_stimulus -format vsdb -input_file cpu_10bit_pgm_gcf.fsdb -start 10ns;#
infer -dut_instance
■ write_stimulus -format vsdb -input_file ./trace.phy -dut_instance /CPU -start
10ns -end 40ns
■ write_stimulus -format tcf ;# saved in joules_work/joules.tcf (default TCF
file name)
■ write_stimulus -format saif ;# saved in joules_work/joules.saif (default SAIF
file name)

September 2017 226 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - write_stimulus

■ # write a flat TCF activity for /cpu_10bit from /stim#1/frame#0 and scale
frequency by 0.8
write_stimulus -format tcf -root /cpu_10bit -frames /stim#1/frame#0 -weight 0.8
■ # write a flat SAIF file with asserted sequential input and output pins for
duration of 10ns
write_stimulus -format saif -duration 10 -inpins
■ # write flat TCF with asserted seq input+output pins for duration of 15ns, infer
sim top instance from the stimulus
write_stimulus -format saif -duration 20 -inpins -hierarchical
■ # write a flat TCF file named cpu_10bit.tcf with all seq outputs and comb
asserted outputs
write_stimulus -format tcf -nodes comb seq:all -out cpu_10bit.tcf
■ # write vectorless activity
write_stimulus -format saif -nodes port:all seq:all -frames /stim#0/frame#1 -
out cpu_10bit_vectorless.saif
■ # write activity of /cpu_10bit from /stim#1/frame#0 and scale frequency by 0.8
write_stimulus -format tcf -rfw_triple { {/cpu_10bit /stim#1/frame#0 0.8} }

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 227 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - read_spef

read_spef
Reads the parasitics in SPEF format and loads the resistance and grounded capacitors from
the file. Gzip compressed files (.gz extension) can also be loaded.

Syntax
read_spef [ -detailed_parasitics | -lumped_cap_only ][-hierarchical]
[-max_fanout <integer>][-incremental][-rc_corner <rc_corner>] <string>

Options and Arguments

[-h] Displays help for all options.


[-detailed_parasitics] Load all the segmented caps (default).
[-lumped_cap_only] Load only the lumped caps.
[-hierarchical] Read hierarchical SPEF file.
[-max_fanout] Skip nets with fanout greater than the specified value (default
1000).
[-incremental] Do not reset already annotated net(s).
[-rc_corner] RC corner object that the SPEF values are associated with.
<string> SPEF file name.

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 228 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - set_vectorless_controls

set_vectorless_controls
Applies vectorless settings to specified list of root instances or power domains. Frequency of
ICGC enables, outputs of memory, and register, can be specified per clock, as percentage of
related clock frequency. Frequency of primary inputs (pi) related to clock, can be specified as
percentage of related clocks.

For primary inputs (pi) not related to clock and latches, frequency can be specified either as
an absolute value or as percentage of fastest clock using the -clock_unrelated option.
Effect of the command is cumulative. In case of conflict, the last command wins.

Syntax
set_vectorless_controls \
[[-root] <root_inst>+]
[-power_domain <pd_name>+]
[-cg_enable_rate <pct> [<primary_clock>+]]
[-memory_rate <pct> [<primary_clock>+]]
[-register_rate <pct> [<primary_clock>+]]
[-latch_enable_rate <pct_of_fastest_clock>|<freq>]
[-pi_rate <pct_of_related_clock_freq>]
[-clock_unrelated <pct_of_fastest_clock>|<freq>]

September 2017 229 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - set_vectorless_controls

Options and Arguments

[-h] Displays help for all options.


[-root] List of root instances to apply vectorless settings. Default is
design root.
[-power_domain] List of power domains to apply vectorless settings. Default is
none.
[-cg_enable_rate] Specify the frequency of ICGC enable as percentage of related
clock frequency.
[-memory_rate] Specify the frequency of outputs of memory as percentage of
related clock frequency.
[-register_rate] Specify the frequency of registers as percentage of related clock
frequency.
[-latch_enable_rate] Specify the frequency of enable latches as percentage of fastest
clock.
[pi_rate] Specify the frequency of primary inputs (pi) as percentage of
related clock.
[-clock_unrelated] Suboption of -pi_rate. Specify the frequency of primary inputs
(pi) not related to clock and latches as an absolute value or as
percentage of fastest clock.

Example(s)
■ set_vectorless_controls -root /cpu_10bit/DP -cg_enable_rate 0.2
■ set_vectorless_controls -root /cpu_10bit/FSM -cg_enable_rate 0.3 # set ICGC
enable freq (relative to clock) of 20% for DP, and 30% for FSM
■ set_vectorless_controls -memory_rate 0.08 -register_rate 0.1 # set data freq
(relative to clock) of 10% for registers, and 8% for memories
■ set_vectorless_controls -pi_rate 0.05 -clock_unrelated 10MHz # for primary
inputs (PIs) related to clock, set data freq 5% of clock, for PIs unrelated to
clock, set freq of 10MHz

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 230 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - set_vectorless_controls

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 231 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Stimulus Interface, Vectorless, and Activity Commands - get_domain_activity

get_domain_activity
Returns the following activity values for the specified power domain:

<avg_duty> <avg_freq> <toggles> <pins>

Syntax
get_domain_activity -clock_domain <prim-clock-net>|-power_domain
<power_domain_name>
[-frame <frame_id>]
[-power_mode <power_mode>]
[-category memory|register|latch|logic|bbox|clock|pad|pm]

Options and Arguments

[-h] Displays help for all options.


-clock_domain|-power_domain Specify the clock domain or power domain for
reporting activity
[-frame] Specify frame ID for reporting activity. By default,
average of all frames in SDB are considered.
[-power_mode] Specify power mode ofr reporting activity. Default
mode is dont care.
[-category] Specify domain category for activity reporting.

Example(s)
■ get_domain_activity -clock_domain /cpu_10bit/clk -power_mode pwr_all_on
■ get_domain_activity -power_domain PD_fsm -category logic

Return Value

-1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 232 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

9
Power Analysis and PPA Reporting
Commands

■ compute_power
■ set_power_scale_factor
■ report_power
■ plot_power_profile
■ dump_power_profile
■ dump_activity_profile
■ report_ppa
■ set_inst_power
■ collate_power
■ report_net_switching
■ tune_ple_from_spef
■ sweep_power
■ track_power
■ get_power_rails
■ compute_logic_scale_factor
■ report_power_efficiency
■ compute_efficiency

September 2017 233 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - compute_power

compute_power
Performs power analysis.

Syntax
compute_power
[-mode average|time_based|vectorless]
[-post_cts_clock]
[-clock_network_slew propagate|mixed|generic]
[-skip_propagation]
[-frequency_scale_factor <factor>]
[-scale_frequency { <factor> <name> }+]
(<factor> = scale factor)
(<name> = clock pin/net or hierarchy or power domain)
[-scale_to_sdc_frequency]
[-auto_tune {clock|memory|logic}+]
[-levels <hier_depth>]
[-stim <stim_id>]
[-append]
[-by_rail]
[-master_slave <config-file>]
[-batch]
[-help|-h]

September 2017 234 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - compute_power

Options and Arguments

[-h] Displays help for all options.


[-mode] Specify whether to run compute_power in average, time-
based, or vectorless mode. When run in average mode (default),
power is computed for each stimulus by averaging all.
[-post_cts_clock] Mark clock tree as non-ideal and propagate slew in clock tree for
accurate power analysis. This option is recommended for
designs with CTS.

If a design has Joules clock tree then it is applied automatically


by compute_power.
Note: The slew propagation does not happen on actual DB
(present in /designs), so there is no timing impact on DB/design
loaded. The changes are applied on pseudo clock tree created
by Joules under /ctgs.
[-clock_network_slew] Specify the clock network slew as propagate, mixed, or generic.
[-skip_propagation] By default, the compute_power command runs activity
propagation. If activity propagation has already been run, it can
be skipped using this option.
[-frequency_scale_factor] Specify the global frequency scaling factor. The default factor is
1.0.
[-scale_frequency] Scale frequency of all ASSERTED signals in the specified
<name> by <factor>. For example:
■ If <name> is clock pin/net, frequency of all ASSERTED
signals in the domain of the specified clock is scaled by
<factor>.
■ If <name> is a hierarchy, frequency of all ASSERTED
signals in the specified hierarchy is scaled by <factor>.
■ If <name> is a power domain, frequency of all ASSERTED
signals in the specified power domain is scaled by
<factor>.

September 2017 235 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - compute_power

[-scale_to_sdc_frequency] If specified, all clock domain, clock network, and clk pins activity
is computed by factor where

factor = sdc_freq/stim_freq

If multiple clocks reach a pin, then the fastest clock is


considered.
[-auto_tune] Tune the specified memory, clock, and/or logic power using area
and physical-based heuristics.
[-levels] Suboption of -auto_tune. Specify the level of hierarchy for
logic power (-auto_tune logic). The default level is 2.
[-stim] Stimulus ID for power computation. By default, all stimulus in
SDB or vectorless are considered, depending on -mode option.
[-append] Append power computation result to PDB.
[-by_rail] Store computed power in PDB for rail-based reporting.
[-master_slave] Compute power for SDBs specified in master-slave
configuration file.
[-batch] If specified, power results are not stored in PDB.

Default is false.

Example(s)
■ compute_power
■ compute_power -mode average
■ compute_power -mode time_based
■ compute_power -mode vectorless ;# run compute_power in vectorless mode
■ compute_power -frequency_scale_factor 0.6 ;# reduce frequency of signals by 40%
■ compute_power -frequency_scale_factor 1.5 ;# increase frequency of signals by
50%

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 236 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - compute_power

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 237 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - set_power_scale_factor

set_power_scale_factor
Sets scaling factors for power analysis.

Syntax
set_power_scale_factor \
[-reset]
[-leakage <fac>]
[-internal <fac>]
[-switching <fac>]
[-clock_pin <fac>]
[-frames <frames>]
[-stims <stims>]
[-category {memory|register|latch|logic|bbox|clock|pad|pm}]
[-root <insts>+]
[-iter <iter>]
[-power_domain <power_domain_name>]
[-clock_domain <prim_clock_net>]
[-sticky]

September 2017 238 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - set_power_scale_factor

Options and Arguments

[-h] Displays help for all options.


[-reset] Reset all the previously set scaling options by
set_power_scale_factor
[-leakage] Set the scaling factor for leakage. The default factor is 1.
[-internal] Set the scaling factor for internal power. The default factor is 1.
[-switching] Set the scaling factor for power switching. The default factor is 1.
[-clock_pin] Set the scaling factor for clock pins. The default factor is 1.
[-frames] Specify the list of frame for scaling. By default, all frames are
considered.
[-stims] Specify the list of stim IDs for scaling. By default, all stims are
considered.
[-category] Set the scaling factor for the specified category of component.
[-root] Specify the list of instances or root for scaling. By default, the
design root is considered.
[-iter] Specify the iterator of list of leaf instances.
[-power_domain] Specify the power domain name.
[-clock_domain] Specify the clock domain name.
[-sticky] Suboption of -clock_domain. In case of overlapping/
conflicting clock domains elements, use this option to specify
which value overrides the other values. The default is false.

Example(s)
■ set_power_scale_factor -reset ;# reset scaling
■ set_power_scale_factor -category logic -leakage 0.75
■ set_power_scale_factor -category register -internal 1.1 -root /cpu_10bit/DP

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 239 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - set_power_scale_factor

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 240 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_power

report_power
Report power for the specified parameter.

Syntax
report_power \
[-stims {<stim_id>}+]
[-frames {<frame_id>|<frame_range>}+]
[-inst {<inst-path>}+]
[-module {<module-name>}+]
[-levels <levels>|all]
[-clock_domain {<prim-clock-net>}+]
[-power_domain {<domain-name>}+]
[-collate frames|hier|domain|all|none]
[-power_mode {<power_mode>}+]
[-power_rail {<power_rail>}+]
[-assign2clk {memory|register|latch|pad}+]
[-by_category]
[-cols {cells|area|leakage|internal|switching|static|dynamic|total}+]
[-category
{memory|register|latch|logic|bbox|clock|clock_comb|clock_seq|pad|pm}+]
[-sort_by <category>[:<type>]]
[-reassign_power <from_cat> <to_cat>[<iter>]]
[-root <hier_inst>]
[-module {<module-name>}+]
[-levels <levels>|all]
[-power_domain <power_domain>]
[-clock_domain <clock_domain>]
[-power_rail {<power_rail>}]
[-rtl_type
{hier|hadd|fadd|bbox|memory|register|flop|latch|icgc|add|sub|mult|div|
decoder|comp|shift|mmux|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|
oai|mux|tri|tie|pad|fadd|hadd|delay|iso|srpg|ls|els|ps}+]
[-rtl_group {seq|macro|alu|dpx|logic|pm}+]
[-name <glob>]
[-cell <glob>]
[-lib <glob>]
[-nocase]
[-invert]
[-by_hierarchy]
[-levels <num>]
[-min_leaf_cnt <min>]
[-cols
{cells|pct_cells|flops|pct_flops|area|pct_area|dynamic|pct_power|hier|
level|leakage|internal|switching|static|dynamic|total}+]
[-sort_by leakage|internal|switching|static|dynamic|total|none]
[-indent_inst]
[-by_leaf_instance]
[-rtl_type
{hier|hadd|fadd|bbox|memory|register|flop|latch|icgc|add|sub|mult|div|
decoder|comp|shift|mmux|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|
mux|tri|tie|pad|fadd|hadd|delay|iso|srpg|ls|els|ps}+]
[-rtl_group {seq|macro|alu|dpx|logic|pm}+]
[-leaf macro|gate]
[-name <glob>]
[-nocase]
[-invert]

September 2017 241 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_power

[-cols
{cell|lib|domain|type|leakage|internal|switching|static|dynamic|total}+]
[-sort_by leakage|internal|switching|static|dynamic|total]
[-increasing]
[-by_rail]
[-by_tiles <rows>X<cols>]
[-style simple|transient]
[-cols {leakage|internal|switching|total}+]
[-unit W|mW|uW|nW]
[-format <format>]
[-header]
[-skip_port_switching_power]
[>|-out <output-file-name>] [-append]
[-widget]

September 2017 242 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_power

Options and Arguments

[-h] Displays help for all options.


[-stims] Report power for specified list of stims. By default, all stimulus is
reported.
[-frames] Report power for specified list of SDB frames. By default, power
for all SDB frames will be reported.
[-inst] List of root hierarchical and/or leaf instances for power reporting
[-module] Alternately, you can specify the RTL module name. If specified,
all instances of the specified module are selected for power
reporting.
[-levels] Suboption of –module. If specified, power is reported for all
hierarchical instances found upto the specified level (level for
specified root = 0).
[-clock_domain] Report power for the specified clock domain.
[-power_domain] Reports power for the specified power domain.
[-collate] Collate power reports across frames, or hierarchical instances,
or clock/power domains, or all of these. By default, the report is
collated across frames.
[-power_mode] Report power for the specified power mode. The default power
mode is dont care.
[-power_rail] Report power for the specified power rail. The default is dont
care.
[-assign2clk] Assign clock pin power of memory, flop, latch to the clock
network. By default, the clock pin power for the instance is
contained in the instance internal power.
[-by_category] Report a line each for the list of specified design element
categories. PM stands for power management cells (such as
level shifter, retention, isolation cells).

By default, power is reported by category.


[-cols] Suboption of -by_category. Columns to report. Default
columns are:

leakage internal switching

September 2017 243 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_power

[-category] Suboption of -by_category. Report power by the selected


category.
[-sort_by] Suboption of -by_category. Sort the output based on the
selected parameter.
[-reassign_power] Suboption of -by_category. Redistribute power of leaf
instances specified using suboptions below from <from_cat>
to <to_cat>.

You can specify multiple -reassign_power options in the same


command. Consider the following sample usage:
set iter1 [get_insts -iter -cell *BBND*]
set iter2 [get_insts -iter -cell lef*]
report_power -unit mW -format %.5f \
-category memory register latch logic bbox clock_comb
clock_seq pad pm \
-cols internal switching leakage total \
-reassign_power bbox logic $iter1 \
-reassign_power bbox memory $iter2
[-root] Suboption of -reassign_power. Redistribute power in leaf
instances in the specified hierarchical instance. By default, the
hierarchical instance specified with -inst option is considered.
[-module] Suboption of -reassign_power. Specify the module(s) for
power redistribution.
[-levels] Suboption of -module. Specify the module level(s). Default is 0.
[-power_domain] Suboption of -reassign_power. Redistribute power in leaf
instances in the specified power domain.
[-clock_domain] Suboption of -reassign_power. Redistribute power in leaf
instances in the specified clock domain.
[-power_rail] Suboption of -reassign_power. Specify the power rail for
power redistribution. The default group is dont care.
[-rtl_type] Suboption of -reassign_power. Specify the RTL type(s) for
power redistribution. The default group is any.
[-rtl_group] Suboption of -reassign_power. Specify the RTL group(s) for
power redistribution. The default group is any.
[-name] Suboption of -reassign_power. Consider leaf instances
matching the specified pattern.
[-cell] Suboption of -reassign_power. Redistribute leaf instances
mapped to cell matching the specified pattern.

September 2017 244 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_power

[-lib] Suboption of -reassign_power. Redistribute leaf instances


mapped to cell in library matching the specified pattern.
[-nocase] Suboption of -lib. Perform case-insensitive name match.
[-invert] Suboption of -lib. Invert name match.
[-by_hierarchy] Report power by hierarchy. The hierarchy name is always
displayed as the rightmost column in the report.
[-levels] Suboption of -by_hierarchy. Number of levels to report.
Default is 2.
[-min_leaf_cnt] Suboption of -by_hierarchy. Skip hierarchies with leaf cells
less than the specified value.
[-cols] Suboption of -by_hierarchy. Columns to report. Default
columns are

cells pct_cells leakage internal switching


total level hier
[-sort_by] Suboption of -by_hierarchy. Sort the report based on the
specified parameter.
[-indent_inst] Suboption of -by_hierarchy. Indentation to report for the
instance. By default, full inst path is reported.
[-by_leaf_instance] Report power by leaf instance (equivalent of Genus
report_power –flat command)
[-rtl_type] Suboption for –by_leaf_instance. Used to select the type of
leaf instance for reporting.
[-rtl_group] Suboption for –by_leaf_instance. Used to select the type of
leaf instance for reporting. Each RTL group above is mapped to
a set of RTL types. Mappings of these RTL groups to RTL types
are saved in the global Tcl variable
RTLS_CellInfo(group,<group_name>).
[-leaf] Another suboption for –by_leaf_instance directing Joules to
treat either a macro (for example, adder, multiplier) or gate
(library element) as the leaf instance.
[-name] Suboption for –by_leaf_instance. Used to match the leaf
instance by name (using glob expression), case insensitive
match, and inverting the match.
[-nocase] Suboption of -name. Case sensitive name match.

September 2017 245 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_power

[-invert] Suboption of -name. Filter out names that match the pattern and
return those that do not.
[-cols] Suboption for –by_leaf_instance. Columns to report.
Default columns that are reported are:

leakage internal switching total leaf


[-sort_by] Suboption for –by_leaf_instance. If multiple tables are
displayed (for example, for several hierarchical instances), sort
the order in which the tables are displayed by the specified
category (register, memory, logic, clock, etc.) and optionally
power type (leakage, internal, switching). By default, the tables
are unsorted.
[-increasing] Suboption of -sort_by.

Sort by increasing order. If not specified, the data is sorted in


decreasing order.
[-by_rail] Report power dissipation for each rail. The default is dont care.
[-by_tiles] Generate Power Profile By Tile (PPBT).
[-style] Suboption of -by_tiles. Specify style of power reporting.
Default style is transient.
[-cols] Suboption of -by_tiles. Specify column(s) to report. By
default, Total column is reported.
[-unit] Specify unit for power profile. W (default) = Watt, mW = milliWatt,
uW = microWatt, nW = nanoWatt.
[-format] Specify the format of the report data. The default format is %.5e.
[-header] Generate report header. Default is false.
[-skip_port_switching_power]

If specified, the primary ports' switching power is not added to


the switching power section
[>|-out] Save the power report in the specified file. If –append is
specified, append to the file instead of overwriting it (which is
default).
[-widget] Display the output in form of GUI widget.

September 2017 246 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_power

Example(s)
■ report_power ;# report power for top level design(s)
■ report_power -frames /stim#1/frame#1 {/stim#1/frame#[5:8]}
■ report_power -module cpu_10bit__fsm
■ report_power -inst /cpu_10bit/DP -levels 1
■ report_power -inst /cpu_10bit/FSM -level 1 -unit mW -format %.5f

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 247 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - plot_power_profile

plot_power_profile
If you have extracted multiple frames from a stimulus and run the compute_power command
in time-based mode, you can view the power profile over time using the
plot_power_profile command. The power profile plot assumes that the specified SDB
frames are contiguous in time.

Syntax
plot_power_profile \
[-stims {<stim_id>}+]
[-frames {<frame_id>|<frame_range>}+]
[-inst <inst>+]
[-module {<module-name>}+]
[-levels <levels>|all]
[-clock_domain {<prim-clock-net>}+]
[-power_domain {<domain_name>}+]
[-power_mode {<power_mode>}+]
[-power_rail {<power_rail>}]
[-category {memory|register|flop|latch|logic|bbox|clock|pad|pm}+]
[-types {leakage|internal|switching|dynamic|total}+]
[-unit W|mW|uW|nW]
[-xkey simtime|frame_id]
[-format fsdb|shm|gnuplot|png]
[>|-out <f_dat>]

September 2017 248 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - plot_power_profile

Options and Arguments

[-h] Displays help for all options.


[-stims] Stim ID for power profile display. By default, first SDB stim is
considered.
[-frames] Specify list of frames for power profile display. The list can
include individual frames (for example, /stim#1/frame#1) or
range of frames (for example, {/stim#1/frame#[2:4]}).

The specified frames must be contiguous.


[-inst] List of hierarchical or leaf instances for which power profile will
be displayed. By default, the plot will have a line for each
specified instance.
[-module] If specified, all instances of the specified module(s) are used for
the plot.
[-levels] A suboption that applies to –inst or –module options. If
specified, all children hierarchical instances upto the specified
level are used for the plot. The default level considered is 0.
[-clock_domain] View the power profile of all elements in the domain of the
specified clocks.
[-power_domain] View the power profile for specified list of power domains as
defined in the CPF/1801 power intent.
[-power_mode] Plot power profile for the specified power mode.
[-power_rail] Plot power profile for the specified power rail.
[-category] If specified, the plot will contain a line for each specified
category. The category will be displayed for each hierarchy.

For FSDB or SHM formats (set using -format option), all


categories are considered by default.

September 2017 249 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - plot_power_profile

[-types] If specified, the plot will contain a line for each specified power
type.

The number of lines in the plot is a cross product of

(# instances or power/clock domains) x (# of


categories) x (# of power types)

The specified power type will be shown for all the hierarchies and
the categories within each hierarchy.

For FSDB or SHM formats (set using -format option), all power
types are considered by default.
[-unit] Specify unit for power profile. W (default) = Watt, mW = milliWatt,
uW = microWatt, nW = nanoWatt.
[-xkey] Show the value specified with this option on X axis. By default,
simtime is displayed on X axis.
[-format] Specify the plotting program to use. Valid values are:
■ gnuplot (default format)
■ PNG
■ FSDB (FastSignal Database) - a binary format (fsdb);
output can be viewed using Verdi waveform viewer.
■ SHM (Simulation History Manager) - a binary format (*.trn
*.shm); output can be viewed using the NCSim simvision
utility.
[>|-out] Save the power report in the specified file. By default, the output
is saved in <work_dir>/
joules_waveform_pwr.<format>

Example(s)
■ plot_power_profile -frames /stim#1/frame#1 {/stim#1/frame#[2:9]}
■ plot_power_profile -category memory register logic clock
■ plot_power_profile -types internal switching
■ plot_power_profile -inst [get_insts -rtl_type hier -levels 1:1]
■ plot_power_profile -clock_domain /cpu_10bit/clk

September 2017 250 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - plot_power_profile

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 251 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - dump_power_profile

dump_power_profile
Profiles all power types on all categories for all the sub-hierarchies for a given design
instance.

Syntax
dump_power_profile \
[-root <root_inst>+]
[-levels <depth_from_root>]
[-rtl_type {hier|bbox|memory|register|add|sub|mult|div|decoder|comp|shift}+]
[-stims {<stim_id>}+]
[-frames {<frame_id>|<frame_range>}+]
[-unit W|mW|uW|nW]
[-xkey simtime|frame_id]
[-format fsdb|shm]
[>|-out <f_dat>]

September 2017 252 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - dump_power_profile

Options and Arguments

[-h] Displays help for all options.


[-root] Specify the list of hier or leaf instances.
[-levels] Sub-option of -root. Specify the number of levels from the root.
By default, the entire hierarchy is considered.
[-rtl_type] Specify the RTL type for power profile.
[-stims] List of stims for power profile display. By default, first SDB stim
is considered.
[-frames] Specify list of frames for power profile display.

The specified frames must be contiguous.


[-unit] Specify unit for power profile. W (default) = Watt, mW = milliWatt,
uW = microWatt, nW = nanoWatt.
[-xkey] Show the value specified with this option on X axis. By default,
simtime is displayed on X axis.
[-format] Specify the plotting format to use. Valid values are:
■ FSDB (FastSignal Database) - a binary format (fsdb);
output can be viewed using Verdi waveform viewer.
■ SHM (Simulation History Manager) - a binary format (*.trn
*.shm); output can be viewed using the NCSim simvision
utility.
[>|-out] Save the power report in the specified file. By default, the output
is saved in <work_dir>/
joules_waveform_pwr.<format>

Example(s)
■ dump_power_profile -frames /stim#1/frame#1 {/stim#1/frame#[2:9]}
■ dump_power_profile -root [get_insts -rtl_type hier]

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 253 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - dump_power_profile

Also See

Generating SHM/FSDB to View Power/Activity Profiles in Joules User Guide.

September 2017 254 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - dump_activity_profile

dump_activity_profile
Profiles all power types on all categories for all the sub-hierarchies for a given design
instance.

Syntax
dump_activity_profile \
[-root <root_inst>+]
[-levels <depth_from_root>]
[-rtl_type {hier|bbox|memory|register|add|sub|mult|div|decoder|comp|shift}+]
[-stims {<stim_id>}+]
[-frames {<frame_id>|<frame_range>}+]
[-xkey simtime|frame_id]
[-format fsdb|shm]
[>|-out <f_dat>]

September 2017 255 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - dump_activity_profile

Options and Arguments

[-h] Displays help for all options.


[-root] Specify the list of hierarchical or leaf instances. The default is
root.
[-levels] Sub-option of -root. Specify the number of levels from the root.
By default, the entire hierarchy is considered.
[-rtl_type] Specify the RTL type for activity profile. The default is any.
[-stims] List of stims for activity profile display. By default, first SDB stim
is considered.
[-frames] Specify list of frames for power activity display.

The specified frames must be contiguous.


[-xkey] Show the value specified with this option on X axis. By default,
simtime is displayed on X axis.
[-format] Specify the plotting format to use. Valid values are:
■ FSDB (FastSignal Database) - a binary format (fsdb);
output can be viewed using Verdi waveform viewer.
■ SHM (Simulation History Manager) - a binary format (*.trn
*.shm); output can be viewed using the NCSim simvision
utility.
[>|-out] Save the activity report in the specified file. By default, the output
is saved in <work_dir>/
joules_waveform_actv.<format>

Example(s)
■ dump_activity_profile -frames /stim#1/frame#1 {/stim#1/frame#[2:9]}
■ dump_activity_profile -root [get_insts -rtl_type hier]

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 256 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - dump_activity_profile

Also See

Generating SHM/FSDB to View Power/Activity Profiles in Joules User Guide.

September 2017 257 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_ppa

report_ppa
Reports power, performance, and area characteristics of key design elements.

Syntax
report_ppa \
[-root {<root-inst-path>}+]
[-module {<module-name>}+]
[>|-out <output-file-name>] [-append]
[-widget]

Options and Arguments

[-h] Displays help for all options.


[-root] List of root hierarchical instances for which the PPA report will be
generated.
[-module] List of hierarchical modules. All instances of the module will be
used for reporting.
[>|-out] Save the report in the specified file. If –append option is
specified, append to the file instead of overwriting it (which is
default).
[-append] Append to the specified file.
[-widget] Display the output in form of GUI widget.

Example(s)
■ report_ppa -out sample1

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 258 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - set_inst_power

set_inst_power
Defines the specified power on instances. You must specify this command before
report_power.

Syntax
set_inst_power [-inst <inst>]
[-frames <frame_id>]
[-stims <stim_id> ]
[-power {leakage internal switching <clock_pin>}]
[-clear]

Options and Arguments

[-h] Displays help for all options.


[-inst] Set the power for the specified instance.
[-frames] Frame ID for the instance. By default, all frames in SDB are
considered. Specify this option only if you are using
compute_power in time_based mode.

Specify -1 to use the computed power numbers for leaf-level


instances. For hierarchical instances, a negative value
specification is an error.
[-stims] Stim ID for the instance. By default, all stims in SDB are
considered.
[-power] Specify the target leakage power (in nW) for the clock pin.
[-clear] Ignore all previous power values in the current session.

Example(s)
■ set_inst_power -inst /cpu_10bit/FSM -power { 1.0 3.4 2.1 0.01 }
■ set_inst_power -inst /cpu_10bit/DP/ALU -frames /stim#1/frame#1 -power { 0.0 0.0
0.0 }
■ set_inst_power -inst /cpu_10bit/RAM_64x10/RAM_64x10 -power { -1.0 3.4 2.1 }
■ set_inst_power -clear

September 2017 259 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - set_inst_power

Return Value

0 for success, 1 indicates failure in execution.

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 260 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - collate_power

collate_power
Computes power of the blocks with specified settings and collates power at SoC level.

Syntax
collate_power \
-reset
-set
[-inst {<inst>}+]
[-module {<module-name>}+]
[-levels <levels>|all]
[-stims {<stim_id>}+]
[-frames {<frame_id>|<frame_range>}+]
[-weights {<val>+}]
[-power_mode {<power_mode>}+]
[-power_rail {<power_rail>}+]
[-scale_freq {<factor>]
[-scale_power
{<category>=<leakage_factor>:<internal_factor>:<switching_factor>}
+]
[-assign2clk {memory|flop|latch}+]
-report
[-by_category]
[-cols {leakage|internal|switching|total}+]
[-category {memory|register|latch|logic|bbox|clock|pad|pm}+]
[-sort_by <category>[:<type>]]
[-by_hierarchy]
[-inst <root>]
[-levels <num>]
[-cols
{cells|pct_cells|flops|pct_flops|area|pct_area|dynamic|hier|level|
leakage|internal|switching|total}+]
[-indent_inst]
[-tab]
[-sort_by leakage|internal|switching|total]
[-unit W|mW|uW|nW]
[-format <format>]
[>|-out <f_rpt>] [-append]
[-widget]

September 2017 261 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - collate_power

Options and Arguments

[-h] Displays help for all options.


-reset Initialize or reset collate_power settings.
-set Specify this option to set the power analysis options.
[-inst] Suboption of -set. List of hierarchical blocks.
[-module] Suboption of -set. List of module names.
[-levels] Suboption of -module. Design levels for power analysis. The
default level is 0.
[-stims] Suboption of -set. List of stim IDs for power analysis. By
default, the first SDB stim is considered.
[-frames] Suboption of -set. Specify either a list or range of frame IDs for
power analysis. By default, all SDB frames are considered.
[-weights] Suboption of -frames. Specify weight for each specified stim or
frame. Default value is the duration of each frame.

Relative weight for each frame is calculated as:


weight(frame_id)/
sum_of_weights_of_all_frame_ids
[-power_mode] Suboption of -set. List of power modes. The default mode is
dont care.
[-power_rail] Suboption of -set. List of power rails. Default is all.
[-scale_freq] Suboption of -set. Scale frequency of -inst hierarchies by
specified <factor>.
[-scale_power] Suboption of -set. Default is all=1.0:1.0:1.0
[-assign2clk] Suboption of -set. Allocate memory, flop, or latch clock pin
power to clock network.
-report Report the collated power.
[-by_category] Suboption of -report. Report by power category.
[-cols] Suboption of -by_category. Specify the columns is the
collated power report. Default columns are:

leakage internal switching total


[-category] Suboption of -by_category. Specify the power categories to
report. By default, all categories are reported.

September 2017 262 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - collate_power

[-sort_by] Suboption of -by_category. Sort the power reported by the


specified <category> [:<type> ]. By default, the report is
sorted by all:total.
[-by_hierarchy] Report hierarchical power table.
[-inst] Suboption of -by_hierarchy. Specify the instance to report.
Default is design root.
[-levels] Suboption of -by_hierarchy. Specify the levels down from -
inst to report. Default is 2 levels.
[-cols] Suboption of -by_hierarchy. Specify the columns to show in
power table. Default columns are:

cells pct_cells leakage internal switching


total level hier
[-indent_inst] Suboption of -by_hierarchy. Shows indented inst
basenames to reflect hierarchy. By default, full inst path is
displayed
[-tab] Suboption of -by_hierarchy. Shows tabbed data. By default,
full inst path is displayed.
[-sort_by] Suboption of -by_hierarchy. Specify the criteria to sort the
power table. By default, it is unsorted.
[-unit] Suboption of -report. Specify unit for collate power. W
(default) = Watt, mW = milliWatt, uW = microWatt, nW =
nanoWatt.
[-format] Suboption of -report. Specify the format for reporting. The
default format is %.5e.
[>|-out] Suboption of -report. Specify the name of the output file
name.
[-append] Suboption of -report. Append to the file specified with –out
option.
[-widget] Suboption of -report. Display the output in form of GUI
widget.

Example(s)

Power collation at the SOC level is a two-step process:


■ # Step 1: initialize collate_power

September 2017 263 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - collate_power

collate_power -reset ;# initialize


■ # Step 2: specify power analysis options per block
collate_power -set -inst /cpu_10bit -frames {/stim#1/frame#[5:9]} -power_mode
pwr_init
collate_power -set -inst /cpu_10bit/FSM -stim /stim#1
collate_power -set -inst /cpu_10bit/RAM_64x10 -stim /stim#1 -power_mode
pwr_mem_on
collate_power -set -inst /cpu_10bit/DP -stim /stim#2 -power_mode pwr_alu_on
■ # Step 3: report collated power
collate_power -report -unit mW -format {%.3f}

Return Value

0 for success, 1 indicates failure in execution.

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 264 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_net_switching

report_net_switching

Reports property of nets in specified design hierarchy, clock_domain, or power_domain.


These include nets connected to output pins of leaf instances contained in the specified
hierarchy, clock or power domain, and nets connected to input, inout, and output ports of the
specified design hierarchy or power_domain.

Syntax:
report_net_switching \
[-stim {<stim_id>}+]
[-frame {<frame_id>|<frame_range>}+]
[-power_mode {<power_mode>}+]
[-inst {<root>}+]
[-clock_domain {<prim-clock-net>}+]
[-power_domain {<domain-name>}+]
[-skip_ports in|out|inout]
[-cols
{fanout|drivers|wire_cap|wire_res|sink_cap|load_cap|voltage|freq|power}+]
[-min_fanout <min>]
[-max_fanout <min>]
[-cap_worst <cnt>]
[-sort_by fanout|wire_res|wire_cap|sink_cap|load_cap|voltage|freq|power]
[-skip_header]
[-spef_annotated_nets]
[>|-out <f_rpt>]
[-append]
[-widget]

September 2017 265 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_net_switching

Options and Arguments

[-h] Displays help for all keywords.


[-stim] Stimulus for which nets with required properties will be reported.
Note: If multiple stimuli are specified and one (or more) of the
stims does not exist, command will generate the report for only
the valid stims.

If no stimulus is specified, then the command will generate the


report for stimulus with ID '/stim#1'.
[-frame] Frame for which data will be reported. Complete frame ID needs
to be mentioned with the option. You can specify multiple frames
or a range of frames for this option.

By default, the command will report data as the average of all the
frames for a given stimulus, that is, /frame#0 of given stimulus.
[-power_mode] Power mode based on which the nets will be reported.

If not specified, the reported data will be independent of all


power_mode.

The command supports both formats of specifying power_mode


with this option, that is, with/without VDIRs.
[-inst] Generate report for the specified instance(s).Instance name can
be hierarchical name or path with VDIRs.

If no instance is specified, the command reports the data for the


current scope.
[-clock_domain] Generate data based on primary clock domain(s).
[-power_domain] Generate data based on power domain(s) for the net.
[-skip_ports] Suboption of -power_domain. If specified, skip the hier
boundary ports.
[-cols] Columns to include in the report. By default, the following
columns are considered:

-cols fanout wire_cap sink_cap load_cap freq


power
[-min_fanout] Report nets with fanout greater than or equal to the specified
value.

September 2017 266 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_net_switching

[-max_fanout] Report nets with fanout less than or equal to the specified
value.
[-cap_worst] Report nets with worst load capacitance.
[-sort_by] Sort the reported data based on specified parameter. By
default, the data is sorted by fanout.
[-skip_header] Skip the header in the generated output. By default, it is set to
false.
[-spef_annotated_nets] If specified, displays the distribution of SPEF annotated nets.
Default is false.
[>|-out] Save report in the specified file.
[-append] Suboption of -out. Append to the specified file.
[-widget] Display the output in form of GUI widget.

Example(s)
■ report_net_switching -hierarchical -out cpu_10bit.all_nets.rpt
■ report_net_switching /cpu_10bit/DP/ALU -cap_worst 20 -sort_by load_cap ; #
report top 20 nets with worst load in /cpu_10bit/DP/ALU
■ report_net_switching -min_fanout 20 -max_fanout 64 ; # report nets with: fanout
greater than 10, and less than 64

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 267 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - tune_ple_from_spef

tune_ple_from_spef
Tunes the physical layout estimation (PLE) model using the specified SPEF file. This
command should be run post synthesis.

Syntax
tune_ple_from_spef
[-f_spef] <f_spef>
[-refine_net_cap {memory|clock}+]
[-help|-h]

Options and Arguments

[-h] Displays help for all options.


[-f_spef] The SPEF file to be used for tuning the PLE model. You can also
specify .gz files.
[-refine_net_cap] Refine memory and clock net caps.

Example(s)
■ tune_ple_from_spef /full/path/to/design1.spef
■ tune_ple_from_spef -f_spef /another/gz/spef/file/design2.spef.gz -refine
memory clock

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Simulation, Simulation Read, and SDB Creation in Joules User Guide.

September 2017 268 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - sweep_power

sweep_power
Executes power sweep using the specified parameters. The effect of the command is
cumulative; in case of conflict, the last run of the command overrides.

Syntax
sweep_power \
[-reset]
[-axis freq|volt|temp]
[-effort fast|accurate]
[-handle <sweep_axis_handle>+]
[-sdc_name <sdc_name>+] (
[-max_val <max_val>]
[-min_val <min_val>]
[-incr <incr>|-points <N>]
[-auto_sweep]
[-num_clocks <N>]
[-num_roots <N>]
[-points <N>]
[-set] )
[-plot]
[-by_clock_domain]
[-by_hierarchy]
[-root <root>+]
[-power_domain <pd>+]
[-stims <stim>+]
[-max_points <N>]
[-show_sweep_table]
[-shrink_range <min>:<max>]
[-location top_left|bot_left|bot_right|top_right]
[-unit W|mW|uW|nW]
[-png <f_png>]

September 2017 269 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - sweep_power

Options and Arguments

[-h] Displays help for all options.


[-reset] Reset sweep_power settings.
[-axis] Specify the sweep axis. The default axis is freq.
[-effort] Specify the sweep effort. The default effort is fast.
[-handle] Specify the sweep axis handle. While the default handle is
fastest clock, for freq sweep, the handle is clock pin/net.
[-sdc_name] Specify the list of SDC clock names. This option applies only to
-axis freq.
[-max_val] Specify the maximum value of the specified sweep axis.
[-min_val] Specify the minimum value of the specified sweep axis.
[-incr|-points] Perform sweep in increments of the specified value (-incr) or
number of specified points (-points)
[-auto_sweep] Perform auto sweep of top 3 clocks, top 3 blocks
[-num_clocks] Suboption of -auto_sweep. Specify the number of top clocks.
By default, it is 3.
[-num_roots] Suboption of -auto_sweep. Specify the number of top
hierarchies by power. By default, it is 3
[-points] Suboption of -auto_sweep. Specify the number of sweep
points. By default, it is 10
[-set] Record settings for power sweep. See example below for sample
usage.
[-plot] Sweep power and plot the data. See example below for sample
usage.
[-by_clock_domain] Suboption of -plot. Plot data by clock domain.
[-by_hierarchy] Suboption of -plot. Plot data by hierarchy.
[-root] Suboption of -by_hierarchy. Show a line in the plot for the
specified root. By default, the design root is considered.
[-power_domain] Suboption of -by_hierarchy. Show a line in the plot for the
specified power domain.
[-stims] Suboption of -plot. In the plot, show duplicate lines for each
stim. By default, all stims are considered.

September 2017 270 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - sweep_power

[-max_points] Suboption of -plot. Specify the maximum number of points per


line.
[-show_sweep_table] Suboption of -plot. Show freq sweep table in plot. By default,
the table is displayed in stdout.
[-shrink_range] Suboption of -show_sweep_table. Specify the minimum/
maximum shrink of the image. The default shrink range is
2.0:4.5.
[-location] Suboption of -show_sweep_table. Specify the location of the
image on display. By default, the image is displayed on top_left
side.
[-unit] Suboption of -plot. Specify the Y-axis power unit. Default unit
is mW.
[-png] Suboption of -plot. Save the plot output in the specified PNG
file.

Example(s)
■ # reset sweep_power settings
sweep_power -reset
■ # sweep /cpu_10bit/clk freq from 500MHz to 250MHz in increments of 50MHz
sweep_power -set -axis freq -max_val 500e6 -min_val 250e6 -incr 50e6 -handle /
cpu_10bit/clk
■ # sweep voltage from 1.08V downto 0.84V in increments of 0.04V
sweep_power -set -axis volt -max_val 1.08 -min_val 0.84 -incr 0.04 -handle VDD
;# coming soon
■ # sweep power by clock_domain and plot
sweep_power -plot -by_clock_domain
■ # sweep power by hierarchy and plot
sweep_power -plot -by_hier -root /cpu_10bit/DP/ALU /cpu_10bit/FSM -
show_sweep_table
■ # plot with xkey = volt, zkey = freq
sweep_power -plot -xkey volt -zkey freq ;# coming soon
■ # auto sweep and plot
sweep_power -auto_sweep -num_roots 2 -num_points 5

Return Value

0 for success, 1 indicates failure in execution.

September 2017 271 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - sweep_power

Also See
■ Power Sweep in Joules User Guide.

September 2017 272 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - track_power

track_power
Creates, populates, reports, and plots power regression DB (PRDB) data.

Syntax
track_power \
-prdb_id <id>
[-create]
[-work_dir <work_dir>]
[-power_mode {<power_mode>}+]
[-power_rail {<power_rail>}]
[-assign2clk {memory|flop|latch}+]
[-save_db <d> <m> <w>]
[-record]
[-today <yyyy-dd-mm>]
[-get <obj_key>]
(<obj_key> =
config_file|work_dir|start_date|end_date|date_list|design|item_list|
item_id_list|item|item_id)
[-key_val <val>]
[-plot|-report]
[-start_date <start-date>]
[-end_date <end-date>]
[-category {memory|register|latch|logic|bbox|clock|pad|pm}+]
[-type {leakage|internal|switching|total}+]
[-ykey {<catg>[:<type>]}+]
(<catg> = memory|register|latch|logic|bbox|clock|pad|pm, default = all)
(<type> = leakage|internal|switching|total, default = total)
[-png <f_png>]
[-inst {<root>}+]
[-module {<module>}+]
[-levels <num>|all]
[-clock_domain {<prim-clock-net>}+]
[-power_domain {<domain-name>}+]
[-stims {<stim_id>}+]
[-frames {<frame_id>|<frame_range>}+]

September 2017 273 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - track_power

Options and Arguments

[-h] Displays help for all options.


-prdb_id Specify the PRDB ID (string) to be reported.
[-create] Create a new PRDB with specified ID.
[-work_dir] Suboption of -create. Specify the PRDB data directory; the
default directory is ./<id>_prdb_work.
[-power_mode] Suboption of -create. Specify the power mode for the PRDB.
The default mode is dont care.
[-power_rail] Suboption of -create. Specify the power rail for PRDB. Default
is dont care.
[-assign2clk] Suboption of -create. Allocate memory/flop/latch clock pin
power to clock network.
[-save_db] Suboption of -create. Save the PRDB in cron format: <d> =
day [1-31], <m> = month [1-12], <w> = day of week [1-7]
[-record] Record the current day’s regression data in PRDB.
[-today] Suboption of -record. Use the specified date to record instead
of the current day’s date.
[-get] Get the requested PRDB object. Some PRDB objects may
require <val>.
[-key_val] Suboption of -get. Some PRDB objects require <key_val>)

For example:

-get item_id -key_val PD_alu : get item_id for


PRDB object PD_alu
[-plot|-report] Specify whether to plot or report regression data.

For plot: x-axis = date, y-axis = power, line = inst or clock/power


domain item

For report: row = date, col = inst or clock/power domain item)


[-start_date] Suboption of -plot|report. Regression start date in yyyy-
mm-dd format.
[-end_date] Suboption of -plot|report. Regression end date in yyyy-
mm-dd format.

September 2017 274 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - track_power

[-category] Suboption of -plot|report. Specify the cell categories to plot/


report. Default is all.
[-type] Suboption of -plot|report. Specify the cell type(s) to plot/
report. Default is total.
[-ykey] Suboption of -plot|report. Specify the
<category>:<type> values to display on Y axis. By default,
all:total is displayed.
[-png] Suboption of -plot|report. Save the plot in the specified
PNG file.
[-inst] List of root instances. The default is design root
[-module] Report all instances of the specified module(s).
[-levels] This suboption applies to -inst|-module. The default level is
0.
[-clock_domain] Specify the clock domain(s) for the PRDB.
[-power_domain] Specify the power domain(s) for the PRDB.
[-stims] Specify the stim ID(s) for the PRDB. By default, all stimuli is
considered.
[-frames] Specify the frame ID for the stimuli. By default, frame#0 of the
specified stimuli is considered.

Example(s)
■ track_power -prdb_id cpu_10bit -create -work_dir cpu_10bit_prdb \
-inst /cpu_10bit -levels 1 -power_domain PD_alu -clock_domain /cpu_10bit/clk \
-save_db * * 7 ; # create PRDB of ID "cpu_10bit" and save db every sunday
■ track_power -prdb_id cpu_10bit -record ;# record today's data
■ track_power -prdb_id cpu_10bit -plot -inst /cpu_10bit -category register logic
clock -stim /stim#1 ; # plot/report PRDB history by category
■ track_power -prdb_id cpu_10bit -report -inst /cpu_10bit -type leakage internal
switching total -stim /stim#2 ; # report by power_type
■ track_power -prdb_id cpu_10bit -plot -inst /cpu_10bit /cpu_10bit/DP -
power_domain PD_alu -stim /stim#1 ; # plot by item (hierarchy, clock/power
domain)
■ track_power -prdb_id cpu_10bit -report -ykey register:internal logic:switching
-stim /stim#2 ; # report by mix of category X power_type

September 2017 275 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - track_power

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 276 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - get_power_rails

get_power_rails
Returns list of all power rails in the libraries used for the design.

Syntax
get_power_rails /
[-power_domain <pd_name>+]
[-power_format]
[-domain <lib_domain_name>+]
[-lib <lib_name>+]
[-cell <cell_name>+]
[-inst <inst_name>+]
[-ldb_libpath [/libraries/][<domain>/]<lib>+]
[-ldb_cellpath [/libraries/][<domain>/][<lib>/]<cell>+]

Options and Arguments

[-h] Displays help for all options.


[-power_domain] Specify the power domain name for reporting.
[-power_format] Specify the power format for reporting.
[-domain] Specify the library domain name for reporting.
[-lib] Specify the library name for reporting. By default, all libraries are
considered.
[-cell] Specify the cell name for reporting.
[-inst] Specify the instance name for reporting.
[-ldb_libpath] Specify full vdir path of the library.
[-ldb_cellpath] Specify full vdir path of the cell.

Example(s)
■ get_power_rails
■ get_power_rails -domain lib_1p08v
■ get_power_rails -lib slow -cell TLATX4

Return Value

-1 indicates failure in execution.

September 2017 277 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - get_power_rails

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 278 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - compute_logic_scale_factor

compute_logic_scale_factor
Computes scaling factor to dampen amplification of activity through logic cones due to activity
propagation.

Syntax
compute_logic_scale_factor \
[-root <root_inst>]
[-stim <stim>+]
[-power_domain <power_domain>]
[-clock_domain <clock_domain>]
[-levels <levels>|<min_level>:<max_level>]
[-tcl]
[-legacy]
[-out <f_rpt>]
[-f_script <f_script>]
[-apply]
[-return error|factor]

September 2017 279 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - compute_logic_scale_factor

Options and Arguments

[-h] Displays help for all options.


[-root] Specify the root hirarachy for scaling factor computation. By
default, design root is considered.
[-stim] Specify the stim IDs for scaling factor computation. By default,
average of all SDB stims is considered.
[-power_domain] Specify the power domains for scaling factor computation. By
default, all power domains are considered.
[-clock_domain] Specify the clock domains for scaling factor computation. By
default, all clock domains are considered.
[-levels] Specify the levels of hierarchies for computing scale factors. The
default level is 2. The level of design root is considered as 0.
[-tcl] Specify whether to use Tcl code. Default is yes.
[-legacy] Specify whether to use TUI for computing scale factors.
[-out] Specify the file name to save the output report.
[-f_script] Generate Tcl script to apply computed logic scale factors for leaf
hierarchies. Be default, no script is generated.
[-apply] Sub-option of -f_script. Source the <f_script> in session. By
default, it is set to false.
[-return] Return either an error message or list of following triples:
<factor>:<obj_type>:<obj_path>

Example(s)
■ compute_logic_scale_factor -out joules_work/compute_logic_scale_factor.rpt
■ compute_logic_scale_factor -root top -stim /stim#1
■ compute_logic_scale_factor -return factor -clock_domain /top/clk
■ compute_logic_scale_factor -power_domain PD_def

Return Value

0 indicates success, 1 indicates failure in execution.

September 2017 280 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - compute_logic_scale_factor

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 281 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_power_efficiency

report_power_efficiency
Reports power efficiencies for design components, such as for blocks, instances, clocks, and
interfaces.

Syntax
report_power_efficiency \
[-inst {<inst_path>}+]
[-indent_insts]
[-levels <num|all>]
[-show_zero_flop_hierarchies]
[-skip_unconnected_flops]
[-cols {flops cg toggles cg_eff dag_eff clk_eff level inst wasted_power
total_power clock_power seq_power logic_power eff_type}+]
[-module {<module>}+]
[-by_block]
[-by_enable]
[-by_leaf]
[-cols {flops cg toggles cg_eff dag_eff clk_eff bit_activity inst
wasted_power seq_power eff_type}+]
[-by_memory]
[-by_module]
[-by_tiles <rows>X<cols>]
[-clock_domain {<prim-clock-net>}+]
[-power_domain {<domain-name>}+]
[-stims {<stim_id>}+]
[-frames {<frame_id>|<frame_range>}+]
[-show_power_data <abs|pct|both>]
[-unit W|mW|uW|nW]
[-power_type leakage|internal|dynamic|total]
[>|-out <output_file_name>]
[-header]
[-append]

September 2017 282 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_power_efficiency

Options and Arguments

[-h] Displays help for all options.


[-inst] List of hierarchical instances. By default, design root is
considered.
[-indent_insts] Sub-option of -inst. If specified, power efficiency is reported in
indented fashion. By default, full instance path is displayed.
[-levels] Sub-option of -inst. If specified, power efficiency is reported
for the specified number of hierarchy levels. By default, all
downstream hierarchies are reported.
[-show_zero_flop_hierarchies]

Sub-option of -inst. If specified, hierarchies without any flops


are also reported. By default, hierarchies with no flops are
discarded.
[-skip_unconnected_flops] Sub-option of -inst. If specified, unconnected flops are not
reported. By default, unconnected flops, for example, spare
flops, are considered.
[-cols] Sub-option of -inst. Specify the columns to report. By default,
the following columns are reported:

flops cg toggles cg_eff dag_eff clk_eff level


inst
[-module] Report power efficiency for the specified list of modules. Default
is none.
[-by_block] Report power efficiency by block interfaces. By default, this
option is set to false.
[-by_enable] Report power efficiency by enable. By default, power efficiency
is reported by register.
[-by_leaf] Report power efficiency for leaf instances. By default, power
efficiency is reported by hierarchies.
[-cols] Sub-option of -by_leaf. Specify the columns to report. By
default, the following columns are reported:

flops cg toggles cg_eff dag_eff clk_eff


bit_activity inst
[-by_memory] Report power efficiency by memory instance. By default, power
efficiency is reported by flops.

September 2017 283 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_power_efficiency

[-by_module] Report power efficiency by modules. By default, power efficiency


is reported by hierarchical instances.
[-by_tiles] Report power efficiency by tiles. By default, this option is set to
false.
[-clock_domain] Report power efficiency for domain of the specified clock(s).
[-power_domain] Report power efficiency for specified power domains.
[-stims] List of stimulus IDs. By default, all SDB stimulus is considered.
[-frames] List of frames (frame ID or range of frames). By default, all SDB
frames are considered.
[-show_power_data] Specify whether to report power values in absolute value or
percentage or both. By default, power values are not reported.
[-unit] Sub-option of -show_power_data. Specify unit of reported
power values. Default unit is the value of attribute power_unit.
[-power_type] Sub-option of -show_power_data. Specify type of power for
reporting power data. Default value is total.
[-out] Redirect or save power efficiency data to the specified file.
[-header] Sub-option of -out. Specify header for the output file. By
default, this is set to false.
[-append] Sub-option of -out. Append results to the output file.

Example(s)
■ report_power_efficiency ; # report power efficiency by hierarchy starting from
the design root
■ report_power_efficiency -inst /top/blk1 ; # report power efficiency by
hierarchy starting from /top/blk1
■ report_power_efficiency -inst /top/blk1 -indent_insts; # report power
efficiency by hierarchy in indented fashion
■ report_power_efficiency -inst /top/blk1 -levels 2 ; # report power efficiency
by hierarchy for 2 levels starting from /top/blk1
■ report_power_efficiency -inst /top/blk1 -by_leaf ; # report power efficiency
for leaf instances in /top/blk1
■ report_power_efficiency -stims {/stim#1 /stim#2} ; # report power efficiency
based on the two stim ids
■ report_power_efficiency -frames {/stim#1/frame#1 /stim#1/frame#10]} ; # report
power efficiency based on the specified frames

September 2017 284 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - report_power_efficiency

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 285 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Power Analysis and PPA Reporting Commands - compute_efficiency

compute_efficiency
Performs efficiency computation once activities have been propagated or power has been
computed.

Syntax
compute_efficiency \
[-mode average|time_based]
[-stims {<stim_id>}+]
[-frames {<frame_id>|<frame_range>}+]

Options and Arguments

[-h] Displays help for all options.


[-mode] Mode to compute efficiency. Default mode is average.
[-stims] List of stimulus ID(s) for computing efficiency. By default, all SDB
stimulus is considered.
[-frames] List or frame ID(s) or range of frames for computing efficiency.
By default, all SDB frames are considered.

Example(s)
■ compute_efficiency
■ compute_efficiency -mode average
■ compute_efficiency -mode time_based
■ compute_efficiency -mode average -stims {/stim#1 /stim#2}
■ compute_efficiency -mode time_based -stims {/stim#1 /stim#2} -frames {/frame#1
/frame#2}

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 286 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

10
Design Query and Navigation Commands

■ get_inst_area
■ get_inst_delay
■ get_seqs
■ report_design_hierarchy
■ get_insts
■ get_inst_slack
■ get_inst_power
■ get_inst_pins
■ get_clock_info
■ get_clock_trees
■ get_combs
■ get_design_clocks
■ plot_slack_profile
■ plot_activity_distribution
■ get_icgc_info
■ report_icgc_efficiency
■ report_icgc_scrub
■ plot_net_distribution
■ plot_inst_distribution
■ report_area
■ report_design_stats

September 2017 287 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands -

September 2017 288 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_inst_area

get_inst_area
Returns (i) cell area, (ii) routing area, and (iii) total area for the specified leaf or hierarchical
instance.

Syntax
get_inst_area [-inst] <inst>

Options and Arguments

[-h] Displays help for all options.


[-inst] Hierarchical or leaf instance.

Example(s)
■ get_inst_area /cpu_10bit/FSM

Return Value

-1 indicates failure in execution.

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 289 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_inst_delay

get_inst_delay
Returns: (i) worst pin to pin (or port to port) delay, and (ii) worst delay arc for the specified
hierarchical or leaf instance.

Syntax
get_inst_delay <inst>

Options and Arguments

[-h] Displays help for all options.


<inst> Hierarchical or leaf instance.

Example(s)
■ get_inst_delay /cpu_10bit/FSM ;
#returns 45.0 /cpu_10bit/FSM/ovrfl->/cpu_10bit/FSM/pc_mux_sel

Return Value

-1 indicates failure in execution.

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 290 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_seqs

get_seqs
Returns all sequential instances such as flops, latches, and ICGCs

Syntax
get_seqs \
[-root] <root_inst>
[-module <module>]
[-levels <num>]
[-rtl_type memory|register|flop|latch|icgc]
[-clock_domain <clock_pin_or_net>]
[-power_domain <power_domain_name>]
[-name <glob>]
[-cell <glob>]
[-nocase]
[-invert]
[-wns <val>[:<val2>]]
[-width num]
[-op eq|gt|lt|ge|le]
[-bit_blast]
[-cg_status gated|enabled_but_ungated|not_enabled]

September 2017 291 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_seqs

Options and Arguments

[-h] Displays help for all options.


[-root] Return sequential instances in the specified root instance.
[-module] Return sequential instances in the specified module. The
command searches all instances of the specified module.
[-levels] Suboption of -module. Search the specified number of levels
in the hierarchy.
[-rtl_type] Return the sequential instances in the specified RTL type.
[-clock_domain] Return the sequential instances in the specified clock domain.
[-power_domain] Return the sequential instances in the specified power domain.
[-name] Return the sequential instances with instance name matching
the specified pattern.
[-cell] Return the sequential instances mapped with cells matching
the specified pattern.
[-nocase] Suboption of -cell. Perform case insensitive match.
[-invert] Suboption of -cell. Filters out names that match the pattern
and return those that do not.
[-wns] Return sequential instances with slack less than or equal to the
specified value (in ps) within the specified range.
[-width] Return sequential instances of the specified width.
[-op] Suboption of -width. Return entries with width of <op>
<num>. For example, to get sequential instances with width of
less than 10, specify:

get_seqs -width lt 10
[-bit_blast] Return bit-blasted list of sequential instances.
[-cg_status] Return sequential instances with the specified clock gate
status. The default status is dont care.

Example(s)
■ get_seqs -rtl_type register -root /cpu_10bit/FSM ;# get seqs in hierarchy /
cpu_10bit/FSM
■ get_seqs -rtl_type register -module cpu_10bit__fsm ;# get seqs in module /
cpu_10bit/FSM

September 2017 292 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_seqs

■ get_seqs -rtl_type register -name *DFT* ;# get seqs matching DFT in name
■ get_seqs -rtl_type register -clock_domain /cpu_10bit/clk ;# get seqs in domain
of clock /cpu_10bit/clk
■ get_seqs -rtl_type register -cg_status gated ;# get clock_gated seqs

Return Value

-1 indicates failure in execution.

Also See
■ Activity Processing and Reporting in Joules User Guide.

September 2017 293 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - report_design_hierarchy

report_design_hierarchy
Reports the specified hierarchy of a design in text format. The command reports only
hierarchical instances.

Syntax
report_design_hierarchy \
[-root {<root-inst-path>}+]
[-module {<module-name>}+]
[-levels <num>]
[-out <output-file-name>] [-append]

Options and Arguments

[-h] Displays help for all options.


[-root] Root instance path.
[-module] Module name.
[-levels] Levels of hierarchies to report. By default, three levels are
reported.
[-out] Save the output in the specified file. If –append is specified,
append to the file instead of overwriting it (which is default).
[-append] Append to the file specified with –out option.

Example(s)
■ report_design_hierarchy -out output_file # Writes the design hierarchy to
output_file
■ report_design_hierarchy -levels 10 # Writes the first 10 levels of design
hierarchy to stdout

Return Value

0 indicates success, 1 indicates failure in execution.

Also See

Clock Gating in Joules User Guide.

September 2017 294 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_insts

get_insts
Returns the list of hierarchical/leaf instances based on specified parameters.

Syntax
get_insts \
[-root <root_inst>+ | -clk_tree <clk_tree_name>+]
[-levels <levels>|<min_level>:<max_level>]
[-clock_domain <prim_clock_net>]
[-power_domain <power_domain_name>]
[-power_rails <power_rail_name>+]
[-rtl_type
{hier|bbox|memory|register|flop|latch|icgc|add|sub|mult|div|decoder|comp|
shift|mmux|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|mux|tri|tie|pad|
fadd|hadd|delay|iso|srpg|ls|els|ps}+]
[-rtl_group {seq|macro|alu|dpx|logic|pm}+]
[-leaf macro|gate|no]
[-name <glob>]
[-nocase]
[-cell <glob>]
[-lib <list>]
[-invert]
[-wns <val>[:<val2>]]
[-bit_blast]
[-lindex <idx>]
[-lrange <idx1> <idx2>]
[-count]
[-skip_clock_path]
[-iter]

September 2017 295 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_insts

Options and Arguments

[-h] Displays help for all options.


[-root] Get instances that are in the hierarchy of the specified list of
root instances.The command will accept instance name even if
it is specified without the -root option.
Note: By default, Joules assumes adders/dividers as leaf
instances. To see combinational instances inside adder/dividers,
specify -leaf gate with this option.
[-levels] Sub-option of -root. Specify either number of levels from the
root or a range of level to get instances. Default level is -1,
which means the entire design.
[-clock_domain] Return the list of instances which exist in the domain of the
specified clock.
[-power_domain] Return the list of instances that are part of the specified power
domain.
This option can return, at a time, list of instances that exist in a
single power domain. Multiple power domains are not accepted.
[-power_rails] Return the list of instances that have the specified power rails
defined.
[-rtl_type] Match instance type with the specified list of RTL types.
Supported RTL types are listed in syntax above.
This option can also accept a list, for example:
get_insts -rtl_type "ls iso"
[-rtl_group] Select the group from the set that map to a set of RTL types.
Mapping of these RTL groups to RTL types can be found in the
global Tcl variable,
RTLS_CellInfo(group,<group_name>). If this option is
specified, instances are matched with the list of specified RTL
groups. Mixing –rtl_type and –rtl_group is allowed.

September 2017 296 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_insts

[-leaf] Return the list of leaf-level instances.


Joules, by default, considers all RTL macros such as adder/
dividers in the design as leaf instances. Therefore, the default
value of leaf is macros.
To get a list of libcell level instances, specify -leaf gate.
To get a list of instances other than leaf instance, specify -leaf
no.
Note: The option does not work with a list.
[-name] Match instance name with the specified global pattern. You can
also specify wildcard (*).
–nocase is a suboption for case insensitive match
–invert is a suboption to invert the match.
To get a list of instances in a specific hierarchy, specify full
vname path, for example:
get_insts -name DP/ALU/div*
[-nocase] Suboption of -name. Perform case insensitive match.
[-cell] Match mapped cell name with the specified global pattern.
–nocase is a suboption for case insensitive match
–invert is a suboption to filter out names that match the
pattern and return those that do not.
Note: This option works only on mapped netlists.
[-lib] Match mapped cell library/domain/set with specified pattern;
ignore if instance is not mapped.
[-invert] Suboption of -lib. Filters out names that match the pattern
and return those that do not.
[-wns] Return the list of instances whose worst slack of all IO arcs is
less than the specified value, or falls between value1 and
value2.
[-count] Return the count of matching instances instead of the list.
[-skip_clock_path] Ignore elements in the clock path.

September 2017 297 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_insts

[-iter] Return an iterator instead of list of instances.

The return iterator can be used as follows:


set root “/cpu_10bit” ; set total_flop_area 0.0
set iter [get_insts –root $root/FSM –rtl_type flop -iter]
for { ; } { [rtls_iter::is_valid $iter] } {
[rtls_iter::incr $iter] } {
set obj [rtls_iter::get_obj $iter]
set iter_inst [rtls_obj::get_path -vname $obj]
set inst "$root/$iter_inst"
set triple [get_inst_area__leaf $inst $validate
$debug]
set _area [lindex $triple 2]
set total_flop_area [expr $total_flop_area + $_area]
}
rtls_iter::release $iter

Note: iter and count are mutually exclusive options.

Example(s)
■ get_insts /cpu_10bit -rtl_type hier ;# return design hierarchy
■ get_insts -root [lindex [get_alus] 1] -leaf gate ;# get leaf instances of adder
■ get_insts /cpu_10bit/DP -leaf gate -wns -50:100 -count ;# get count of leaf
instances with slack of -50ps to +100ps

Return Value

-1 indicates failure in execution.

Also See

Design Navigation and Power Debug in Joules User Guide.

September 2017 298 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_inst_power

get_inst_power
Returns leakage, internal, switching, and total power for the specified leaf or hierarchical
instance.

Syntax
get_inst_power [-inst] <inst>
[-stims <stim_id>+]
[-frames <frame_id>]
[-power_mode <power_mode>]
[-power_rail <power_rail>]
[-category memory|register|latch|logic|bbox|clock|pad|pm]
[-add_clkpin_power]
[-show_details]
[-by_rail]
[-skip_port_switching_power]
[-compute]
[-slew \{<ipin>:<val>\}+]
[-load \{<opin>:<val>+\}+]
[-activity \{<ipin>:<duty>:<freq>\}]

September 2017 299 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_inst_power

Options and Arguments

[-h] Displays help for all options.


[-inst] Return power quad for the specified instance.
[-stims] Return power quad for the specified stim ID (s). By default, all
SDB stims are considered.
[-frames] Return power quad for the specified frame. By default, average
of all frames in SDB is considered.
[-power_mode] Return power quad for the specified power mode as defined in
the CPF/1801 power intent. Default power mode is dont care.
[-power_rail] Return quad for the specified power rail as defined in the CPF/
1801 power intent. Default is dont care.
[-category] Applies only to hierarchical instance. If specified, power quad for
the specified category is returned.
[-add_clkpin_power] Applies only to hierarchical instances. If specified, a fifth
element, which is the clock pin power of all sequential elements
in the specified hierarchical instance, is added to the return list.
[-show_details] Applies only to leaf instances. If specified, the command shows
all power calculation details.
[-by_rail] Shows power calculation details based on rail.
[-skip_port_switching_power]

If specified, the primary ports' switching power is not added to


the switching power section.
[-compute] Compute power for instance using user-defined slew/load/
activity values.
[-slew] Suboption of -compute. Slew value for each input pin in
picoseconds.
[-load] Suboption of -compute. Slew value for each input pin in
femtofarads.
[-activity] Suboption of -compute. Activity value (<duty>:<freq>) for
all input and output pins.

Example(s)
■ get_inst_power /cpu_10bit/FSM

September 2017 300 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_inst_power

■ get_inst_power /cpu_10bit/DP/ALU -category logic


■ get_inst_power /cpu_10bit/DP/FSM -category clock
■ get_inst_power /cpu_10bit/DP -add_clkpin_power
■ get_inst_power {/cpu_10bit/FSM/pst_reg[3]} -show_details

Return Value

-1 indicates failure in execution.

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 301 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_inst_slack

get_inst_slack
Returns the worst pin to pin (or port to port) slack of the specified instance.

Syntax
get_inst_slack \
[-inst] <inst>
[-add_ws_pin]
[-pin <leaf_inst_pin>]

Options and Arguments

[-h] Displays help for all options.


[-inst] Return the slack of specified leaf or hierarchical instance.
[-add_ws_pin] Suboption of -inst.

Return tuple: <slack> <pin_with_worst_slack>


[-pin] Return the slack of the specified pin.

Example(s)
■ get_inst_slack -inst [lindex [get_registers] end] -add_ws_pin
■ get_inst_slack -inst [get_insts -rtl_type div] -add_ws_pin
■ get_inst_slack -inst /cpu_10bit/DP
■ set adder [lindex [get_insts -rtl_type add] 0] ; set pin "$adder/Z\[1\]"
■ get_inst_slack -pin $pin

Return Value

-1 indicates failure in execution.

Also See

Power Analysis and Reporting in Joules User Guide.

September 2017 302 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_inst_pins

get_inst_pins
Returns the pin/port of any hierarchical/leaf instance based on different properties of the pin/
port.

Syntax
get_inst_pins \
[-inst] <inst>
[-direction in|out|inout]
[-pin_type
{data|address|clock|enable|select|reset|set|scan|tie|rail|vdd|gnd|save|
restore}+] (for hier insts, -pin_type = {clock|data|reset|set|test}+)
[-name <port_name_regexp>]
[-bus]
[-full_path]

September 2017 303 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_inst_pins

Options and Arguments

[-h] Displays help for all options.


[-inst] Search the pin/port for the specified hierarchical instance name.
The command will run even if the instance name is specified
without the -inst option.
Note:
■ Full hierarchical name of instance needs to be specified
with this option.
■ No regular expression is allowed.
■ Hierarchical name should not contain internal directory.
■ If multiple instance names are specified with this option,
then Joules will only return the pins/ports of the first
instance, and rest of the instances will be ignored.
[-direction] Sort the pin/port based on the direction of its library pin. The
following types are supported:
■ in - for input pin/port
■ out - for output pin/port
■ inout - for inout pin/port

If this option is not specified, then all the pins/ports of the


instance will be returned.
[-pin_type] Query the pin/port of hierarchical/leaf instances based on its
pin_type defined in the library. Supported pin types can be
classified into two groups based on the instance type on which
these are applicable:
■ pin_type applicable on Leaf instance
■ pin_type applicable on Hierarchical instance

Values supported for each instance type are mentioned in the


syntax above.
Note: If the specified pin_type is not applicable for the given
instance, NULL will be returned.

September 2017 304 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_inst_pins

[-name] Match the pin/port with the regular expression specified with
this option.
[-bus] If specified, the output does not bit-blast the BUS while
reporting.
[-full_path] Report the complete hierarchical path of each pin.

Example(s)
■ get_inst_pins /cpu_10bit/DP -bus
■ get_inst_pins /cpu_10bit/DP/ALU -direction in
■ get_inst_pins /cpu_10bit/RAM_64x10/RAM_64x10 -pin_type address

Return Value

-1 indicates failure in execution.

Also See

Design Navigation and Power Debug in Joules User Guide.

September 2017 305 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_clock_info

get_clock_info
Return information on a clock defined in SDC and related parameters.

Syntax
get_clock_info \
[-clock <prim_clock_pin>]
[-sdc_name <sdc_name>]
[-sdc_name]
[-clock_obj]
[-master]
[-ctg]
[-active]
[-freq|-duty_cycle]
[-stim <stim_id>]
[-frame <frame_id>]
[-power tree|tree_seq|tree_comb|tree_icgc|domain|network]
tree = power of clock tree
tree_seq = power of clock tree seq elements
tree_comb = power of clock tree comb elements
tree_icgc = power of clock tree ICGCs
domain = power of clock domain elements
network = power of clock tree + clock domain)
[-add_clkpin_power]
[-stim <stim_id>] )
[-frame <frame_id>]
[-inst <inst>]
[-domain_elements]
[-domain_seqs]
[-domain_flops]
[-domain_latches]
[-domain_icgcs]
[-count]
[-iter]
[-bit_blast]
[-domain_area]

September 2017 306 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_clock_info

Options and Arguments

[-h] Displays help for all options.


[-clock] Primary clock pin whose information is required.
[-sdc_name <sdc_name>] Use the specified SDC clock name.
[-sdc_name] Return SDC name of the specified clock pin/net.
[-clock_obj] Return SDC name of all clocks-specified clock pin/net
[-master] Return master clock for the specified derivative clock.
[-ctg] Return the list of CTGs with the specified clock as clock_root
[-active] Suboption of -ctg. Use active CTG for clock power.
[-freq|-duty_cycle] Return frequency or duty_cycle in SDC.

If you specify both -freq and duty_cycle options, the


command will only return the frequency.

If the design has multiple clocks, then you need to explicitly


specify the clock. For example:

get_clock_info -freq -clock /test/clk2


[-stim] Suboption for freq|-duty_cycle.
Return frequency or duty_cycle in the specified stimulus.
[-frame] Suboption for freq|-duty_cycle.
Return frequency or duty_cycle in the specified frame.
[-power] Return leakage, internal, switching, total (in this sequence).
Ensure that compute_power command has been run before
running this power reporting command.
[-add_clkpin_power] Suboption for -power.
Add <clkpin_power> to the return value.
[-stim] Suboption for -power.
Return power numbers in the specified stimulus.
Note:
■ Multiple stim_IDs cannot be specified with this option.
■ This option will work only with the -power option.

September 2017 307 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_clock_info

[-frame] Suboption for -power.


Return power numbers in the specified frame.
Multiple frame_IDs cannot be specified with this option.
[-inst] Suboption for -power.
Return prorated clock power in the specified hierarchical
instance.
Ensure that power numbers are already computed before using
this option.
[-domain_elements] Return all domain leaf instances.
[-domain_seqs] Return all domain sequential leaf elements.
[-domain_flops] Return all domain flops.
[-domain_latches] Return all domain latches.
[-domain_icgcs] Return all domain ICGCs.

Tip
Use after clock-gating logic insertion.
[-count] Suboption for -domain_icgcs option.
Return count instead of list.
[-iter] Suboption for -domain_icgcs option.
Return iterator instead of list.
[-bit_blast] Suboption for -domain_icgcs option.
Return bit-blast registers.
[-domain_area] Return the total area of clock domain elements.

Example(s)
■ get_clock_info -clock /cpu_10bit/clk -freq ;# return frequency of clock /
cpu_10bit/clk
■ get_clock_info -clock /cpu_10bit/clk -sdc_name ;# return SDC name of clock /
cpu_10bit/clk
■ get_clock_info -sdc_name clk -duty_cycle ;# return duty_cycle of SDC clock clk

September 2017 308 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_clock_info

Return Value

-1 indicates failure in execution.

Also See

Design Navigation and Power Debug in Joules User Guide.

September 2017 309 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_clock_trees

get_clock_trees
Return information on the specified clock tree.

Syntax
get_clock_trees \
[-clock_root <pin|port>+]
[-sdc_name <sdc_clock_name>+]

Options and Arguments

[-h] Displays help for all options.


[-clock_root] List of root pins or ports for the clock tree.
[-sdc_name] List of SDC clock names.

Example(s)
■ get_clock_trees -clock_root /top/clk1 /top/clk2
■ get_clock_trees -sdc_name clk1 clk2

Return Value

-1 indicates failure in execution.

Also See

Design Navigation and Power Debug in Joules User Guide.

September 2017 310 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_combs

get_combs
Gets combinatorial gate level items.

Syntax
get_combs \
[-inst] <inst_path>
[-rtl_group macro|alu|dpx|logic|pm]
[-rtl_type
add|sub|mult|div|decoder|comp|shift|mmux|buf|inv|and|nand|or|nor|xor|xnor|
ao|aoi|oa|oai|mux|tri|tie|pad|fadd|hadd|delay|iso|srpg|ls|els|ps]
[-module <module>]
[-levels <num>]
[-width num]
[-op eq|gt|lt|ge|le]
[-name <glob>]
[-cell <glob>]
[-nocase]
[-invert]

September 2017 311 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_combs

Options and Arguments

[-h] Displays help for all options.


[-inst] Return combinatorial entries inside the specified hierarchical
instance.
[-rtl_group] RTL group name. Default group is logic.
[-rtl_type] List of RTL types.
[-module] Return combinatorial entries in the specified module. The
command searches all instances of the specified module.
[-levels] Suboption of -module. Specify the hierarchy level.
[-width] Return combinatorial entries of the specified width.
[-op] Sup-option of -width. Return entries with width of <op>
<num>. For example, to get combinatorial entries with width of
less than 10, specify:

get_combs -width lt 10
[-name] Return combinatorial entries with inst name matching the
specified pattern.
[-cell] Return combinatorial entries mapped to cell matching the
specified pattern.
[-nocase] Suboption of -cell. Perform case insensitive match.
[-invert] Suboption of -cell. Filter out names that match the pattern and
return those that do not.

Example(s)
■ get_combs -inst /cpu_10bit/DP ;# gets combs under inst /cpu_10bit/DP
■ get_combs -width 4 ;# gets 4-bit wide combs

Return Value

-1 indicates failure in execution.

Also See
■ Clock Gating in Joules User Guide.

September 2017 312 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_design_clocks

get_design_clocks
Returns the list of primary clocks of the design.

Syntax
get_design_clocks
[-root <design name>]
[-sdc_name <sdc_name>]
[-derivative_clocks]
[-prim_clocks]
[-overlapping_sets]
[-count]
[-sort_by
freq|domain_area|domain_elements|domain_seqs|domain_flops|domain_latches|
domain_icgcs|domain_tns|domain_wns]
[-increasing]
[-ntop <N>]
[-fastest_clock]

September 2017 313 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_design_clocks

Options and Arguments

[-h] Displays help for all options.


[-root] Return the list of clocks for the specified design.
[-sdc_name] Return clock pin of the specified SDC clock.
[-derivative_clocks] Return the list of derivative clocks. By default, this option is set
to false.
[-prim_clocks] Skip derivative clocks and return the list of primary clocks. By
default, this option is set to false.
[-overlapping_sets] Return the list of overlapping clock sets. By default, this option is
set to false.
[-count] Return the count of matching clocks.
[-sort_by] Sort the output in the specified order. By default, the output is not
sorted.
[-increasing] Suboption of -sort_by. Sort the output is increasing order. By
default, the output is sorted in decreasing order.
[-ntop] Suboption of -sort_by. Return the top <N> sorted clocks.
Default is 1.
[-fastest_clock] Return the fastest clock by frequency. By default, this option is
set to false.

Example(s)
■ get_design_clocks -root /cpu_10bit
■ get_design_clocks -root /cpu_10bit -overlapping_sets

Return Value

-1 indicates failure in execution.

Also See
■ Clock Gating in Joules User Guide.

September 2017 314 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - plot_slack_profile

plot_slack_profile
Plots the slack and timing profile for the design.

Syntax
plot_slack_profile \
[-root <root_inst>+]
[-levels <levels>|<min_level>:<max_level>]
[-leaf <leaf_inst>+]
[-name <glob>]
[-nocase]
[-invert]
[-clock_domain {<prim-clock-net>}+]
[-power_domain <domain-name>]
[-wns <V>[:<V2>]
[-yrange <ymin>:<ymax>]
[-resolution <val>] )
[-png <f_png>]
[-tag <tag>]
[>|-out <f_dat>]

September 2017 315 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - plot_slack_profile

Options and Arguments

[-h] Displays help for all options.


[-root] List of root instances. By default, design root is considered.
[-levels] Suboption of -root. Level of hierarchy to plot. The default level
is -1 (entire tree below specified root(s)).
[-leaf] List of leaf instances.
[-name] Match names with specified pattern.
[-nocase] Suboption of -name. Case insensitive name match.
[-invert] Suboption of -name. Filter out names that match the pattern and
return those that do not.
[-clock_domain] List of primary clock nets.
[-power_domain] Name of the power domain.
[-wns] Show profile for instances with slack less than or equal to the
specified value (in ps) or in the specified range.
[-yrange] Specify Y range for the plot. By default, it is auto determined.
[-resolution] Slack resolution for plot. The default slack is 50 (ps).
[-png] Save plot in specified PNG file.
[-tag] Add the specified tag to plot title.
[>|-out] Redirect the output to the specified file. By default, the output is
directed to <work_dir>/plot_slack_profile.data.

Example(s)
■ plot_slack_profile -clock_domain /cpu_10bit/clk

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 316 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - plot_activity_distribution

plot_activity_distribution
Plots output pin activity distribution of selected leaf instances.

Syntax
plot_activity_distribution \
[-stims {<stim_id>}+]
[-frames {<frame_id>|<frame_range>}+]
[-activity_types
{Act_Default|Act_Computed|Act_ClkFromSDC|Act_Constant|Act_Asserted|
Act_UserAsserted+}]
[-root <inst>+]
[-module {<module-name>}+]
[-levels <levels>|all]
[-clock_domain {<prim-clock-net>}+]
[-power_domain {<domain_name>}+]
[-rtl_type
{bbox|memory|register|flop|latch|icgc|add|sub|mult|div|decoder|comp|shift|
mmux|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|mux|tri|tie|pad|fadd|
hadd|delay|iso|srpg|ls|els|ps}+]
[-rtl_group {seq|macro|alu|dpx|logic|pm}+]
[-leaf macro|gate]
[-xkey freq|toggle_cnt|toggle_ratio]
[-bin_cnt <cnt>]
[-title <title>]
[-group_gap <val>]
[-png <f_png>]
[>|-out <f_dat>]

September 2017 317 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - plot_activity_distribution

Options and Arguments

[-h] Displays help for all options.


[-stims] List of stim IDs. By default, the first SDB stim is considered.
[-frames] Frame ID or a range of frames.
[-activity_types] List of activity types to plot.
Note: This option is mutually exclusive to -leaf.
[-root] List of roots to search. By default, design root is considered.
[-module] List of modules to search for plotting.
[-levels] Suboption of -module. Search the specified levels of module
hierarchy.
[-clock_domain] List of primary clock nets.
[-power_domain] List of power domains.
[-rtl_type] List of RTL types. The default type is flop.
[-rtl_group] List of RTL groups.
[-leaf] Treat the specified object as leaf. The default object is gate.
Note: This option is mutually exclusive to -activity_types.
[-xkey] Show the specified value on X axis. By default, X axis displays
frequency.
[-bin_cnt] Specify the number of bins for the plot.
[-title] Specify the title for the plot output.
[-group_gap] Gap between data groups in the plot. The default gap is 1.
[-png] Save plot output in the specified PNG file.
[>|-out] Save the output in the specified file.

By default, the output is directed to <work_dir>/


plot_activity_distribution.data

Example(s)
■ plot_activity_distribution -frames /stim#1/frame#1 {/stim#1/frame#[7:9]}
■ plot_activity_distribution -rtl_type mult flop icgc

September 2017 318 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - plot_activity_distribution

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 319 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_icgc_info

get_icgc_info
Returns information about the specified ICGC.

Syntax
get_icgc_info [-inst] <icgc>
[-frames <frame_id>+
[-power_mode <power_mode>]
[-power_rail <power_rail>]
[-type]
[-cell]
[-clock_pin]
[-clock_net]
[-clock_freq in|out]
[-clock_domain]
[-enable_pin]
[-enable_net]
[-enable_duty]
[-enable_toggles]
[-enable_freq]
[-enable_eff]
[-cum_enable_eff]
[-enable_expr]
[-flops all|direct|indirect]
[-data_freq in|out]
[-fanout all|direct|indirect)
[-downstream_cgs]
[-downstream_power]
[-downstream_clkpin_power]
[-downstream_clkpin_cap]
[-clock_power]
[-impact]
[-level]
[-rtl_info]

September 2017 320 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_icgc_info

Options and Arguments

[-h] Displays help for all options.


[-inst] Instance name for which ICGC information is required.
[-frames] List of frame IDs for which ICGC information is required. By
default, average over all SDB frames are considered.
[-power_mode] Power mode information. Default is don’t care.
[-power_rail] Power rail information. Default is don’t care.
[-type] Specify the ICGC type - RTL or synthesis.
[-cell] Name of the mapped cell.
[-clock_pin] Name of the CG clock pin.
[-clock_net] Net associated with the clock pin.
[-clock_freq] Input clock frequency.
[-clock_domain] Primary clock domain(s).
[-enable_pin] Name of the CG-enable pin.
[-enable_net] Net associated with the enable pin.
[-enable_duty] Enable duty cycle.
[-enable_toggles] Enable toggles.
[-enable_freq] Enable frequency.
[-enable_eff] Enable efficiency.
[-cum_enable_eff] Cumulative enable efficiency.
[-enable_expr] Enable expression.
[-flops] Downstream flops.
[-data_freq] Average frequency of D or Q pins of all driven flops.
[-fanout] Suboption of -data_freq. Flop fanout. By default, all
downstream flops are considered.
[-downstream_cgs] Return downstream ICGCs.
[-downstream_power] Power of downstream cone.
[-downstream_clkpin_power]

Power of downstream clock pins.

September 2017 321 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - get_icgc_info

[-downstream_clkpin_cap] Cap of downstream clock pins.


[-clock_power] Downstream clock power.
[-impact] Calculated as clock_power/enable_eff.
[-level] Level of hierarchy of the design.
[-rtl_info] The <source file>:<line> information.

Example(s)
■ set icgc /cpu_10bit/FSM/RC_CG_HIER_INST8/RC_CGIC_INST
■ get_icgc_info -inst $icgc -clock_domain all
■ get_icgc_info -inst $icgc -enable_net
■ get_icgc_info $icgc -downstream_power

Return Value

-1 indicates failure in execution.

Also See
Clock Gating in Joules User Guide.

September 2017 322 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - report_icgc_efficiency

report_icgc_efficiency
Reports the clock gating efficiency report in a tabular format, with a line for each ICGC. It is
recommended to run this command when stimulus has already been read in and the power
numbers have been generated through the compute_power command.

Syntax
report_icgc_efficiency
[-inst {<inst-path>}+]
[-module {<module-name>}+]
[-levels <levels>|all]
[-clock_domain {<prim-clock-net>}+]
[-power_domain {<domain-name>}+]
[-cg_list $icgc_list]
[-cg_wrapper {<module>[:<enable_pin>]}+]
[-stims {<stim_id>}+]
[-frame <frame_id>+]
[-collate]
[-power_mode <power_mode>]
[-power_rail <power_rail>]
[-cols
{flops|direct_flops|data_freq_in|data_freq_out|enable_duty|enable_freq|
enable_eff|cum_enable_eff|impact|clock_power|clock_freq|gated_clock_freq|
downstream_power|downstream_dynamic_power|downstream_clkpin_power|
downstream_clkpin_cap|cell|type|annot|power_delta_per_pct_enable_eff}+]
(impact = clock_power/enable_eff)
[-sort_by clock_power|downstream_power|enable_eff|impact]
[-header]
[>|-out report_filename]
[-append]
[-csv]
[-help|-h]

September 2017 323 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - report_icgc_efficiency

Options and Arguments

[-h] Displays help for all options.


[-inst] List of hierarchy instances for the ICGC efficiency report.
[-module] List of modules for the ICGC efficiency report.
[-levels] Suboption of -module. Specify the level(s) to report. The default
is 0.
[-clock_domain] List of clock domains for the ICGC efficiency report.
[-power_domain] List of power domains for the ICGC efficiency report.
[-cg_list] List the ICGCs whose efficiency needs to be analyzed.

By default, all ICGCs are reported.

This option can be queried on leaf ICG instance.


[-cg_wrapper] List of ICGC wrapper modules and, optionally, enable_pin
entries.
[-stims] List of stim IDs for the ICGC efficiency report.
[-frame] List of frame IDs for which ICGC efficiency needs to be
displayed.

This option is applicable if stimulus is read in and also divided


into frames.

By default, average of all frames is reported.

Frame ID for each stimulus can be found out using


get_sdb_frame -stim <stim_id> command.

If both -stim and -frame are specified, then the command will
first print the required information for all the valid frames that are
specified with the -frame option. Then, the command will
display the information for both frames irrespective of whether /
stim#2 is mentioned with -stim or not, as shown in the
following example:

report_icgc_efficiency -stim /stim#2 -frame /


stim#1/frame#4 /stim#2/frame#17
[-collate] Suboption of -frame. Collate the efficiency across specified
stims/frames. Default is false.

September 2017 324 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - report_icgc_efficiency

[-power_mode] Power mode for which ICGC efficiency needs to be analyzed.

By default, its value is dont-care.

You cannot specify a list of power modes for this option.


[-power_rail] Power rail for which ICGC efficiency needs to be analyzed.

By default, its value is dont care.

You cannot specify a list of power rails for this option.


[-cols] Flag information in the user-specified column.

By default, the information is reported in the columns

enable_duty clock_freq gated_clock_freq


enable_eff

It is recommended to read stimulus and run compute_power


before running the report_icgc_efficiency command.
However, there are few options such as flop, direct_flops, cell,
which are not stim specific.
[-sort_by] Sort the output based on the specified parameter, in case of
multiple ICGCs.
If you specify multiple values for this option, the output will not
be sorted at all.
[-header] Display report header.
[>|-out] If specified, redirect the output of the command in the specified
file.
If the specified file needs to be created in some other directory,
ensure that the directory exists.
[-append] Append to the file specified with –out option.
[-csv] Suboption of -out. Generate Excel style (Comma Separated
Values) report.

Example(s)
■ set cg_list [get_icgcs -clock /cpu_10bit/clk]
■ report_icgc_efficiency -cg_wrapper cg_wrapper1 -sort_by clock_power -out
cpu_10bit_icgc_efficiency.rpt -cg_list $cg_list

September 2017 325 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - report_icgc_efficiency

■ report_icgc_efficiency -inst /top/block1 #report ICGC efficiency for ICGCs


under /top/block1

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Clock Gating in Joules User Guide.

September 2017 326 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - report_icgc_scrub

report_icgc_scrub
Identifies and reports lint errors in a design.

Syntax
report_icgc_scrub
[-stims <stim_id>+]
[-frames <frame_id>+]
[-root <root_inst>+]
[-double_icgcs]
[-help|-h]

Options and Arguments

[-h] Displays help for all options.


[-stims] Specify the stim ID(s) for which lint errors are to be reported. By
default, all SDB stims are considered.
[-frames] Specify the frame ID(s) for which lint errors are to be reported.
By default, Frame#0 of all specified SDB stims are considered.
[-root] Specify the hierarchy for reporting the lint errors. By default,
design root is used.
[-double_icgcs] Specify this option to report lint errors of type double ICGCs.

Example(s)
report_icgc_scrub -double_icgcs

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Clock Gating in Joules User Guide.

September 2017 327 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - plot_net_distribution

plot_net_distribution
Plots net distribution histogram for fanout, load (capacitance), or resistance.

Syntax
plot_net_distribution \
[-inst <inst>+]
[-module {<module-name>}+]
[-spef_annotated_nets]
[-f_net_rpt <f_rpt>]
[-xkey fanout|wire_cap|sink_cap|load_cap|wire_res]
[-xrange <min>:<max>]
[-yrange <min>:<max>]
[-bin_cnt <cnt>]
[-bin_size {abs|pct}:<val>]
[-title <title>]
[-png <f_png>]
[>|-out|-f_net_data <f_net_data>]

September 2017 328 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - plot_net_distribution

Options and Arguments

[-h] Displays help for all options.


[-inst] Specify the list of root instances for search. By default, the
design root is considered.
[-module] Specify the list of module names for search.
[-spef_annotated_nets] Suboption of -module.

Specify whether to display distribution of SPEF annotated nets


in the plot output. Default is false.
[-f_net_rpt] Use the specified report file generated using
report_net_switching command.
[-xkey] Specify the data key to display on X axis. See the command
syntax for the list of valid values.

By default fanout values are displayed on X axis.


[-xrange] Specify the range of values for X axis. By default, the entire
range of X values are plotted.
[-yrange] Specify the range of values for Y axis. By default, the entire
range of Y values are plotted.
[-bin_cnt] Specify the number of bins for the plot.
[-bin_size] Specify the size of the bin in absolute or percentage value.
Note: -bin_cnt and -bin_size are mutually exclusive
options.
[-title] Specify the title for the plot output.
[-png] Save plot in specified PNG file.
[>|-out|-f_net_data] Save the output in the specified file.

By default, the output is directed to <work_dir>/


plot_net_distribution.data.

Example(s)
■ plot_net_distribution ;# plot net fanout distribution histogram of entire
design
■ plot_net_distribution -inst /cpu_10bit/DP/ALU -xkey cap

September 2017 329 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - plot_net_distribution

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 330 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - plot_inst_distribution

plot_inst_distribution
Plots distribution of design objects by specified object type (-xkey).

Syntax
plot_inst_distribution \
[-root <inst>+]
[-module {<module-name>}+]
[-levels <levels>|all]
[-clock_domain {<prim-clock-net>}+]
[-power_domain {<domain_name>}+]
[-rtl_type
{bbox|memory|register|flop|latch|icgc|add|sub|mult|div|decoder|comp|shift|
mmux|buf|inv|and|nand|or|nor|xor|xnor|ao|aoi|oa|oai|mux|tri|tie|pad|fadd|
hadd|delay|iso|srpg|ls|els|ps}+]
[-rtl_group {seq|macro|alu|dpx|logic|pm}+]
[-leaf macro|gate]
[-xkey bit_width|drive_strength|cell|lib|func]
[-ykey count|pct|area]
[-xrange <min>:<max>]
[-yrange <min>:<max>]
[-png <f_png>]
[-title <title_string>]

September 2017 331 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - plot_inst_distribution

Options and Arguments

[-h] Displays help for all options.


[-root] List of roots for search. Default is design root.
[-module] List of modules for search.
[-levels] Suboption of -module. Specify the levels for module search.
Default level is 0.
[-clock_domain] Specify the list of primary clock domains for search.
[-power_domain] Specify the list of domain names for search.
[-rtl_type] List of RTL types (applies only to hierarchical insts). Default is
any.
[-rtl_group] List of RTL groups (applies only to hierarchical insts). Default is
any.
[-leaf] Treat the specified object as leaf. Default is auto determined.
[-xkey] Specify the type of value to display on X axis. By default, X axis
displays bit_width.
[-ykey] Specify whether to display count, percentage, or area on Y axis.
By default, count is displayed on Y axis.
[-xrange] Specify the range of values to display on X axis. Default is entire
range of X values.
[-yrange] Specify the range of values to display on Y axis. Default is entire
range of Y values.
[-png] Save plot in the specified PNG file.
[-title] Specify the title for the plot.

Example(s)
■ plot_inst_distribution -xkey drive_strength
■ plot_inst_distribution -rtl_type register -xkey bit_width
■ plot_inst_distribution -root /cpu_10bit/DP -xkey cell
■ plot_inst_distribution -root /cpu_10bit/DP/ALU -xkey func

September 2017 332 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - plot_inst_distribution

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 333 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - report_area

report_area
Reports:
■ Total count of cells mapped against the hierarchical blocks in the current design
■ Combined cell area in each of the blocks and the top level design (hierarchical breakup)
❑ Cell Area numbers are based on the cell implementations taken from the technology
library after mapping.
❑ Net Area refers to the estimated post-route net area and is only meaningful if you
read in the LEF libraries.
■ The wireload model adopted for each of the blocks
Note: The units used in the report depend on the units used in the library.

Syntax
report area \
[-summary]
[-depth <integer>]
[-min_count <integer>]
[-physical]
[-hinst <object>]
[-gates]
[-normalize_with_gate <object>]
[-show_leaf_cells]
[-skip_modules_logical_hier_false]
[<object>+]
[> file]

September 2017 334 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - report_area

Options and Arguments

[-h] Displays help for all options.


[-summary] Reports the area summary.
[-depth] Reports the number of levels of recursion.
[-min_count] Reports minimum instance count per block.
[-physical] Specify this option to use LEF height and width values for area
computation.
[-hinst] Specify this option to print leaf instances with area under the
specified hierarchy.
[-gates] Specify this option to print the area of all combinational,
sequential, and hierarchical cells.
[-normalize_with_gate] Specify this option to normalize the area number with area of the
specified cell.
[-show_leaf_cells] Specify this option to print leaf instances at design level in the
report.
[-skip_modules_logical_hier_false]

Specify this option to skip reporting the modules with attribute


logical_hier false.
[-object] Specify the design to report on.
[-file] Specify the name of the file to which to write the report.

Return Value

0 for success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 335 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - report_design_stats

report_design_stats
Reports various statistics for a design.

Syntax
report_design_stats \
[-out <output-file-name>]
[-append]

Options and Arguments

[-h] Displays help for all options.


[-out] Report the design statistics in the specified file.
[-append] Append to the file specified with –out option.

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 336 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - report_naming_rules

report_naming_rules
Reports the rules applied for naming design components.

Syntax
report_design_stats \
[-out <output-file-name>]
[-append]

Options and Arguments

[-h] Displays help for all options.


[-out] Report the naming rules in the specified file.
[-append] Append to the file specified with –out option.

Return Value

0 indicates success, 1 indicates failure in execution.

Also See
■ Power Analysis and Reporting in Joules User Guide.

September 2017 337 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference
Design Query and Navigation Commands - report_naming_rules

September 2017 338 Product Version 17.11


© 1999-2017 All Rights Reserved.
Joules Command and Attribute Reference

11
Joules Attributes

Joules supports most of the attributes used in Genus. This chapter provides information on
attributes that are specific to Joules. Refer to Genus Attribute Reference for information on
Genus attributes.

Default Related
Attribute Category Desciption
Value Command

power_unit Root W report_power Sets default power unit for


Joules report_power command
power_format Root %.5e report_power Sets default power format for
Joules report_power command
stim_phy_thread_count Root 8 None Sets multi thread environment
for PHY in Joules
stim_phy_host_setup Root NULL None Sets multi host environment for
PHY in Joules
gui_compact_hier_browser GUI True None Opens hierarchy browser in
compact mode (will not be saved
in Db)

September 2017 339 Product Version 17.11


© 1999-2017 All Rights Reserved.

S-ar putea să vă placă și