liberty user guides and reference manual suite version 2017 · liberty user guides and reference...

1458
Liberty User Guides and Reference Manual Suite Version 2017.06 1 The Liberty User Guides and Reference Manual Suite includes the following documents: Liberty Release Notes Liberty User Guide Volume 1 Liberty User Guide Volume 2 Liberty Reference Manual Note: The contents of Liberty User Guide Volume 2 have not changed since the 2007.03 release. You can use Adobe Reader version 7 or later to view the Liberty User Guides and Reference Manual Suite. To navigate through the Liberty User Guides and Reference Manual Suite, you can use the View > Go To menu item and select the appropriate option.

Upload: others

Post on 28-Jan-2020

174 views

Category:

Documents


6 download

TRANSCRIPT

  • Liberty User Guides and Reference Manual SuiteVersion 2017.06 1

    The Liberty User Guides and Reference Manual Suite includes the following documents:

    • Liberty Release Notes

    • Liberty User Guide Volume 1

    • Liberty User Guide Volume 2

    • Liberty Reference Manual

    Note: The contents of Liberty User Guide Volume 2 have not changed since the 2007.03 release.

    You can use Adobe Reader version 7 or later to view the Liberty User Guides and Reference Manual Suite.

    To navigate through the Liberty User Guides and Reference Manual Suite, you can use the View > Go To menu item and select the appropriate option.

  • Liberty Release NotesVersion 2017.06 1

    These release notes present the latest information about Liberty version 2017.06. New modeling syntax and enhancements are described in the following sections:

    • New LVF Models

    • Partial Voltage Swing in Timing Arcs

    For detailed information about these enhancements, see the Liberty User Guide, Vol. 1.

    © 2017 Synopsys, Inc. All rights reserved.

  • Liberty Release Notes Version 2017.06

    New LVF ModelsThe following new LVF models are introduced:

    • OCV Models for Retain Arc Delay and Transition

    • Statistical Moments-Based LVF Models For Ultra-Low Voltage Designs

    OCV Models for Retain Arc Delay and TransitionA retain arc models how long an output port retains its current logic value after a voltage rise or fall at a related input port. The Liberty syntax now supports new Liberty Variation Format (LVF) models in timing groups for on-chip variation (OCV) in delay and transition times of retain arcs.

    To model the retain arc OCV delay, use the new ocv_sigma_retaining_rise and ocv_sigma_retaining_fall groups. Each of these groups specify a lookup table for the delay variation at the standard deviation () value from the nominal retain arc rise and fall delays, respectively. Use the sigma_type attribute to define the type of arrival time in the lookup table.

    To model the retain arc OCV transition, use the new ocv_sigma_retain_rise_slew and ocv_sigma_retain_fall_slew groups. Each of these groups specify a lookup table for the transition variation at the standard deviation () value from the nominal retain arc rise and fall transitions, respectively.

    Statistical Moments-Based LVF Models For Ultra-Low Voltage DesignsThe LVF models for OCV now support asymmetric, biased, or non-Gaussian distributions of timing variation. This is useful to accurately model ultra-low voltage libraries. To capture the shape of a biased timing variation distribution, the LVF models use the statistical moments including the mean, standard deviation, and skewness of the distribution.

    The syntax includes Liberty groups with lookup tables to store the moments-based variation values of the cell delays, cell transitions, cell timing constraints, retain arc delays, and retain arc transitions at one-sigma () deviation. These lookup tables can be scalar, one, two, or three-dimensional and are defined under the timing group together with the nominal timing tables. The lookup table template for these groups are defined at the library-level using the lu_table_template group.

    New LVF Models 2

  • Liberty Release Notes Version 2017.06

    LVF OCV Mean Shift GroupsThe new ocv_mean_shift_cell_rise, ocv_mean_shift_cell_fall, ocv_mean_shift_rise_transition, ocv_mean_shift_fall_transition, ocv_mean_shift_retaining_rise, ocv_mean_shift_retaining_fall, ocv_mean_shift_retain_rise_slew, ocv_mean_shift_retain_fall_slew, ocv_mean_shift_rise_constraint, and ocv_mean_shift_fall_constraint lookup tables specify the offset value from the mean of the timing variation distribution to the nominal value.

    LVF OCV Standard Deviation GroupsThe new ocv_std_dev_cell_rise, ocv_std_dev_cell_fall, ocv_std_dev_rise_transition, ocv_std_dev_fall_transition, ocv_std_dev_retaining_rise, ocv_std_dev_retaining_fall, ocv_std_dev_retain_rise_slew, ocv_std_dev_retain_fall_slew, ocv_std_dev_rise_constraint, and ocv_std_dev_fall_constraint look up tables store the values of standard deviation of the timing variation distribution.

    LVF OCV Skewness GroupsThe new ocv_skewness_cell_rise, ocv_skewness_cell_fall, ocv_skewness_rise_transition, ocv_skewness_fall_transition, ocv_skewness_retaining_rise, ocv_skewness_retaining_fall, ocv_skewness_retain_rise_slew, ocv_skewness_retain_fall_slew, ocv_skewness_rise_constraint, ocv_skewness_fall_constraint lookup tables specify the skewness values of the timing variation distribution.

    Partial Voltage Swing in Timing ArcsYou can now specify the partial voltage swing for a specific timing arc. To do so, define the output_signal_level_low and output_signal_level_high attributes in the timing group. These attributes specify the actual output voltages of an output pin after a transition through a timing arc.

    You specify these attributes in the timing group when the following occur together:• The cell output exhibits partial voltage swing (and not rail-to-rail swing).

    • The voltages are different in different timing arcs.

    Partial Voltage Swing in Timing Arcs 3

  • Liberty User GuideVolume 1Version 2017.06, June 2017

  • Liberty User Guide, Volume 1, Version 2017.06 ii

    Copyright Notice© 2004, 2006-2009, 2011-2017 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary information that is the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and may be used or copied only in accordance with the terms of the license agreement. No part of the software and documentation may be reproduced, transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without prior written permission of Synopsys, Inc., or as expressly provided by the license agreement.

    Right to Copy DocumentationThe license agreement with Synopsys permits licensee to make copies of the documentation for its internal use only. Each copy shall include all copyrights, trademarks, service marks, and proprietary rights notices, if any. Licensee must assign sequential numbers to all copies. These copies shall contain the following legend on the cover page:

    This document is duplicated with the permission of Synopsys, Inc., for the use of Open Source Liberty users.

    Destination Control StatementAll technical data contained in this publication is subject to the export control laws of the United States of America. Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader's responsibility to determine the applicable regulations and to comply with them.

    DisclaimerSYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

    TrademarksSynopsys and certain Synopsys product names are trademarks of Synopsys, as set forth athttp://www.synopsys.com/Company/Pages/Trademarks.aspx.All other product or company names may be trademarks of their respective owners.

    Third-Party LinksAny links to third-party websites included in this document are for your convenience only. Synopsys does not endorse and is not responsible for such websites and their practices, including privacy practices, availability, and content.

    Synopsys, Inc.690 E. Middlefield RoadMountain View, CA 94043www.synopsys.com

  • Contents

    1. Sample Library Description

    General Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

    Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Group Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Attribute Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4

    Simple Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Complex Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4

    Define Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5Reducing Library File Size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5

    2. Building a Technology Library

    Creating Library Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2library Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2

    Using General Library Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2technology Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2delay_model Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3bus_naming_style Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3

    Delay and Slew Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3input_threshold_pct_fall Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5input_threshold_pct_rise Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6output_threshold_pct_fall Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6output_threshold_pct_rise Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7slew_derate_from_library Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7slew_lower_threshold_pct_fall Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . 2-7

    iii

  • Liberty User Guide, Volume 1 2017.06Liberty User Guide, Volume 1 Version 2017.06

    slew_lower_threshold_pct_rise Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . 2-8slew_upper_threshold_pct_fall Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . 2-8slew_upper_threshold_pct_rise Simple Attribute. . . . . . . . . . . . . . . . . . . . . . . . 2-8

    Defining Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9time_unit Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9voltage_unit Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10current_unit Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10pulling_resistance_unit Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10capacitive_load_unit Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11leakage_power_unit Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11

    3. Building Environments

    Library-Level Default Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2Setting Default Cell Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2

    default_cell_leakage_power Simple Attribute. . . . . . . . . . . . . . . . . . . . . . . 3-2Setting Default Pin Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2Setting Wire Load Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3

    default_wire_load Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3default_wire_load_capacitance Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3default_wire_load_resistance Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3default_wire_load_area Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

    Setting Other Environment Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4default_operating_conditions Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4default_connection_class Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4

    Examples of Library-Level Default Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5

    Defining Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5operating_conditions Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5

    Defining Power Supply Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7power_supply group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7

    Defining Wire Load Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7wire_load Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8wire_load_table Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9

    Specifying Delay Scaling Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10Pin and Wire Capacitance Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10Scaling Factors Associated With the Nonlinear Delay Model . . . . . . . . . . . . . . 3-10

    Contents iv

  • Liberty User Guide, Volume 1 Version 2017.06

    4. Defining Core Cells

    Defining cell Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2cell Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2area Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3cell_footprint Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3clock_gating_integrated_cell Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

    Setting Pin Attributes for an Integrated Cell . . . . . . . . . . . . . . . . . . . . . . . . 4-5Setting Timing for an Integrated Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6

    contention_condition Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6is_macro_cell Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6pad_cell Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7pin_equal Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7pin_opposite Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7type Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7cell Group Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8mode_definition Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9

    Group Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10mode_value Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10

    Defining pin Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11pin Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11General pin Group Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12

    capacitance Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13clock_gate_clock_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13clock_gate_enable_pin Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14clock_gate_obs_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14clock_gate_out_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14clock_gate_test_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14complementary_pin Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15connection_class Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15direction Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17driver_type Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17fall_capacitance Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21fault_model Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22inverted_output Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23is_analog Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23pin_func_type Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24rise_capacitance Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24steady_state_resistance Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25

    Chapter 1: Contents1-vContents v

  • Liberty User Guide, Volume 1 2017.06Liberty User Guide, Volume 1 Version 2017.06

    test_output_only Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25Describing Design Rule Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26

    fanout_load Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26max_fanout Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27min_fanout Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27max_transition Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28max_trans Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28min_transition Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30max_capacitance Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31max_cap Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31min_capacitance Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33cell_degradation Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33

    Describing Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34clock Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35min_period Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35min_pulse_width_high and min_pulse_width_low Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35Describing Clock Pin Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35internal_node Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39

    Defining Bused Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39type Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39bus Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-41bus_type Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-41Pin Attributes and Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42Example Bus Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-43

    Defining Signal Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-46bundle Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-46members Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-47pin Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-47

    Defining Layout-Related Multibit Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-48

    Defining Multiplexers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-49Library Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-50

    Defining Decoupling Capacitor Cells, Filler Cells, and Tap Cells . . . . . . . . . . . . . . . 4-51Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-52Cell-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-52

    is_decap_cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-52is_filler_cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-52

    Contents vi

  • Liberty User Guide, Volume 1 Version 2017.06

    is_tap_cell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-52

    5. Defining Sequential Cells

    Using Sequential Cell Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2

    Describing a Flip-Flop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2Using the ff Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

    clocked_on and clocked_on_also Attributes. . . . . . . . . . . . . . . . . . . . . . . . 5-4next_state Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4nextstate_type Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4clear Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5preset Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5clear_preset_var1 Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5clear_preset_var2 Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5power_down_function Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6ff Group Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7

    Describing a Single-Stage Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8Describing a Master-Slave Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9

    Using the function Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10

    Describing a Multibit Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11

    Describing a Latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15latch Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15

    enable and data_in Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16data_in_type Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16clear Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17preset Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17clear_preset_var1 Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17clear_preset_var2 Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17Determining a Latch Cell’s Internal State . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18

    Describing a Multibit Latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19latch_bank Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19

    Describing Sequential Cells With the Statetable Format . . . . . . . . . . . . . . . . . . . . . 5-23statetable Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26

    Using Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28Partitioning the Cell Into a Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30Defining an Output pin Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30

    state_function Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31internal_node Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31

    Chapter 1: Contents1-viiContents vii

  • Liberty User Guide, Volume 1 2017.06Liberty User Guide, Volume 1 Version 2017.06

    input_map Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31inverted_output Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-33

    Internal Pin Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-33Determining a Complex Sequential Cell’s Internal State . . . . . . . . . . . . . . . . . . 5-34

    Flip-Flop and Latch Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-35

    Cell Description Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-39

    6. Defining Test Cells

    Describing a Scan Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2test_cell Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2

    Pins in the test_cell Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3test_output_only Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3

    Describing a Multibit Scan Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3Multibit Scan Cell With Parallel Scan Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4

    Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6Multibit Scan Cell With Internal Scan Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10

    Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13

    Scan Cell Modeling Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17Simple Multiplexed D Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17Multibit Cells With Multiplexed D Flip-Flop and Enable . . . . . . . . . . . . . . . . . . . 6-19LSSD Scan Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24Scan-Enabled LSSD Cell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27

    Functional Model of the Scan-Enabled LSSD Cell . . . . . . . . . . . . . . . . . . . 6-28Timing Model of the Scan-Enabled LSSD Cell . . . . . . . . . . . . . . . . . . . . . . 6-29Scan-Enabled LSSD Cell Model Example . . . . . . . . . . . . . . . . . . . . . . . . . 6-30Scan-Enabled LSSD Cell With Asynchronous Inputs. . . . . . . . . . . . . . . . . 6-32Multibit Scan-Enabled LSSD Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34

    Clocked-Scan Test Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-36Scan D Flip-Flop With Auxiliary Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38

    7. Timing Arcs

    Understanding Timing Arcs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3Combinational Timing Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3Sequential Timing Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4

    Modeling Method Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4

    Contents viii

  • Liberty User Guide, Volume 1 Version 2017.06

    Defining the timing Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5Naming Timing Arcs Using the timing Group. . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6

    Timing Arc Between a Single Pin and a Single Related Pin. . . . . . . . . . . . 7-6Timing Arcs Between a Pin and Multiple Related Pins. . . . . . . . . . . . . . . . 7-7Timing Arcs Between a Bundle and a Single Related Pin . . . . . . . . . . . . . 7-8Timing Arcs Between a Bundle and Multiple Related Pins. . . . . . . . . . . . . 7-9Timing Arcs Between a Bus and a Single Related Pin . . . . . . . . . . . . . . . . 7-10Timing Arcs Between a Bus and Multiple Related Pins . . . . . . . . . . . . . . . 7-11Timing Arcs Between a Bus and a Related Bus Equivalent . . . . . . . . . . . . 7-13

    Delay Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15delay_model Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16Defining the NLDM Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16Creating Lookup Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19Defining the Scalable Polynomial Delay Model Template. . . . . . . . . . . . . . 7-21

    timing Group Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23related_pin Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23related_bus_pins Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24timing_sense Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-25timing_type Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26mode Complex Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30

    Describing Three-State Timing Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-34Describing Three-State-Disable Timing Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-34Describing Three-State-Enable Timing Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-35

    Describing Edge-Sensitive Timing Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-36

    Describing Clock Insertion Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-36

    Describing Intrinsic Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-37In the CMOS Piecewise Linear Delay Model. . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38In the Scalable Polynomial Delay Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38

    Describing Transition Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38Defining Delay Arcs With Lookup Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38Modeling Transition Time Degradation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-43

    Modeling Load Dependency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-46In the CMOS Scalable Polynomial Delay Model . . . . . . . . . . . . . . . . . . . . . . . . 7-47

    Describing Slope Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-49

    Describing State-Dependent Delays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-49when Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-50

    Chapter 1: Contents1-ixContents ix

  • Liberty User Guide, Volume 1 2017.06Liberty User Guide, Volume 1 Version 2017.06

    sdf_cond Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-52

    Setting Setup and Hold Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-54rise_constraint and fall_constraint Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-55In the Scalable Polynomial Delay Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-57Identifying Interdependent Setup and Hold Constraints . . . . . . . . . . . . . . . . . . 7-58

    Setting Nonsequential Timing Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-58

    Setting Recovery and Removal Timing Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 7-60Recovery Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-60Removal Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-62

    Setting No-Change Timing Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-63In the CMOS Scalable Polynomial Delay Model . . . . . . . . . . . . . . . . . . . . . . . . 7-67

    Setting Skew Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-68

    Setting Conditional Timing Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-69when and sdf_cond Simple Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-70when_start Simple Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-70sdf_cond_start Simple Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-70when_end Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-71sdf_cond_end Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-71sdf_edges Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-71min_pulse_width Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-72

    min_pulse_width Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-72constraint_high and constraint_low Simple Attributes . . . . . . . . . . . . . . . . 7-72when and sdf_cond Simple Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-72

    minimum_period Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-72minimum_period Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-72constraint Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-73when and sdf_cond Simple Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-73

    min_pulse_width and minimum_period Example . . . . . . . . . . . . . . . . . . . . . . . 7-73Using Conditional Attributes With No-Change Constraints . . . . . . . . . . . . . . . . 7-75

    Impossible Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-76

    Examples of NLDM Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-76CMOS Piecewise Linear Delay Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-76Library With Timing Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-79CMOS Scalable Polynomial Delay Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-82Library With Clock Insertion Delay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-86

    Contents x

  • Liberty User Guide, Volume 1 Version 2017.06

    Describing a Transparent Latch Clock Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-86

    Driver Waveform Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-88Library-Level Tables, Attributes, and Variables . . . . . . . . . . . . . . . . . . . . . . . . . 7-90

    normalized_voltage Variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-90normalized_driver_waveform Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-90driver_waveform_name Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-91

    Cell-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-91driver_waveform Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-91driver_waveform_rise and driver_waveform_fall Attributes . . . . . . . . . . . . 7-91

    Pin-Level Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-92driver_waveform Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-92driver_waveform_rise and driver_waveform_fall Attributes . . . . . . . . . . . . 7-92

    Driver Waveform Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-92

    Sensitization Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-94sensitization Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-94

    pin_names Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-95vector Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-95

    Cell-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-95sensitization_master Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-96pin_name_map Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-96

    timing Group Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-96sensitization_master Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-96pin_name_map Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-96wave_rise and wave_fall Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-97wave_rise_sampling_index and wave_fall_sampling_index Attributes . . . 7-98wave_rise_time_interval and wave_fall_time_interval Attributes . . . . . . . . 7-98

    timing Group Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-99NAND Cell Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-100Complex Macro Cell Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-101

    Phase-Locked Loop Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-103Phase-Locked Loop Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-104Cell-Level Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-104

    is_pll_cell Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-104Pin-Level Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-104

    is_pll_reference_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-105is_pll_feedback_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-105is_pll_output_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-105

    Phase-Locked Loop Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-105

    Chapter 1: Contents1-xiContents xi

  • Liberty User Guide, Volume 1 2017.06Liberty User Guide, Volume 1 Version 2017.06

    8. Modeling Power and Electromigration

    Modeling Power Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2Static Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2Dynamic Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2

    Internal Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2Switching Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3

    Switching Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4

    Modeling for Leakage Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4

    Representing Leakage Power Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4cell_leakage_power Simple Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4Using the leakage_power Group for a Single Value . . . . . . . . . . . . . . . . . . . . . 8-5

    mode Complex Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5when Simple Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6value Simple Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8

    leakage_power_unit Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8default_cell_leakage_power Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9

    Threshold Voltage Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12

    Modeling for Internal and Switching Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13Modeling Internal Power Lookup Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14

    Representing Internal Power Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15Specifying the Power Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15Using Lookup Table Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15

    power_lut_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16Scalar power_lut_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18

    Defining Internal Power Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18Naming Power Relationships, Using the internal_power Group . . . . . . . . . . . . 8-18

    Power Relationship Between a Single Pin and a Single Related Pin . . . . . 8-19Power Relationships Between a Single Pin and Multiple Related Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19Power Relationships Between a Bundle and a Single Related Pin . . . . . . 8-20Power Relationships Between a Bundle and Multiple Related Pins . . . . . . 8-21Power Relationships Between a Bus and a Single Related Pin . . . . . . . . . 8-23Power Relationships Between a Bus and Multiple Related Pins . . . . . . . . 8-24Power Relationships Between a Bus and Related Bus Pins . . . . . . . . . . . 8-26

    internal_power Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26

    Contents xii

  • Liberty User Guide, Volume 1 Version 2017.06

    equal_or_opposite_output Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . 8-27falling_together_group Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . 8-28power_level Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-28related_pin Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31rising_together_group Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31switching_interval Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-32switching_together_group Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . 8-33when Simple Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-33mode Complex Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-34fall_power Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-35power Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-36rise_power Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-37

    Internal Power Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39One-Dimensional Power Lookup Table . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39Two-Dimensional Power Lookup Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-40Three-Dimensional Power Lookup Table . . . . . . . . . . . . . . . . . . . . . . . . . . 8-41

    Modeling Libraries With Integrated Clock-Gating Cells . . . . . . . . . . . . . . . . . . . . . . 8-42What Clock Gating Does . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-42Looking at a Gated Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43Using an Integrated Clock-Gating Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-44Setting Pin Attributes for an Integrated Cell. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-45

    clock_gate_clock_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-45clock_gate_enable_pin Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . 8-45clock_gate_test_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-46clock_gate_obs_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-46clock_gate_out_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-47Clock-Gating Timing Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-47Timing Considerations for Integrated Cells. . . . . . . . . . . . . . . . . . . . . . . . . 8-49Integrated Clock-Gating Cell Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-50

    Modeling Electromigration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-52Controlling Electromigration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-52em_lut_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-53electromigration Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-55

    9. Advanced Low-Power Modeling

    Power and Ground (PG) Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3Example Libraries With Multiple Power Supplies . . . . . . . . . . . . . . . . . . . . . . . 9-3Partial PG Pin Cell Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6

    Chapter 1: Contents1-xiiiContents xiii

  • Liberty User Guide, Volume 1 2017.06Liberty User Guide, Volume 1 Version 2017.06

    Special Partial PG Pin Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7Supported Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8Partial PG Pin Cell Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8

    PG Pin Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9Library-Level Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11

    voltage_map Complex Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11default_operating_conditions Simple Attribute . . . . . . . . . . . . . . . . . . . . . . 9-11

    Cell-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11pg_pin Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11is_pad Simple Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11voltage_name Simple Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11pg_type Simple Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12physical_connection Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13related_bias_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13user_pg_type Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14

    Pin-Level Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14power_down_function Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14related_power_pin and related_ground_pin Attributes . . . . . . . . . . . . . . . . 9-14output_signal_level_low and output_signal_level_high Attributes . . . . . . . 9-14input_signal_level_low and input_signal_level_high Attributes . . . . . . . . . 9-15related_pg_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15

    Timing-Level Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15output_signal_level_low and output_signal_level_high Attributes . . . . . . . 9-15

    Standard Cell With One Power and Ground Pin Example. . . . . . . . . . . . . . . . . 9-17Inverter With Substrate-Bias Pins Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-19Insulated Bias Modeling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-21

    PG Pin Power Mode Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-25Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-25Library-Level Groups and Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-26

    voltage_state_range_list Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-27voltage_state_range Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-27

    Cell-Level Groups and Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28pg_setting_definition Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28pg_setting_value Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28default_pg_setting Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-30pg_setting_transition Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-31illegal_transition_if_undefined Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-32

    Specifying Power States in Timing, Power, and Noise Models . . . . . . . . . . . . . 9-32pg_setting Attribute in mode_value Group . . . . . . . . . . . . . . . . . . . . . . . . . 9-32

    Contents xiv

  • Liberty User Guide, Volume 1 Version 2017.06

    mode Attribute in minimum_period and min_pulse_width Groups . . . . . . . 9-32Defining PG Modes in Macro Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-33Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-33

    Cell With Different Power States. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-34Power State Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-35Macro Cell With PG Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-37Retention Cell Leakage Power in Different Power Modes . . . . . . . . . . . . . 9-40

    Feedthrough Signal Pin Modeling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-46Multipin Feedthroughs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-46

    short Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-47Single-Pin Feedthrough . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-48

    Silicon-on-Insulator (SOI) Cell Modeling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-50Library-Level Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-52

    is_soi Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-52Cell-Level Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-52

    is_soi Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-52

    Level-Shifter Cells in a Multivoltage Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-52Operating Voltages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-53Level Shifter Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-53Basic Level-Shifter Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-53Cell-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-54

    is_level_shifter Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-54level_shifter_type Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-54input_voltage_range Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-55output_voltage_range Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-55ground_input_voltage_range Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56ground_output_voltage_range Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56

    Pin-Level Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56std_cell_main_rail Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56level_shifter_data_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56level_shifter_enable_pin Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56input_voltage_range and output_voltage_range Attributes . . . . . . . . . . . . 9-57ground_input_voltage_range Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-57ground_output_voltage_range Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-57input_signal_level Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-57power_down_function Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-57alive_during_power_up Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-58

    Enable Level-Shifter Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-58

    Chapter 1: Contents1-xvContents xv

  • Liberty User Guide, Volume 1 2017.06Liberty User Guide, Volume 1 Version 2017.06

    Differential Level-Shifter Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-58Clamping Enable Level-Shifter Cell Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-60

    Pin-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-61Level Shifter Modeling Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-62

    Simple Buffer Type Low-to-High Level Shifter . . . . . . . . . . . . . . . . . . . . . . 9-62Simple Buffer Type High-to-Low Level Shifter . . . . . . . . . . . . . . . . . . . . . . 9-65Power-and-Ground Level-Shifter Cell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-67Multibit Level-Shifter Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-69Overdrive Level-Shifter Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-71Level-Shifter Cell With Virtual Bias Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-73Enable Level-Shifter Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-74

    Isolation Cell Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-80Cell-Level Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-81

    is_isolation_cell Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-81Pin-Level Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-81

    isolation_cell_data_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-81isolation_cell_enable_pin Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-82power_down_function Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-82permit_power_down Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-82alive_during_partial_power_down Attribute . . . . . . . . . . . . . . . . . . . . . . . . 9-82alive_during_power_up Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-82Attribute Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-83

    Isolation Cell Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-83Multibit Isolation Cell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-85

    Clock-Isolation Cell Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-87Cell-Level Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-89Pin-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-89Clock Isolation Cell Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-89

    Clamping Isolation Cell Output Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-91Pin-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-92Example of Clamping in Isolation Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-93

    Isolation Cells With Multiple Control Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-94

    Switch Cell Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-97Coarse-Grain Switch Cells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-97

    Coarse-Grain Switch Cell Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-98Library-Level Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-100Cell-Level Attribute and Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-100Pin-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-101pg_pin Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-102

    Contents xvi

  • Liberty User Guide, Volume 1 Version 2017.06

    Fine-Grained Switch Support for Macro Cells . . . . . . . . . . . . . . . . . . . . . . . . . . 9-102Macro Cell With Fine-Grained Switch Syntax. . . . . . . . . . . . . . . . . . . . . . . 9-103Cell-Level Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-103pg_pin Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-104

    Switch-Cell Modeling Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-104Simple Coarse-Grain Header Switch Cell. . . . . . . . . . . . . . . . . . . . . . . . . . 9-104Complex Coarse-Grain Header Switch Cell . . . . . . . . . . . . . . . . . . . . . . . . 9-106Complex Coarse-Grain Switch Cell With an Internal Switch Pin . . . . . . . . 9-108Complex Coarse-Grain Switch Cell With Parallel Switches . . . . . . . . . . . . 9-110

    Retention Cell Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-113Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-116Retention Cell Modeling Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-116Cell-Level Attributes, Groups, and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-119

    retention_cell Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-119ff, latch, ff_bank, and latch_bank Groups . . . . . . . . . . . . . . . . . . . . . . . . . . 9-119retention_condition Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-119clock_condition Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-120preset_condition and clear_condition Groups . . . . . . . . . . . . . . . . . . . . . . 9-121reference_pin_names Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-121variable1 and variable2 Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-122bits Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-122

    Pin-Level Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-122retention_pin Complex Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-122function Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-122reference_input Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-123save_action and restore_action Attributes . . . . . . . . . . . . . . . . . . . . . . . . . 9-123restore_edge_type Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-123save_condition and restore_condition Attributes . . . . . . . . . . . . . . . . . . . . 9-124

    Retention Cell Model Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-124

    Always-On Cell Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-142Always-On Cell Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-142always_on Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-142Always-On Simple Buffer Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-143

    Macro Cell Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-144Macro Cell Isolation Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-144

    Pin-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-147Modeling Macro Cells With Internal PG Pins. . . . . . . . . . . . . . . . . . . . . . . . . . . 9-147Macro Cell With Fine-Grained Internal Power Switches . . . . . . . . . . . . . . . . . . 9-150

    Chapter 1: Contents1-xviiContents xvii

  • Liberty User Guide, Volume 1 2017.06Liberty User Guide, Volume 1 Version 2017.06

    Macro Cell With an Always-On Pin Example. . . . . . . . . . . . . . . . . . . . . . . . . . . 9-151

    Modeling Antenna Diodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-153Antenna-Diode Cell Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-153

    Cell-Level Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-154Pin-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-155Antenna-Diode Cell Modeling Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-155

    Modeling Cells With Built-In Antenna-Diode Ports . . . . . . . . . . . . . . . . . . . . . . 9-156Pin-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-156Antenna-Diode Pin Modeling Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-157

    10. Composite Current Source Modeling

    Modeling Cells With Composite Current Source Information . . . . . . . . . . . . . . . . . . 10-2

    Representing Composite Current Source Driver Information . . . . . . . . . . . . . . . . . . 10-2Composite Current Source Lookup Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2Defining the output_current_template Group. . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2

    output_current_template Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2Template Variables for CCS Driver Models . . . . . . . . . . . . . . . . . . . . . . . . 10-3output_current_template Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3

    Defining the Lookup Table Output Current Groups . . . . . . . . . . . . . . . . . . . . . . 10-3output_current_rise Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3

    vector Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4reference_time Simple Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4Template Variables for CCS Driver Models . . . . . . . . . . . . . . . . . . . . . . . . 10-4vector Group Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4

    Representing Composite Current Source Receiver Information. . . . . . . . . . . . . . . . 10-5

    Comparison Between Two-Segment and Multisegment Receiver Models . . . . . . . . 10-5

    Two-Segment Receiver Capacitance Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6Defining the receiver_capacitance Group at the Pin Level . . . . . . . . . . . . . . . . 10-7

    Defining the lu_table_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8Conditional Data Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9

    Defining the Receiver Capacitance Groups at the Timing Level . . . . . . . . . . . . 10-13Conditional Data Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14Defining the lu_table_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14Timing-Level receiver_capacitance Example . . . . . . . . . . . . . . . . . . . . . . . 10-15

    Multisegment Receiver Capacitance Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15

    Contents xviii

  • Liberty User Guide, Volume 1 Version 2017.06

    Library-Level Groups and Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16lu_table_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16receiver_capacitance_rise_threshold_pct and receiver_capacitance_fall_threshold_pct Attributes . . . . . . . . . . . . . . . . . . 10-17

    Pin and Timing Level Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18receiver_capacitance Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18Conditional Data Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19

    Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19

    CCS Retain Arc Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21CCS Retain Arc Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22

    ccs_retain_rise and ccs_retain_fall Groups . . . . . . . . . . . . . . . . . . . . . . . . 10-23vector Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23reference_time Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23

    Compact CCS Retain Arc Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23compact_ccs_retain_rise and compact_ccs_retain_fall Groups. . . . . . . . . 10-24base_curves_group Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-25index_1, index_2, and index_3 Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . 10-25values Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-25

    Composite Current Source Driver and Receiver Model Example. . . . . . . . . . . . . . . 10-25

    11. Advanced Composite Current Source Modeling

    Modeling Cells With Advanced Composite Current Source Information. . . . . . . . . . 11-2

    Compact CCS Timing Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2Modeling With CCS Timing Base Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2Compact CCS Timing Model Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4

    base_curves Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6compact_lut_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6compact_ccs_{rise|fall} Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7

    Compact CCS Timing Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7

    Variation-Aware Timing Modeling Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9Variation-Aware Compact CCS Timing Driver Model . . . . . . . . . . . . . . . . . . . . 11-9

    timing_based_variation Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-10va_compact_ccs_rise and va_compact_ccs_fall Groups . . . . . . . . . . . . . . 11-11timing_based_variation and pin_based_variation Groups . . . . . . . . . . . . . 11-12

    Variation-Aware CCS Timing Receiver Model . . . . . . . . . . . . . . . . . . . . . . . . . . 11-14timing_based_variation and pin_based_variation Groups . . . . . . . . . . . . . 11-15va_parameters Complex Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15nominal_va_values Complex Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15

    Chapter 1: Contents1-xixContents xix

  • Liberty User Guide, Volume 1 2017.06Liberty User Guide, Volume 1 Version 2017.06

    va_receiver_capacitance1_rise, va_receiver_capacitance1_fall, va_receiver_capacitance2_rise, and va_receiver_capacitance2_fall Groups . . . . . . . . . . . . . . . . . . . . . . . . 11-16va_values Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-16

    Variation-Aware Timing Constraint Modeling. . . . . . . . . . . . . . . . . . . . . . . . . . . 11-16timing_based_variation Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-17va_parameters Complex Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-17nominal_va_values Complex Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-18va_rise_constraint and va_fall_constraint Groups . . . . . . . . . . . . . . . . . . . 11-18va_values Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-18

    Conditional Data Modeling for Variation-Aware Timing Receiver Models . . . . . 11-18when Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-20mode Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-20

    Variation-Aware Compact CCS Retain Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-25va_compact_ccs_retain_rise and va_compact_ccs_retain_fall Groups . . . 11-26va_values Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-26values Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-26

    Variation-Aware Syntax Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-26

    12. Nonlinear Signal Integrity Modeling

    Modeling Noise Terminology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2Noise Calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2Noise Immunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2Noise Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3

    Modeling Cells for Noise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3I-V Characteristics and Drive Resistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3Noise Immunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-5Using the Hyperbolic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8Noise Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-8

    Representing Noise Calculation Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10I-V Characteristics Lookup Table Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10

    iv_lut_template Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10Defining the Lookup Table Steady-State Current Groups . . . . . . . . . . . . . . . . . 12-11I-V Characteristics Curve Polynomial Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12

    poly_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12Defining Polynomial Steady-State Current Groups . . . . . . . . . . . . . . . . . . . . . . 12-13Using Steady-State Resistance Simple Attributes . . . . . . . . . . . . . . . . . . . . . . 12-15

    Contents xx

  • Liberty User Guide, Volume 1 Version 2017.06

    Using I-V Curves and Steady-State Resistance for tied_off Cells . . . . . . . . . . . 12-15Defining tied_off Attribute Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-16

    Representing Noise Immunity Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-17Noise Immunity Lookup Table Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-17

    noise_lut_template Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-17Defining the Noise Immunity Table Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-18Noise Immunity Polynomial Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-19

    poly_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-20Defining the Noise Immunity Polynomial Groups . . . . . . . . . . . . . . . . . . . . 12-21

    Input Noise Width Ranges at the Pin Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-22Defining the input_noise_width Range Limits. . . . . . . . . . . . . . . . . . . . . . . 12-22

    Defining the Hyperbolic Noise Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-23

    Representing Propagated Noise Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-25Propagated Noise Lookup Table Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-25

    propagation_lut_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-25Defining the Propagated Noise Table Groups . . . . . . . . . . . . . . . . . . . . . . 12-26

    Propagated Noise Polynomial Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-28poly_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-29

    Defining Propagated Noise Groups for Polynomial Representation . . . . . 12-30

    Examples of Modeling Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-32Scalable Polynomial Model Noise Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-32Nonlinear Delay Model Library With Noise Information . . . . . . . . . . . . . . . . . . . 12-39

    13. Composite Current Source Signal Integrity Modeling

    CCS Signal Integrity Modeling Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2CCS Signal Integrity Modeling Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2Library-Level Groups and Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-7

    lu_table_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-7variable_1, variable_2, variable_3, and variable_4 Attributes . . . . . . . . . . 13-7

    Pin-Level Groups and Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-7ccsn_first_stage and ccsn_last_stage Groups . . . . . . . . . . . . . . . . . . . . . . 13-7is_needed Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8is_inverting Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8stage_type Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-9miller_cap_rise and miller_cap_fall Attributes . . . . . . . . . . . . . . . . . . . . . . 13-9output_signal_level and input_signal_level Attributes . . . . . . . . . . . . . . . . 13-9dc_current Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-9

    Chapter 1: Contents1-xxiContents xxi

  • Liberty User Guide, Volume 1 2017.06Liberty User Guide, Volume 1 Version 2017.06

    output_voltage_rise and output_voltage_fall Groups . . . . . . . . . . . . . . . . . 13-10propagated_noise_high and propagated_noise_low Groups . . . . . . . . . . 13-10when Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-10

    CCS Noise Library Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-10Conditional Data Modeling in CCS Noise Models . . . . . . . . . . . . . . . . . . . . . . . 13-13

    when Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14mode Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-15

    CCS Noise Modeling for Unbuffered Cells With a Pass Gate. . . . . . . . . . . . . . . . . . 13-16Syntax for Unbuffered Output Latches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-17Pin-Level Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-18

    is_unbuffered Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-18has_pass_gate Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-19ccsn_first_stage Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-19is_pass_gate Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-19

    CCS Noise Modeling for Multivoltage Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-19

    Referenced CCS Noise Modeling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-22Modeling Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-23Cell-Level Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-24

    driver_waveform Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-24driver_waveform_rise and driver_waveform_fall Attributes . . . . . . . . . . . . 13-24

    Pin-Level Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-24input_ccb and output_ccb Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-24

    Timing-Level Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-26active_input_ccb Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-26active_output_ccb Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-26propagating_ccb Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-26

    Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-27

    14. Composite Current Source Power Modeling

    Composite Current Source Power Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2Cell Leakage Current. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2Gate Leakage Modeling in Leakage Current . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-3

    gate_leakage Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4input_low_value Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4input_high_value Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4

    Intrinsic Parasitic Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5Voltage-Dependent Intrinsic Parasitic Models . . . . . . . . . . . . . . . . . . . . . . 14-7Library-Level Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-9

    Contents xxii

  • Liberty User Guide, Volume 1 Version 2017.06

    lu_table_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-9Pin-Level Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10lut_values Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10

    Parasitics Modeling in Macro Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10total_capacitance Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10Parasitics Modeling Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10

    Dynamic Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-11Dynamic Power and Ground Current Table Syntax . . . . . . . . . . . . . . . . . . 14-11Dynamic Power Modeling in Macro Cells . . . . . . . . . . . . . . . . . . . . . . . . . . 14-12Examples for CCS Dynamic Power for Macro Cells. . . . . . . . . . . . . . . . . . 14-13Conditional Data Modeling for Dynamic Current Example . . . . . . . . . . . . . 14-15

    Dynamic Current Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-17

    Compact CCS Power Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-17Compact CCS Power Syntax and Requirements . . . . . . . . . . . . . . . . . . . . . . . 14-19Library-Level Groups and Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-21

    base_curves Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-21compact_lut_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22

    Cell-Level Groups and Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-23compact_ccs_power Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-23

    Composite Current Source Dynamic Power Examples . . . . . . . . . . . . . . . . . . . . . . 14-24Design Cell With a Single Output Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-24Dense Table With Two Output Pins Example . . . . . . . . . . . . . . . . . . . . . . . . . . 14-24Cross Type With More Than One Output Pin Example . . . . . . . . . . . . . . . . . . . 14-25Diagonal Type With More Than One Output Pin Example . . . . . . . . . . . . . . . . 14-26

    15. On-Chip Variation (OCV) Modeling

    OCV Model Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2

    Advanced OCV Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2Library-Level Groups and Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-3

    ocv_table_template Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-3ocv_derate Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-4default_ocv_derate_group Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5ocv_arc_depth Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5

    Cell-Level Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .