• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Cadence Liberate Characterization Help

Stats

  • Locked Locked
  • Replies 48
  • Subscribers 126
  • Views 32241
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Cadence Liberate Characterization Help

anurans
anurans over 7 years ago

Hi All,

For the characterization of a standard cell library, I am using LIBERATE_15.14.070 version. The cell spice model was generated using IC6.1.5, and I am using Spectre as the external simulator for the characterization. I have a question specifically on the leakage_power nodes of the .lib file generated by Liberate. For an example, for a simple inverter, I ended up having leakage_power values as follows (in the link):

https://pastebin.com/grfasa1s

However the resulting leakage values do not follow the circuit simulation values in IC6-Spectre.

> Can anybody explain why the leakage value related to VSS pin is always 0 ? 

> How does the Liberate calculate these values ? Is there a way to evaluate the accuracy of Liberate-Spectre simulation ?

Thanks in advance

Anuradha

  • Cancel
Parents
  • Guangjun Cao
    Guangjun Cao over 7 years ago

    Hi Anuradha,

    First of all, please move to the latest Liberate release, 17.1.3.

    When characterising leakage power, by default, the measured dc current will be multiplied by the supply voltage. This will result in a leakage value of 0 for all gnd supplies operating at 0 volts.

    Leakage modelling depends on voltage_map, leakage_mode settings and leakage_add_input_pin in your script. You can find detailed explanation of different combinations and their impacts in the Liberate documentation. 

    You may use extsim_deck_dir and extsim_save_passed/failed options to save the spice decks for each characterisation/arc/vector. After the run, you can run standalone Spectre simualtion and check the results.

    Regards,

    Guangjun

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • anurans
    anurans over 7 years ago in reply to Guangjun Cao

    Hi, thanks for your reply Guang.

    This is how my template for the inverter looks like : https://pastebin.com/1gYJHUP7

    As per the reference manual, I use the default modes (haven't specified them explicitly) for voltage_map, leakage_mode and leakage_add_input_pin in above template. So that means, I am using following settings (1) for the leakage computation : 

    But when I simulate this inverter schematic with parasitics in AE, the observed leakage power (IDDxVDD) when the input=1 (PMOS off) was 95.95 pW (87pA*1.1V). When the input=0 (NMOS off), this was found to be 190.01 pW (172.74 pA * 1.1V). But non of the leakage power values in the generated .lib file (https://pastebin.com/grfasa1s) for given input conditions do not match to these simulation values. Am I missing something here ? 

    Anuradha

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 7 years ago in reply to anurans

    Since your VSS and V_input_low are both zero, VSS related power will be zero.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • anurans
    anurans over 7 years ago in reply to Guangjun Cao

    Hi, yes it is clear to me why the VSS pg power became 0. No issue of that Slight smile

    The question I have is, as per my characterization library content (take a look at it : https://pastebin.com/grfasa1s),  even the leakage values I got for VDD pg_pin are wrong. i.e. 

    leakage_power () {

          value : 0.0484719;

          when : "I&!ZN";

          related_pg_pin : VDD;

    }

    leakage_power () {

         value : 0.141881;

         when : "!I&ZN";

         related_pg_pin : VDD;

    }

    But when I simulate this inverter schematic with parasitics in AE, the observed leakage power (IDDxVDD) when the input=1 (PMOS off) was 95.95 pW (87pA*1.1V). When the input=0 (NMOS off), this was found to be 190.01 pW (172.74 pA * 1.1V). I used both internal and external (spectre) simulators for characterization (same PVT in both cases), but the result is same. Can anyone explain why the spice simulation values differ from the characterization result.

    Thanks

    Anuradha

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • anurans
    anurans over 7 years ago in reply to Guangjun Cao

    Hi, yes it is clear to me why the VSS pg power became 0. No issue of that Slight smile

    The question I have is, as per my characterization library content (take a look at it : https://pastebin.com/grfasa1s),  even the leakage values I got for VDD pg_pin are wrong. i.e. 

    leakage_power () {

          value : 0.0484719;

          when : "I&!ZN";

          related_pg_pin : VDD;

    }

    leakage_power () {

         value : 0.141881;

         when : "!I&ZN";

         related_pg_pin : VDD;

    }

    But when I simulate this inverter schematic with parasitics in AE, the observed leakage power (IDDxVDD) when the input=1 (PMOS off) was 95.95 pW (87pA*1.1V). When the input=0 (NMOS off), this was found to be 190.01 pW (172.74 pA * 1.1V). I used both internal and external (spectre) simulators for characterization (same PVT in both cases), but the result is same. Can anyone explain why the spice simulation values differ from the characterization result.

    Thanks

    Anuradha

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Guangjun Cao
    Guangjun Cao over 7 years ago in reply to anurans

    Sorry, but I though you were still asking about VSS related power in your last question.

    To debug any characterized values, you can use the following commands to save the Spice deck. After the run, go to the specified deck_dir and open the map.lst file to find the corresponding subdirectory for each arc. Open the sim.sp and remove the save=none option. re-run this deck. After simulation, use VIAV to view the waveform. If there are differences between these results and your schematic simulations, look into the sim.sp. If you see anything wrong, we will need to have a full test case to investigate.

    set_var extsim_deck_dir  <full_path_here>

    set_var extsim_save_passed deck

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • anurans
    anurans over 7 years ago in reply to Guangjun Cao

    Thanks, after running the spice deck, I was able to verify the issue......

    Anuradha

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information