-
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 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .