• 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 32237
  • 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
  • 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
  • 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
  • sazjad
    sazjad over 7 years ago

    Hi Anuradha,

    I am also trying to generate .lib files using the Liberate tool. Since you have already gone through the process, can you please help me with one issue?
    I have created a netlist from my circuit and used it in liberate to generate .lib file. However, it seems like the generated netlist is not compatible with the liberate or maybe be I am missing something. Have you had a this kind of issue?

    Thanks in advance.

    Best regards.
    Hossain

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

    Hi, can you be more specific about the issue you have ? Does Liberate give errors when reading the netlist ? 

    Anuradha

    • 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
  • sazjad
    sazjad over 7 years ago in reply to anurans

    Hi Anuradha,

    Thank you for your reply and I am sorry for my late response.

    I have tried with the sample run script, model file, and template provided with the Liberate tool and got the library creation working (shown in figure working_lib.png).
    However, when I tried with an extracted inverter netlist (attached inv_netlist_extracted.png) and 45nm NCSU PDK, the generated output is showing the cell_leakage_power as 0. In addition, the library that I have generated is not showing the inverter functionality like the other one (working_lib.png) is showing.

    I have attached the run script and template I am using. In addition, I have attached the working and incorrect generated library.


    Can you please take a look and see what might causes this issue?

    Thank you for your time.

    Best regards,

    Hossain




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

    Hi Hossain,

    Did your characterisation run finish successfully? please check the logfile for any warning or errors. do you see INVX1 in the 'List of failing cells' at the end of your logfile? 

    For further debug, please use the following settings to save the spice decks and run standalone Spectre to check the simulation results.

    set_var extsim_deck_dir  <full_path_here>

    set_var extsim_save_passed deck

    set_var extsim_save_failed deck

    Regards,

    Guangjun

    • 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