• 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. use cadence liberate to characterize a cell that has capacitance...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 125
  • Views 1150
  • 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

use cadence liberate to characterize a cell that has capacitance and resistance,but failed...

TH20240830782
TH20240830782 11 months ago

I need to characterize a cell that has capacitance and resistance , I specified leafcell, but something went wrong, here is the ERROR:

ERROR (SFE-396): "/home/IC/Project/smic18ee_lab/K_library/lab/MODELS/smic18ee_standalone/e2r018_real5v_v0p2_3t_spe.mdl" 839: Model `rnpo2sabe2r' has already been defined.

ERROR (SFE-396): "/home/IC/Project/smic18ee_lab/K_library/lab/MODELS/smic18ee_standalone/e2r018_real5v_v0p2_3t_spe.mdl" 846: Model `pipe2r' has already been defined.

here is the input file :

# Liberate Characterization Tcl File
# MODS by Tom Briggs (C) 2018

# Set the run directory. Here we use PWD, but in a distributed
# environment, it is recommended to directly specify the full path
# instead of using "PWD"
set rundir $env(PWD)

# Create the directories Liberate will write to.
exec mkdir -p ${rundir}/LDB
exec mkdir -p ${rundir}/LIBRARY
exec mkdir -p ${rundir}/DATASHEET


set_operating_condition -voltage 5 -temp 25
set_var extsim_model_include ${rundir}/MODELS/smic18ee_standalone/include_ff.scs

# d g s b
define_leafcell -type nmos -pin_position { 0 1 2 3 } \
{ nlv50e2r }

define_leafcell -type pmos -pin_position { 0 1 2 3 } \
{ plv50e2r }
## ----------------------------------------
define_leafcell -extsim_model -type c -pin_position { 0 1 } \
{ pipe2r }
define_leafcell -extsim_model -type r -pin_position { 0 1 } \
{ rnpo2sabe2r }


source ${rundir}/TEMPLATE/template.tcl

## Load Spice models and subckts ##
#set spicefiles $rundir/MODELS/include_SS.sp
foreach cell $cells {
lappend spicefiles ${rundir}/NETLIST/${cell}.scs
}

read_spice -format spectre ${spicefiles}


#read_spice -format spectre ${rundir}/NETLIST/INVX1.scs


## Characterize the library for NLDM (default), CCS and ECSM timing.
##char_library -ccs -ecsm -cells {dff_x1}
char_library -cells ${cells}
## Save characterization database for post-processing ##
write_ldb ${rundir}/LDB/ship_cells.ldb
write_library -overwrite ${rundir}/LIBRARY/ship_ccs_adder.lib
write_datasheet -format html -dir ${rundir}/DATASHEET "Ship Libs"

  • Cancel
  • Guangjun Cao
    Guangjun Cao 11 months ago

    ERROR (SFE-396) is from Spectre during simulation/netlist read-in. Can you check model wrapper to see if the sesctions containing flagged models, have been included twice? or the models have been included more than once --- make sure your netlist files do not 'include' model files.

    you use -extsim_model for the two leafcells. Do you also include the model through extsim_deck_header? If so, does your model wrapper also have these model files included?

    Other suggestions,

    1. add '-extsim spectre' to you char_library, when you use extsim_model_include

    2. add 'set_var tmpdir [pwd]/tmpDir'. when you see simulation-related errors, go into one of the subdir inside tmpDir/alt*, check sim.lis and sim.sp. you will also need to use 'set_var ski_enable 0', when doing such debug.

    Regards,

    Guangjun

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TH20240830782
    TH20240830782 11 months ago in reply to Guangjun Cao

    sir,thanks for your reply! According to your suggestions, the ERROR 369 is gone ,but the new ERROR is 

    INFO (LIB-511): (define_leafcell): Leafcell 'nlv50e2r' (instance) has been identified with pin_position (0 1 2 3) mapped to (D G S B).
    INFO (LIB-511): (define_leafcell): Leafcell 'plv50e2r' (instance) has been identified with pin_position (0 1 2 3) mapped to (D G S B).
    INFO (LIB-511): (define_leafcell): Leafcell 'pipe2r' (instance) has been identified with pin_position (0 1) mapped to (A C).
    INFO (LIB-511): (define_leafcell): Leafcell 'rnpo2sabe2r' (instance) has been identified with pin_position (0 1) mapped to (A C).

    WARNING (LIB-54): Some output transitions did not cross both 'measure_slew_*' thresholds for arc of cell:'rs_s2_1', r_pin:'R', r_pin dir:'r', pin:'Q', pin dir:'r', type:'combinational rise_transition' when: S. To debug, review the saved simulation results for deck: 'delay_1'. The program will automatically rerun with an extended sim_duration which equals to current estimated sim_duration multiplies 'variation_sim_tran_end_extend_factor' if 'retry_count' is greater than 0. If this message is displayed as Error eventually, which means all the retries are failed, possible solution includes manually setting 'extsim_exclusive' to 1 and 'sim_estimate_duration' to 0 with increased 'sim_duration' as needed and rerun.
    WARNING (LIB-54): Some output transitions did not cross both 'measure_slew_*' thresholds for arc of cell:'rs_s2_1', r_pin:'R', r_pin dir:'r', pin:'Q', pin dir:'r', type:'combinational rise_transition' when: !S. To debug, review the saved simulation results for deck: 'delay_2'. The program will automatically rerun with an extended sim_duration which equals to current estimated sim_duration multiplies 'variation_sim_tran_end_extend_factor' if 'retry_count' is greater than 0. If this message is displayed as Error eventually, which means all the retries are failed, possible solution includes manually setting 'extsim_exclusive' to 1 and 'sim_estimate_duration' to 0 with increased 'sim_duration' as needed and rerun.
    WARNING (LIB-54): Some output transitions did not cross both 'measure_slew_*' thresholds for arc of cell:'rs_s2_1', r_pin:'S', r_pin dir:'f', pin:'Q', pin dir:'r', type:'combinational rise_transition'. To debug, review the saved simulation results for deck: 'delay_4'. The program will automatically rerun with an extended sim_duration which equals to current estimated sim_duration multiplies 'variation_sim_tran_end_extend_factor' if 'retry_count' is greater than 0. If this message is displayed as Error eventually, which means all the retries are failed, possible solution includes manually setting 'extsim_exclusive' to 1 and 'sim_estimate_duration' to 0 with increased 'sim_duration' as needed and rerun.
    WARNING (LIB-54): Some output transitions did not cross both 'measure_slew_*' thresholds for arc of cell:'rs_s2_1', r_pin:'R', r_pin dir:'r', pin:'QN', pin dir:'r', type:'combinational rise_transition' when: S. To debug, review the saved simulation results for deck: 'delay_5'. The program will automatically rerun with an extended sim_duration which equals to current estimated sim_duration multiplies 'variation_sim_tran_end_extend_factor' if 'retry_count' is greater than 0. If this message is displayed as Error eventually, which means all the retries are failed, possible solution includes manually setting 'extsim_exclusive' to 1 and 'sim_estimate_duration' to 0 with increased 'sim_duration' as needed and rerun.
    WARNING (LIB-54): Some output transitions did not cross both 'measure_slew_*' thresholds for arc of cell:'rs_s2_1', r_pin:'R', r_pin dir:'r', pin:'QN', pin dir:'r', type:'combinational rise_transition' when: !S. To debug, review the saved simulation results for deck: 'delay_6'. The program will automatically rerun with an extended sim_duration which equals to current estimated sim_duration multiplies 'variation_sim_tran_end_extend_factor' if 'retry_count' is greater than 0. If this message is displayed as Error eventually, which means all the retries are failed, possible solution includes manually setting 'extsim_exclusive' to 1 and 'sim_estimate_duration' to 0 with increased 'sim_duration' as needed and rerun.
    WARNING (LIB-54): Some output transitions did not cross both 'measure_slew_*' thresholds for arc of cell:'rs_s2_1', r_pin:'S', r_pin dir:'f', pin:'QN', pin dir:'r', type:'combinational rise_transition'. To debug, review the saved simulation results for deck: 'delay_8'. The program will automatically rerun with an extended sim_duration which equals to current estimated sim_duration multiplies 'variation_sim_tran_end_extend_factor' if 'retry_count' is greater than 0. If this message is displayed as Error eventually, which means all the retries are failed, possible solution includes manually setting 'extsim_exclusive' to 1 and 'sim_estimate_duration' to 0 with increased 'sim_duration' as needed and rerun.

    MEM=973 MB

    Characterization finished at Mon Oct 7 16:55:25 2024

    Characterization statistics:

    Number of cells to characterize = 1
    Number of define_cell commands = 1
    Number of passing cells = 0
    Number of failing cells = 1
    WARNING (LIB-422): (char_library): 1 cells failed during characterization. Review the .log file for previous Warnings and Errors that could explain the failures. Update the Tcl script and rerun.
    List of failing cells {
    rs_s2_1
    }
    Performance statistics (4 thread(s)):
    Spectre CPU time: 0.00 hours (10.78 seconds)
    Total PreProcessing time: 0.00 hours (0.10 seconds)
    Total cpu time: 0.00 hours (11.51 seconds)
    Wall clock time: 0.00 hours (6.00 seconds)
    Finished Liberate Execution.
    Updating library database /home/IC/Project/smic18ee_lab/K_library/lab/LDB/ship_cells.ldb.59.gz
    Memory usage: 974 Mbytes

    LIBERATE parameter "mx_format_expand_buses" set to "0"
    LIBERATE parameter "ecsm_multi_stage_cap_mode" set to "0"
    LIBERATE parameter "ccsp_mode" set to "0"
    ERROR (LIB-632): (write_library) : The library will be incomplete because only failing characterization results exist for cell=rs_s2_1, pin=Q, related_pin=R, rise_power. Check and fix the characterization errors, recharacterize the design, and rewrite the library.
    ERROR (LIB-632): (write_library) : The library will be incomplete because only failing characterization results exist for cell=rs_s2_1, pin=Q, related_pin=R, timing_type=combinational, timing_sense=positive_unate, cell_rise. Check and fix the characterization errors, recharacterize the design, and rewrite the library.
    ERROR (LIB-632): (write_library) : The library will be incomplete because only failing characterization results exist for cell=rs_s2_1, pin=Q, related_pin=R, timing_type=combinational, timing_sense=positive_unate, rise_transition. Check and fix the characterization errors, recharacterize the design, and rewrite the library.
    ERROR (LIB-632): (write_library) : The library will be incomplete because only failing characterization results exist for cell=rs_s2_1, pin=Q, related_pin=R, timing_type=combinational, timing_sense=positive_unate, when=!S, cell_rise. Check and fix the characterization errors, recharacterize the design, and rewrite the library.
    ERROR (LIB-632): (write_library) : The library will be incomplete because only failing characterization results exist for cell=rs_s2_1, pin=Q, related_pin=R, timing_type=combinational, timing_sense=positive_unate, when=!S, rise_transition. Check and fix the characterization errors, recharacterize the design, and rewrite the library.
    ERROR (LIB-632): (write_library) : The library will be incomplete because only failing characterization results exist for cell=rs_s2_1, pin=Q, related_pin=R, timing_type=combinational, timing_sense=positive_unate, when=S, cell_rise. Check and fix the characterization errors, recharacterize the design, and rewrite the library.
    ERROR (LIB-632): (write_library) : The library will be incomplete because only failing characterization results exist for cell=rs_s2_1, pin=Q, related_pin=R, timing_type=combinational, timing_sense=positive_unate, when=S, rise_transition. Check and fix the characterization errors, recharacterize the design, and rewrite the library.

    thanks for your patience

    Sincerely, All the best,

    • 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