• 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. Liberate-max_transition

Stats

  • Locked Locked
  • Replies 22
  • Subscribers 126
  • Views 20408
  • 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

Liberate-max_transition

fengye
fengye over 6 years ago

Hi, everyone,

     When I use liberate to characterize some standard cells, like OAI21M0R at much lower voltage 0.3V. I set  such parameter with auto-index.

set_var max_transition 1.2e-7
set_var min_transition 1.0e-8
set_var min_output_cap 1e-17

However, I get the following error reminder

.........*Error* (char_library -auto_index) : the maximum load for OAI21M1R:Z is smaller than the specified min_output_cap (5.80844e-18F <= 1e-17F). This problem might be caused by insufficient drive strength or a max_transition value that is too small.

If I increase the max_transition value, the D-flipflop cannot meet the sequential timing. Did anyone meet this question?

  • Cancel
  • Guangjun Cao
    Guangjun Cao over 6 years ago

    Hi Fengye,

    The min_output-cap is already very small. Are you sure your cell/model works fine at the give voltage? Does the error occur at all slew or just the max_transition? If increasing the max_transition works for some cells bu causes issue with other cells, you may have to use define_index command to change the slew or load table for other cells. You can get a template following the steps below,

    1. use -auto-index -trial options in char_libarary command and generate a template library, with the max_transition that is the maximum of all the transitions.

    2. use write_template to generate a template file

    3. adding define_index commands to change the slew or load table on cell/pin basis.

    Regards,

    Guangjun

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • fengye
    fengye over 6 years ago in reply to Guangjun Cao


    Hi, Guangjun, thanks for your reply.My cell can normally work at the given voltage 0.3V. I have simulated with Hspice. The error occur with the cell OAI21M0R, OAI21M1R,... The error information mainly concern about maximum load for the cell pin and min_output_cap. According to the reminder,if I increase the max_transition, the sequential cell D-flipflop will meet error for removal time.
    I don't know how to set proper index value for the cell, so I choose the auto_index. I remember you said,"min_transition is the minimum transition of the cells in your library. max_transition can be defined based on the actual design the library is used for. "
    Now, for this question, do I need to use define_index? How I can properly set the proper index value?
    Hope to receive your reply in your free time.
    Regars,
    fengye

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 6 years ago in reply to fengye

    Hi Fengye,

    If you remove define the index table manually without -auto_index, does the error still occur?

    Thanks,

    Guangjun

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • fengye
    fengye over 6 years ago in reply to Guangjun Cao

    Hi, Guangjun. If I remove the auto_index from char_library, and I add ""

    define_template -type delay \
    -index_1 {12 22 37 50 60 70 80 90 100 110 120 } \
    -index_2 {0.001 0.002 0.0035 0.005 0.0065 0.008 0.0095 0.011 0.0125 0.014 0.016 } \
    delay_template_11x11

    define_template -type power \
    -index_1 {12 22 37 50 60 70 80 90 100 110 120 } \
    -index_2 {0.001 0.002 0.0035 0.005 0.0065 0.008 0.0095 0.011 0.0125 0.014 0.016 } \
    power_template_11x11

    The new error occurs, like "ERROR (LIB-174): (char_library): The template 'delay_template_11x11' has an unreasonable '-index_1' slew value of: 100 nanoseconds which is greater than the sim_duration (1e-07 seconds). Update the 'define_template' and 'define_index' commands or the sim_duration in the Tcl script and rerun."

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 6 years ago in reply to fengye

    Hi,

    with the slew index table, the max slew is 120ns, which is bigger than your sim_duration of 1e-7s. You may sue sim_duration to increase its value. you may also need to set sim_estimate_duration=0

    Regards,

    Guangjun

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • fengye
    fengye over 6 years ago in reply to Guangjun Cao

    Hi,

    After I set sim_duration =1e-5s, and  sim_estimate_duration=0, there is no error. But all the value of the table is casual, which may lead inaccurate library. I still don't know why it cannot work with auto_index, and max_transion=120n

    Regards,

    fengye

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • fengye
    fengye over 6 years ago in reply to Guangjun Cao

    Hi, Guangjun,

    The following are some warnings for the auto_index setting. 

    .WARNING (LIB-411): An estimated max load value of 3.17381e-16F will be used for slew: '3.80423e-07s' pin: 'Z' of cell: 'AOI21M0R' because the auto_index algorithm failed to determine the max load using bisection. This can occur when the inside-view algorithm cannot determine a valid vector. Add appropriate 'define_arc' commands specific to pin 'Z' and rerun.
    WARNING (LIB-411): An estimated max load value of 2.80317e-16F will be used for slew: '4.52601e-07s' pin: 'Z' of cell: 'AOI21M1R' because the auto_index algorithm failed to determine the max load using bisection. This can occur when the inside-view algorithm cannot determine a valid vector. Add appropriate 'define_arc' commands specific to pin 'Z' and rerun.

    How should I set the proper index value?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 6 years ago in reply to fengye

    Hi Fengye,

    have you run Spectre simulation with the max slew and min/max load? do you see output transition within the range of slew index?

    Regards,

    guangjun

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • fengye
    fengye over 6 years ago in reply to Guangjun Cao

    Hi, Guangjun,

       Thanks for your reply! Happy mid-autumn day to you!  I run hspice simulation for OAI21M0R with input slew=120n, load= 1fF, the output rise transition=42.3ns, fall transition=30.5ns,(from 10% to 90%). If the load=16fF, the output rise transition=265ns, fall transition=91ns.

    The ouutput behaves the normal function. Is the maximum transition unreasonable? 

    Regards,

    fengye

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 6 years ago in reply to fengye

    Hi Fengye,

    happy mid-fall day.

    I suggest you not to use auto_index in this case.

    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