• 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 ] Cells do not have -extsim_model parameter specified...

Stats

  • Locked Locked
  • Replies 34
  • Subscribers 125
  • Views 19917
  • 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 ] Cells do not have -extsim_model parameter specified in define_leafcell command

iamKarthikBK
iamKarthikBK over 4 years ago

I am trying to characterize a standard cell library, but liberate gives me the following errors.

WARNING (LIB-40): (set_var): Ignored the invalid value '$model' specified for 'extsim_model_include'. It should be set to an absolute file path.
INFO (LIB-511): (define_leafcell): Leafcell 'N_18_MM' (instance) has been identified with pin_position (0 1 2 3) mapped to (D G S B).
LIBERATE parameter "extsim_exclusive" set to "1"
INFO (LIB-511): (define_leafcell): Leafcell 'P_18_MM' (instance) has been identified with pin_position (0 1 2 3) mapped to (D G S B).
LIBERATE parameter "simulator" set to "spectre"
LIBERATE parameter "char_library_skip_var_list" set to ""
Start Characterizing Library at (Wed May 19 00:36:13 IST 2021)

WARNING (LIB-909): (read_spice): Could not find a model/subckt definition for instance 'c' named 'mim_va' with '2' terminals.  Liberate will attempt to guess the device type. Read the models in read_spice or use define_leafcell to map the name to a model/subckt and rerun.
WARNING (LIB-909): (read_spice): Could not find a model/subckt definition for instance 'r1' named 'res_va' with '2' terminals.  Liberate will attempt to guess the device type. Read the models in read_spice or use define_leafcell to map the name to a model/subckt and rerun.
WARNING (LIB-909): (read_spice): Could not find a model/subckt definition for instance 'rs' named 'reshr_va' with '2' terminals.  Liberate will attempt to guess the device type. Read the models in read_spice or use define_leafcell to map the name to a model/subckt and rerun.
WARNING (LIB-909): (read_spice): Could not find a model/subckt definition for instance 'rs' named 'resnp_va' with '2' terminals.  Liberate will attempt to guess the device type. Read the models in read_spice or use define_leafcell to map the name to a model/subckt and rerun.
WARNING (LIB-909): (read_spice): Could not find a model/subckt definition for instance 'rs' named 'respp_va' with '2' terminals.  Liberate will attempt to guess the device type. Read the models in read_spice or use define_leafcell to map the name to a model/subckt and rerun.
WARNING (LIB-933): To enable automatic leaf-cell recognition, the variable 'extsim_model_include' is required.
INFO (LIB-956): (read_spice): Reading file: 'dut.scs'.
INFO (LIB-955): (read_spice): Further occurrences of the preceding message will be suppressed.
INFO (LIB-940): The parser has identified the following leaf cells. Review these for missing or incorrect settings and if needed, add them to your Tcl script and rerun.
INFO (LIB-906): (AUTO): define_leafcell -type black_box -pin_position {0 1 2} l_slcr20k_rf
INFO (LIB-906): (AUTO): define_leafcell -type c -pin_position {0 1 2} mimcapm_rf
INFO (LIB-906): (AUTO): define_leafcell -type c -pin_position {0 1} mimcaps_mm
INFO (LIB-906): (AUTO): define_leafcell -type nmos -pin_position {0 1 2 3} n_l18w500_18_rf
INFO (LIB-906): (AUTO): define_leafcell -type nmos -pin_position {0 1 2 3} n_l34w500_33_rf
INFO (LIB-906): (AUTO): define_leafcell -type nmos -pin_position {0 1 2 3} n_po7w500_18_rf
INFO (LIB-906): (AUTO): define_leafcell -type nmos -pin_position {0 1 2 3} n_po7w500_33_rf
INFO (LIB-906): (AUTO): define_leafcell -type pmos -pin_position {0 1 2 3} p_l18w500_18_rf
INFO (LIB-906): (AUTO): define_leafcell -type pmos -pin_position {0 1 2 3} p_l34w500_33_rf
INFO (LIB-906): (AUTO): define_leafcell -type pmos -pin_position {0 1 2 3} p_po7w500_18_rf
INFO (LIB-906): (AUTO): define_leafcell -type pmos -pin_position {0 1 2 3} p_po7w500_33_rf
INFO (LIB-906): (AUTO): define_leafcell -type diode -pin_position {0 1} vardiop_rf
INFO (LIB-906): (AUTO): define_leafcell -type black_box -pin_position {0 1 2} varmis_18_rf
INFO (LIB-907): (AUTO): define_leafcell -element -type c -pin_position {0 1} mim_va
INFO (LIB-943): Finished reading netlist(s) at May 19 00:36:13.
INFO (LIB-711): Feature 'Virtuoso_Multi_mode_Simulation' exists in the license pool. The parameter 'spectre_use_mmsim_token_license' will be set to '1'.
INFO (LIB-1008): (char_library): This LIBERATE release was qualified with MMSIM version '' but newer version '19.1.0.396.isr8' was detected. If MMSIM-related issues are found, update to the qualified MMSIM version and re-run.
INFO (LIB-966): Using Spectre version 19.1.0.396.isr8 located at: /home/installs/SPECTRE191/tools/bin/spectre.
*Info* Use temporary directory '/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate'.
LIBERATE parameter "extsim_deck_dir" defaulted to cad19:/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/decks.cad19.T20210519003610741304S0014229
*Error* (char_library) : set_var extsim_use_leaf_cell is enabled, but
 not all leaf_cells have -extsim_model parameter defined. Since set_var extsim_model_include
 is not used.  Cannot continue, exiting.
*Note* : The following cells do not have -extsim_model parameter specified in define_leafcell command.
      : N_18_MM
      : P_18_MM

Peak memory usage:          340 MB
Peak virtual memory usage:  303 MB
Peak physical memory usage: 37 MB
Wall time      :    0.00 hours (3.00 seconds)
LIBERATE exited on cad19 at Wed May 19 00:36:13 2021

My char.tcl file is as follows:

define_template -type delay -index_1 {61.75 158.9 794.1} -index_2 {18.732 37.464 74.928} delay_3x3
define_template -type power -index_1 {61.75 158.9 794.1} -index_2 {18.732 37.464 74.928} power_3x3
define_template -type constraint -index_1 {61.75 158.9 794.1} -index_2 {18.732 37.464 74.928} constraint_3x3

set model "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/core_rf_v2d4.lib.scs"

set_operating_condition -voltage 0.3 -temp 25

set_var extsim_model_include \$model

define_leafcell -type nmos -pin_position {0 1 2 3} N_18_MM
define_leafcell -type pmos -pin_position {0 1 2 3} P_18_MM

read_spice -format spectre {dut.scs}

define_cell \
-input {in} \
-output {out} \
-delay delay_3x3 \
-power power_3x3 \
-constraint constraint_3x3 \
{INVX1}

define_cell \
-input {a b} \
-output {y} \
-delay delay_3x3 \
-power power_3x3 \
-constraint constraint_3x3 \
{NAND2X1 NOR2X1 AND2X1 OR2X1 XOR2X1 XNOR2X1}

char_library -extsim spectre
write_ldb lowpower.ldb
write_library lowpower.lib

I am using UMC's 180nm FDK and the MOS devices are named as N_18_MM and P_18_MM for nMOS and pMOS respectively.

I have a feeling that there's something wrong with my .tcl file

How do I go about this?

Thanks in advance!

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

    in addition, you have this warning in the logfile,

    WARNING (LIB-40): (set_var): Ignored the invalid value '$model' specified for 'extsim_model_include'. It should be set to an absolute file path.

    'extsim_model_include' only take full path.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to Guangjun Cao

    Yes I created the netlist using ADEL (ADE L ~> Simulation ~> Netlist ~> Create) after attaching the symbols to their respective 'av_extracted' views (ADE L ~> Setup ~> Environment ; set the first view to av_extracted).

    I also created the netlists using Assura Quantus by choosing the output format to be spice instead of av_extracted. Thanks for pointing this out, I'll try it this way. But here, I'd have to name all the .sp files (for each cell) right?

    Does this mean the nmos and pmos leaf cells were being defined automatically because N_18_MM and P_18_MM weren't 'found' in the netlist?

    extsim_model_include is being given an absolute path (starting from /) as shown in the question, sorry but I don't know if that's incorrect.

    I also see a lot of .scs files under Models/Spectre . There's a Models/Hspice as well. There's no one file called UMC.scs or so. According to the value given to '$model' in 'set model' , how can I know if that's the wrong model file? 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to Guangjun Cao

    Thank you so much for your detailed and extremely well-written answer.

    I included the correct model file from 'Models' that came from the foundry.

    In the MM180_SPECTRE_MAIN_V161.lib.scs file, I see this :

    1. MM180_REG18_V124.lib.scs
    // (UMC 0.18um Regular Vt 1.8V Mixed Mode process Spice Model )
    // Model Name:
    // N_18_MM ............. 1.8V NMOS Model
    // P_18_MM ............. 1.8V PMOS Model

    and later

    include "./SPECTRE/MM180_REG18_V124.lib.scs" section=tt

    in MM180_REG18_V124.lib.scs I see

    include "./MM180_REG18_V124.mdl.scs"

    where

    model n_18_mm bsim3v3 type=n

    and

    model p_18_mm bsim3v3 type=p

    are defined along with other resistor and capacitor models.

    Liberate says this:

    ERROR (LIB-926):  The program will terminate because the definition of the sub-circuit or model for instance 'M0' could not be found. Run the following checks in the given sequence: the subcircuit or model is loaded, the first line in the model file is empty or has a comment, and the netlist syntax is correct. If no problem is found in these checks, use the 'define_leafcell' command to define the sub-circuit or model, and rerun Tcl

    As far as I know, the MM180_SPECTRE_MAIN_V161.lib.scs should behave like a wrapper by itself because it includes all the files that define the required models. Right?

    Here is the modified char.tcl file, I am using netlists that were generated using Assura Quantus instead of the one from av_extracted.

    set rundir $env(PWD)

    exec mkdir -p ${rundir}/LDB
    exec mkdir -p ${rundir}/LIBRARY
    exec mkdir -p ${rundir}/DATASHEET

    set_var slew_lower_rise 0.2
    set_var slew_upper_rise 0.8
    set_var slew_lower_fall 0.2
    set_var slew_upper_fall 0.8

    set_var measure_slew_lower_rise 0.2
    set_var measure_slew_upper_rise 0.8
    set_var measure_slew_lower_fall 0.2
    set_var measure_slew_upper_fall 0.8

    set_var max_transition 61.75e-09

    define_template -type delay -index_1 {61.75 158.9 794.1} -index_2 {18.732 37.464 74.928} delay_3x3
    define_template -type power -index_1 {61.75 158.9 794.1} -index_2 {18.732 37.464 74.928} power_3x3
    define_template -type constraint -index_1 {61.75 158.9 794.1} -index_2 {18.732 37.464 74.928} constraint_3x3

    set model "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs"

    set_operating_condition -voltage 0.2 -temp 25

    set_var extsim_model_include $model

    define_leafcell -type nmos -pin_position {0 1 2 3} N_18_MM
    define_leafcell -type pmos -pin_position {0 1 2 3} P_18_MM

    read_spice {netlist/INVX1.sp netlist/AND2X1.sp netlist/NAND2X1.sp netlist/OR2X1.sp netlist/NOR2X1.sp netlist/XOR2X1.sp netlist/XNOR2X1.sp}

    define_cell \
    -input {in} \
    -output {out} \
    -delay delay_3x3 \
    -power power_3x3 \
    -constraint constraint_3x3 \
    {INVX1}

    define_cell \
    -input {a b} \
    -output {y} \
    -delay delay_3x3 \
    -power power_3x3 \
    -constraint constraint_3x3 \
    {NAND2X1 NOR2X1 AND2X1 OR2X1 XOR2X1 XNOR2X1}

    char_library -extsim spectre
    write_ldb ${rundir}/LDB/lowpower.ldb
    write_library -overwrite ${rundir}/LIBRARY/lowpower.lib
    write_datasheet -format text ${rundir}/DATASHEET/lowpower.txt
    write_datasheet -format html ${rundir}/DATASHEET/lowpower.html

    Thank you so so much for your patience and answers Slight smile

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 4 years ago in reply to iamKarthikBK
    iamKarthikBK said:
    define_leafcell -type nmos -pin_position {0 1 2 3} N_18_MM
    define_leafcell -type pmos -pin_position {0 1 2 3} P_18_MM

    you have not added -element option to these commands, as I suggested.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to Guangjun Cao

    Sorry I forgot to put this in the previous reply,

    define_leafcell -type nmos -pin_position {0 1 2 3} -element true N_18_MM
    define_leafcell -type pmos -pin_position {0 1 2 3} -element true P_18_MM

    is this how I am supposed to do it?

    Liberate says -element takes a 'boolflag' type

    Here's the logs:

    LIBERATE parameter "extsim_model_include" set to "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs"
    too many arguments (unexpected argument(s): N_18_MM), usage:
    Var/FlagName Type Value Help
    ------------ ---- ----- ----
    (-help gives this help)
    -type string () Cell type [nmos|pmos|diode|r|c|nmos_stk|pmos_stk|nmos_soi|pmos_soi|npn|pnp|black_box]
    -pins list () Pins position, usually start from 0 <drain gate source [bulks]> | <d g1 g2 s b [int] | <terminal_p terminal_n [bulks]>
    -pin_position list () Pins position, usually start from 0 <drain gate source [bulks]> | <d g1 g2 s b [int] | <terminal_p terminal_n [bulks]>
    -length string (L) mos param name of Length (default 'L')
    -width string (W) mos param name of Width (default 'W')
    -multiple string (M) mos param name of Multiple (default 'M')
    -area string (AREA) diode param name of area (default 'AREA')
    -pj string (PJ) diode param name of pj (default 'PJ')
    -nfin string (NFIN) nfin parameter of finfet (default 'NFIN')
    -scale float (1.0) mos param scale factor (default '1.0')
    -element boolflag (false) Enable circuit element based leaf cell, model name(s) has to be given.
    -inst boolflag (false) Enable specific instance based leaf cell, instance name(s) has to be given.
    -extsim_model boolflag (false) Enable user-defined extsim-model mode and use models included by extsim_deck_header
    cellNames list () List of leaf cell names or model names (if -element present)
    while executing
    "::tcl::OptKeyParse define_leafcell $args"
    (procedure "define_leafcell" line 1)
    invoked from within
    "define_leafcell -type nmos -pin_position {0 1 2 3} -element true N_18_MM "
    (file "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/tcl/char.tcl" line 29)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 4 years ago in reply to iamKarthikBK
    iamKarthikBK said:
    define_leafcell -type nmos -pin_position {0 1 2 3} -element true N_18_MM
    define_leafcell -type pmos -pin_position {0 1 2 3} -element true P_18_MM

    should be,

    define_leafcell -element -type nmos -pin_position {0 1 2 3}  N_18_MM
    define_leafcell -element -type pmos -pin_position {0 1 2 3}  P_18_MM

    please read the reference manual for more details.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to Guangjun Cao
    Guangjun Cao said:
    define_leafcell -element -type nmos -pin_position {0 1 2 3}  N_18_MM
    define_leafcell -element -type pmos -pin_position {0 1 2 3}  P_18_MM

    Still gives me

    ERROR (LIB-926): The program will terminate because the definition of the sub-circuit or model for instance 'M0' could not be found. Run the following checks in the given sequence: the subcircuit or model is loaded, the first line in the model file is empty or has a comment, and the netlist syntax is correct. If no problem is found in these checks, use the 'define_leafcell' command to define the sub-circuit or model, and rerun Tcl

    Guangjun Cao said:
    please read the reference manual for more details.

    Okay! I'll do that!

    Thank you so much!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 4 years ago in reply to iamKarthikBK
    iamKarthikBK said:
    ERROR (LIB-926): The program will terminate because the definition of the sub-circuit or model for instance 'M0' could not be found

    please share the line for instance 'M0' in your netlist. in addition, share all your read_spice commands and full logfile, the contents of your model wrapper. make sure, the first line in the model file is empty or has a comment. check if the devices names in model files and netlist are both in upper case.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to Guangjun Cao
    Guangjun Cao said:
    please share the line for instance 'M0' in your netlist.

    M0 out#5 in#6 gnd#1 gnd#2 N_18_MM L=1.8e-07
    + W=2.4e-07 effW=2.4e-07
    M1 out#2 in#4 avC5 vdd#1 P_18_MM L=1.8e-07
    + W=3.18e-06 effW=3.18e-06

    ^ This is the inverter netlist.

    Guangjun Cao said:
    share all your read_spice commands

    read_spice {netlist/INVX1.sp netlist/AND2X1.sp netlist/NAND2X1.sp netlist/OR2X1.sp netlist/NOR2X1.sp netlist/XOR2X1.sp netlist/XNOR2X1.sp}

    Guangjun Cao said:
    full logfile

    ROOT_DIR = /home/installs/LIBERATE192
    exepath = /home/installs/LIBERATE192/tools/bin
    Host : cad19 x86_64 Linux 2.6.32-696.el6.x86_64
    LIBERATE Library Characterization Platform (x86_64)
    Release dev, compiled by vficcm on Tue Sep 10 06:33:00 PDT 2019


    ********************************************************************
    * Copyright (c) Cadence Design Systems, Inc. 2006 - 2021. *
    * All rights reserved. *
    * *
    * *
    * *
    * This program contains confidential and trade secret information *
    * of Cadence Design Systems, Inc. and is protected by copyright *
    * law and international treaties. Any reproduction, use, *
    * distribution or disclosure of this program or any portion of it, *
    * or any attempt to obtain a human-readable version of this *
    * program, without the express, prior written consent of *
    * Cadence Design Systems, Inc., is strictly prohibited. *
    * *
    * Cadence Design Systems, Inc. *
    * 2655 Seely Avenue *
    * San Jose, CA 95134, USA *
    * *
    * *
    ********************************************************************


    Copyright notices for Open Source and Third Party Tools used by this
    software can be viewed at <cds_inst_dir>/doc/liberate/thirdpartyinfo/Notices.txt

    LIBERATE started on cad19 at Wed May 19 17:23:28 2021

    Command line arguments: 'tcl/char.tcl'.
    ALTOSHOME set to '/home/installs/LIBERATE192'.
    Server ID : T20210519172328944111S0002333
    LIBERATE parameter "slew_lower_rise" set to "0.2"
    LIBERATE parameter "slew_upper_rise" set to "0.8"
    LIBERATE parameter "slew_lower_fall" set to "0.2"
    LIBERATE parameter "slew_upper_fall" set to "0.8"
    LIBERATE parameter "measure_slew_lower_rise" set to "0.2"
    LIBERATE parameter "measure_slew_upper_rise" set to "0.8"
    LIBERATE parameter "measure_slew_lower_fall" set to "0.2"
    LIBERATE parameter "measure_slew_upper_fall" set to "0.8"
    LIBERATE parameter "max_transition" set to "6.175e-08"
    LIBERATE parameter "extsim_model_include" set to "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs"
    INFO (LIB-511): (define_leafcell): Leafcell 'N_18_MM' (element) has been identified with pin_position (0 1 2 3) mapped to (D G S B).
    LIBERATE parameter "extsim_exclusive" set to "1"
    INFO (LIB-511): (define_leafcell): Leafcell 'P_18_MM' (element) has been identified with pin_position (0 1 2 3) mapped to (D G S B).
    LIBERATE parameter "spectre_pwr" set to "0"
    LIBERATE parameter "simulator" set to "spectre"
    LIBERATE parameter "char_library_skip_var_list" set to ""
    Start Characterizing Library at (Wed May 19 17:23:31 IST 2021)

    ERROR (LIB-926): The program will terminate because the definition of the sub-circuit or model for instance 'M0' could not be found. Run the following checks in the given sequence: the subcircuit or model is loaded, the first line in the model file is empty or has a comment, and the netlist syntax is correct. If no problem is found in these checks, use the 'define_leafcell' command to define the sub-circuit or model, and rerun Tcl
    INFO (LIB-956): (read_spice): Reading file: 'netlist/INVX1.sp'.
    INFO (LIB-956): (read_spice): Reading file: 'netlist/AND2X1.sp'.
    INFO (LIB-956): (read_spice): Reading file: 'netlist/NAND2X1.sp'.
    INFO (LIB-956): (read_spice): Reading file: 'netlist/OR2X1.sp'.
    INFO (LIB-956): (read_spice): Reading file: 'netlist/NOR2X1.sp'.
    INFO (LIB-956): (read_spice): Reading file: 'netlist/XOR2X1.sp'.
    INFO (LIB-956): (read_spice): Reading file: 'netlist/XNOR2X1.sp'.
    Peak memory usage: 335 MB
    Peak virtual memory usage: 303 MB
    Peak physical memory usage: 32 MB
    Wall time : 0.00 hours (3.00 seconds)
    LIBERATE exited on cad19 at Wed May 19 17:23:31 2021

    Guangjun Cao said:
    the contents of your model wrapper.

    // *************************************************************************************************
    simulator lang=spectre insensitive=yes
    // Last update on 5/26/2005
    // WHAT CONTAINS IN THIS LIBRARY:
    //
    // 1. MM180_REG18_V124.lib.scs
    // (UMC 0.18um Regular Vt 1.8V Mixed Mode process Spice Model )
    // Model Name:
    // N_18_MM ............. 1.8V NMOS Model
    // P_18_MM ............. 1.8V PMOS Model
    //
    // 2. MM180_REG33_V114.lib.scs
    // (UMC 0.18um Regular Vt 3.3V Mixed Mode process Spice Model )
    // Model Name:
    // N_33_MM ............. 3.3V NMOS Model
    // P_33_MM ............. 3.3V PMOS Model
    //
    // 3. MM180_LVT18_V113.lib.scs
    // (UMC 0.18um Low Vt 1.8V Mixed Mode process Spice Model )
    // Model Name:
    // N_LV_18_MM ............. 1.8V NMOS Model
    // P_LV_18_MM ............. 1.8V PMOS Model
    //
    // 4. MM180_LVT33_V113.lib.scs
    // (UMC 0.18um Low Vt 3.3V Mixed Mode process Spice Model )
    // Model Name:
    // N_LV_33_MM ............. 3.3V NMOS Model
    // P_LV_33_MM ............. 3.3V PMOS Model
    //
    // 5. MM180_ZVT18_V121.lib.scs
    // (UMC 0.18um Zero Vt 1.8V Mixed Mode process Spice Model )
    // Model Name:
    // N_ZERO_18_MM ............. 1.8V NMOS Model
    //
    // 6. MM180_ZVT33_V113.lib.scs
    // (UMC 0.18um Zero Vt 3.3V Mixed Mode process Spice Model )
    // Model Name:
    // N_ZERO_33_MM ............. 3.3V NMOS Model
    //
    //
    // 7. MM180_DIODE_V113.mdl.scs
    // (Diode Model)
    // Model Name:
    // DION_MM ............. N+/P-well diode model
    // DIOP_MM ............. P+/N-well diode model
    // DIONW_MM ............ N-well/P-sub diode model
    //
    // 8. MM180_BJT_V112.mdl.scs
    // (BJT Model)
    // Model Name:
    // PNP_V50X50_MM ............. 5umx5um Vetical PNP Model
    // PNP_V100X100_MM ........... 10umx10um Vetical PNP Model
    //
    // 9. MM180_RES_V133.lib.scs
    // (Resistor Models)
    // Model Name:
    // rnnpo_mm ...................Non Salicide N+ poly resistor model
    // rnppo_mm ...................Non salicide P+ poly resistormodel
    // rnhr1000_mm ................Non salicide HR poly resistor model
    //
    // 10. MM180_MIMCAP_V101.lib.scs
    // (MIM capacitor Model)
    // Model Name:
    // mimcaps_mm .................MIM capacitor
    //
    //
    // *****************************************************************************************************************

    library MyLib

    section tt
    include "./SPECTRE/MM180_LVT18_V113.lib.scs" section=tt
    include "./SPECTRE/MM180_LVT33_V113.lib.scs" section=tt
    include "./SPECTRE/MM180_REG18_V124.lib.scs" section=tt
    include "./SPECTRE/MM180_REG33_V114.lib.scs" section=tt
    include "./SPECTRE/MM180_ZVT18_V121.lib.scs" section=tt
    include "./SPECTRE/MM180_ZVT33_V113.lib.scs" section=tt
    endsection tt

    section ss
    include "./SPECTRE/MM180_LVT18_V113.lib.scs" section=ss
    include "./SPECTRE/MM180_LVT33_V113.lib.scs" section=ss
    include "./SPECTRE/MM180_REG18_V124.lib.scs" section=ss
    include "./SPECTRE/MM180_REG33_V114.lib.scs" section=ss
    include "./SPECTRE/MM180_ZVT18_V121.lib.scs" section=ss
    include "./SPECTRE/MM180_ZVT33_V113.lib.scs" section=ss
    endsection ss

    section ff
    include "./SPECTRE/MM180_LVT18_V113.lib.scs" section=ff
    include "./SPECTRE/MM180_LVT33_V113.lib.scs" section=ff
    include "./SPECTRE/MM180_REG18_V124.lib.scs" section=ff
    include "./SPECTRE/MM180_REG33_V114.lib.scs" section=ff
    include "./SPECTRE/MM180_ZVT18_V121.lib.scs" section=ff
    include "./SPECTRE/MM180_ZVT33_V113.lib.scs" section=ff
    endsection ff

    section snfp
    include "./SPECTRE/MM180_LVT18_V113.lib.scs" section=snfp
    include "./SPECTRE/MM180_LVT33_V113.lib.scs" section=snfp
    include "./SPECTRE/MM180_REG18_V124.lib.scs" section=snfp
    include "./SPECTRE/MM180_REG33_V114.lib.scs" section=snfp
    include "./SPECTRE/MM180_ZVT18_V121.lib.scs" section=snfp
    include "./SPECTRE/MM180_ZVT33_V113.lib.scs" section=snfp
    endsection snfp

    section fnsp
    include "./SPECTRE/MM180_LVT18_V113.lib.scs" section=fnsp
    include "./SPECTRE/MM180_LVT33_V113.lib.scs" section=fnsp
    include "./SPECTRE/MM180_REG18_V124.lib.scs" section=fnsp
    include "./SPECTRE/MM180_REG33_V114.lib.scs" section=fnsp
    include "./SPECTRE/MM180_ZVT18_V121.lib.scs" section=fnsp
    include "./SPECTRE/MM180_ZVT33_V113.lib.scs" section=fnsp
    endsection fnsp

    section diode
    include "./SPECTRE/MM180_DIODE_V113.mdl.scs"
    endsection diode

    section bjt
    include "./SPECTRE/MM180_BJT_V112.mdl.scs"
    endsection bjt

    section res_typ
    include "./SPECTRE/MM180_RES_V133.lib.scs" section=res_typ
    endsection res_typ

    section res_min
    include "./SPECTRE/MM180_RES_V133.lib.scs" section=res_min
    endsection res_min

    section res_max
    include "./SPECTRE/MM180_RES_V133.lib.scs" section=res_max
    endsection res_max

    section mimcaps_typ
    include "./SPECTRE/MM180_MIMCAP_V101.lib.scs" section=mimcaps_typ
    endsection mimcaps_typ

    section mimcaps_min
    include "./SPECTRE/MM180_MIMCAP_V101.lib.scs" section=mimcaps_min
    endsection mimcaps_min

    section mimcaps_max
    include "./SPECTRE/MM180_MIMCAP_V101.lib.scs" section=mimcaps_max
    endsection mimcaps_max


    endlibrary MyLib

    Guangjun Cao said:
    make sure, the first line in the model file is empty or has a comment

    Yes, The first line in the above file has a comment

    Guangjun Cao said:
    check if the devices names in model files and netlist are both in upper case.

    The model file has definations as follows:

    // *****************************************************************************************
    simulator lang=spectre insensitive=yes
    // 0.18um 1.8v/3.3v MIXEDMODE Twin-well technology, 1.8V NMOS Model
    // *
    // ****************************************************************************************

    model n_18_mm bsim3v3 type=n

    ...

    // ****************************************************************************************
    // 0.18um 1.8v/3.3v MIXEDMODE Twin-well technology, 1.8V PMOS Model
    // *
    // ****************************************************************************************

    model p_18_mm bsim3v3 type=p

    ...

    But my netlist has them as N_18_MM and P_18_MM (uppercase).

    After changing these to lowercase (in the netlist), the error still exists.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 4 years ago in reply to iamKarthikBK
    iamKarthikBK said:
    read_spice {netlist/INVX1.sp netlist/AND2X1.sp netlist/NAND2X1.sp netlist/OR2X1.sp netlist/NOR2X1.sp netlist/XOR2X1.sp netlist/XNOR2X1.sp}

    you need one more read_spice for model file, or add the model file to the existing read_spice. -element option for define_leafcell may still be needed, based on your netlist syntax.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to Guangjun Cao

    Thanks, the issue was resolved.
    But I think the characterization was unsuccessfully even though the .lib file was generated.

    Here's the datasheet: https://gist.githubusercontent.com/iamKarthikBK/4f97b17d7bac915da25328ead6e72e05/raw/720ede5bb404fced51602f4515e03739210bcb09/datasheet.txt

    I think the simulator was actually unable to simulate the netlists it read in, and hence the wrong output. Am I correct?

    Here's the complete log file: https://gist.githubusercontent.com/iamKarthikBK/4f97b17d7bac915da25328ead6e72e05/raw/720ede5bb404fced51602f4515e03739210bcb09/liberate_log.txt 

    I don't expect anyone here to go through the entire thing, I will reach out to imec.be for support, but if something seems obvious in this case, then kindly point it out.

    Yes I did not specify the areas for any of the cells.

    I think part of the error (or the entire thing) is because I have not added '$ALTOSHOME/tools.lnx86/spectre/bin' to my environment PATH. Am I right?

    Thanks

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 4 years ago in reply to iamKarthikBK

    Per logfile, the simulation failed. you can do a standalone simulation, using,

    spectre xxxxx/sim.sp. then check the logfile. the sim.sp file is in those directories flagged in
     /home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/altos.*/
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Guangjun Cao
    Guangjun Cao over 4 years ago in reply to iamKarthikBK

    Per logfile, the simulation failed. you can do a standalone simulation, using,

    spectre xxxxx/sim.sp. then check the logfile. the sim.sp file is in those directories flagged in
     /home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/altos.*/
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to Guangjun Cao

    Do I need to specify the model's red_spice in a separate line because it's a .scs file and the other netlists are .sp files?

    [VLSI_ANALOG@cad19 liberate]$ spectre /home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/altos.cad19.T20210519174925563390S0004537.0/sim.sp

    Spectre (R) Circuit Simulator
    Version 19.1.0.396.isr8 64bit -- 19 Jun 2020
    Copyright (C) 1989-2020 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence and Spectre are registered trademarks of Cadence Design
    Systems, Inc. All others are the property of their respective holders.

    Includes RSA BSAFE(R) Cryptographic or Security Protocol Software from RSA Security, Inc.

    User: VLSI_ANALOG Host: cad19 HostID: * PID: 27793
    Memory available: 308.9285 MB physical: 3.9726 GB
    Linux : Red Hat Enterprise Linux Server release 6.9 (Santiago)
    CPU Type: Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz
    Socket: Processors [Frequency]
    0: 0 [3001.0], 1 [1600.0], 2 [1600.0], 3 [1600.0]

    System load averages (1min, 5min, 15min) : 0.0 %, 0.5 %, 0.5 %


    Simulating `/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/altos.cad19.T20210519174925563390S0004537.0/sim.sp' on cad19 at 6:12:31
    PM, Wed May 19, 2021 (process id: 27793).
    Current working directory: /home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate
    Command line:
    /home/installs/SPECTRE191/tools/bin/spectre -64 \
    /home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/altos.cad19.T20210519174925563390S0004537.0/sim.sp
    Reading file: /home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/altos.cad19.T20210519174925563390S0004537.0/sim.sp
    Reading file: /home/installs/SPECTRE191/tools.lnx86/spectre/etc/configs/spectre.cfg
    Reading file: /home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs

    Error found by spectre during circuit read-in.
    ERROR (SFE-675): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 69: Cannot run the simulation
    because the library file `/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs' included in the
    netlist file `/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/altos.cad19.T20210519174925563390S0004537.0/sim.sp' at line 262
    does not contain a valid section name. Specify a valid section name using the syntax 'include file_name section=section_name' and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 72: Cannot open the input file
    './SPECTRE/MM180_LVT18_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 73: Cannot open the input file
    './SPECTRE/MM180_LVT33_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 74: Cannot open the input file
    './SPECTRE/MM180_REG18_V124.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 75: Cannot open the input file
    './SPECTRE/MM180_REG33_V114.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 76: Cannot open the input file
    './SPECTRE/MM180_ZVT18_V121.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 77: Cannot open the input file
    './SPECTRE/MM180_ZVT33_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 81: Cannot open the input file
    './SPECTRE/MM180_LVT18_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 82: Cannot open the input file
    './SPECTRE/MM180_LVT33_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 83: Cannot open the input file
    './SPECTRE/MM180_REG18_V124.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 84: Cannot open the input file
    './SPECTRE/MM180_REG33_V114.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 85: Cannot open the input file
    './SPECTRE/MM180_ZVT18_V121.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 86: Cannot open the input file
    './SPECTRE/MM180_ZVT33_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 90: Cannot open the input file
    './SPECTRE/MM180_LVT18_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 91: Cannot open the input file
    './SPECTRE/MM180_LVT33_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 92: Cannot open the input file
    './SPECTRE/MM180_REG18_V124.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 93: Cannot open the input file
    './SPECTRE/MM180_REG33_V114.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 94: Cannot open the input file
    './SPECTRE/MM180_ZVT18_V121.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 95: Cannot open the input file
    './SPECTRE/MM180_ZVT33_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 99: Cannot open the input file
    './SPECTRE/MM180_LVT18_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 100: Cannot open the input file
    './SPECTRE/MM180_LVT33_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 101: Cannot open the input file
    './SPECTRE/MM180_REG18_V124.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 102: Cannot open the input file
    './SPECTRE/MM180_REG33_V114.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 103: Cannot open the input file
    './SPECTRE/MM180_ZVT18_V121.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 104: Cannot open the input file
    './SPECTRE/MM180_ZVT33_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 108: Cannot open the input file
    './SPECTRE/MM180_LVT18_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 109: Cannot open the input file
    './SPECTRE/MM180_LVT33_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 110: Cannot open the input file
    './SPECTRE/MM180_REG18_V124.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 111: Cannot open the input file
    './SPECTRE/MM180_REG33_V114.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 112: Cannot open the input file
    './SPECTRE/MM180_ZVT18_V121.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 113: Cannot open the input file
    './SPECTRE/MM180_ZVT33_V113.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 117: Cannot open the input file
    './SPECTRE/MM180_DIODE_V113.mdl.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 121: Cannot open the input file
    './SPECTRE/MM180_BJT_V112.mdl.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists and
    the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 125: Cannot open the input file
    './SPECTRE/MM180_RES_V133.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists and
    the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 129: Cannot open the input file
    './SPECTRE/MM180_RES_V133.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists and
    the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 133: Cannot open the input file
    './SPECTRE/MM180_RES_V133.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists and
    the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 137: Cannot open the input file
    './SPECTRE/MM180_MIMCAP_V101.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 141: Cannot open the input file
    './SPECTRE/MM180_MIMCAP_V101.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    ERROR (SFE-868): "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" 145: Cannot open the input file
    './SPECTRE/MM180_MIMCAP_V101.lib.scs' because either the file name or the directory specified is invalid. Ensure that the specified file exists
    and the path to the file is valid. Alternatively, use the -I <path> command-line option to specify the path to the file and rerun the
    simulation.
    Notice from spectre during circuit read-in.
    "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/altos.cad19.T20210519174925563390S0004537.0/sim.sp" 282: Unsupported Spice2G
    option `accurate' skipped.
    "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/altos.cad19.T20210519174925563390S0004537.0/sim.sp" 282: Unsupported Spice2G
    option `nomod' skipped.

    Time for NDB Parsing: CPU = 68.989 ms, elapsed = 251.286 ms.
    Time accumulated: CPU = 223.965 ms, elapsed = 251.29 ms.
    Peak resident memory used = 58 Mbytes.


    Aggregate audit (6:12:31 PM, Wed May 19, 2021):
    Time used: CPU = 224 ms, elapsed = 252 ms, util. = 89%.
    Time spent in licensing: elapsed = 132 ms, percentage of total = 52.5%.
    Peak memory used = 58.1 Mbytes.
    Simulation started at: 6:12:31 PM, Wed May 19, 2021, ended at: 6:12:31 PM, Wed May 19, 2021, with elapsed time (wall clock): 252 ms.
    spectre completes with 39 errors, 0 warnings, and 2 notices.
    spectre terminated prematurely due to fatal error.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to iamKarthikBK
    iamKarthikBK said:
    Specify a valid section name using the syntax 'include file_name section=section_name' and rerun the
    simulation.

    This means the model file was loaded incorrectly, right?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 4 years ago in reply to iamKarthikBK

    The wrapper you point the tool to has all sections. you need to include the wrapper using another wrapper, and add the section, eg. 

    my_wrapper_tt, inside this file, add,

    //// empty fline

    simulator lang=spectre insensitive=yes

    include  "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs"  section=tt

    ... more include lines if needed.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to Guangjun Cao

    Done!

    But the values I see in the datasheet are still wrong. 
    https://gist.githubusercontent.com/iamKarthikBK/4f97b17d7bac915da25328ead6e72e05/raw/1a7ebe9b6b90343786a791c5815586337cadcb5e/liberate2_log.txt is the log file

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 4 years ago in reply to iamKarthikBK

    your simulation stilled. as I suggested, run the standalone spectre on the sim.sp files. follwo the spectre logfile to correct your settings.

    Just to let you know, an issue like you have only takes 0.5hr to solve if you use customer support.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to Guangjun Cao
    Guangjun Cao said:
    your simulation stilled. as I suggested, run the standalone spectre on the sim.sp files. follwo the spectre logfile to correct your settings.

    Okay! I'll try it out Slight smile

    Guangjun Cao said:
    Just to let you know, an issue like you have only takes 0.5hr to solve if you use customer support.

    Yes I've written to imec.be for help, they've asked me to 'stay tuned'.
    But nevertheless, thank you so much for your patient replies.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 4 years ago in reply to iamKarthikBK

    You need to know the basics on how to set up model/wrapper files for simulation.

    If a spectre run fails due to model setup, you can follow the logfile/message to correct it. in the previous logfile, it seems the path is not correct, Spectre can not decent to the right file at the location. The message is very clear,

    iamKarthikBK said:
    ERROR (SFE-868)
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to Guangjun Cao
    Guangjun Cao said:
    You need to know the basics on how to set up model/wrapper files for simulation.

    Yes, sorry about that! I am trying to do this for the first time.

    Guangjun Cao said:
    Spectre can not decent to the right file at the location

    Yes, I am trying to go through the log files and I'll try to find which path it is that is going wrong.
    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Guangjun Cao
    Guangjun Cao over 4 years ago in reply to iamKarthikBK

    Hi again,

    I saw your response in another post, and am surprised you still have not been able to generate the .lib. have you tried standalone Spectre simulation? Do you still have the model related issue?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • iamKarthikBK
    iamKarthikBK over 4 years ago in reply to Guangjun Cao

    Hi!

    Yes I tried the standalone simulation, and after making some minor changes to the sim.sp file, I was able to get it running (standalone). I am yet to figure how to make it happen for every one of them instead of me going and changing the .sp files manually.

    This

    * end of instance section for OR2X1_0
    VGND GND 0 0
    VVDD VDD 0 0.2

    .inc '/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs'

    .option parhier=local redefinedparams=ignore
    simulator lang=spectre
    altos_op1 options global_param_override=ignore
    simulator lang=spice

    had to be changed to this

    * end of instance section for OR2X1_0
    VGND GND 0 0
    VVDD VDD 0 0.2

    .option parhier=local redefinedparams=ignore
    simulator lang=spectre
    include "/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/Models/Spectre/MM180_SPECTRE_MAIN_V161.lib.scs" section=tt
    altos_op1 options global_param_override=ignore
    simulator lang=spice

    notice the .inc line had to be changed from spice syntax to spectre syntax (because I had to include the section), this is what I tried and the standalone simulation succeeded.

    I am yet to figure out how to make it happen on it's own.

    While doing this I got an error saying n_18_mm is already defined, so I removed the -element option, and I also made a very obvious mistake while reading the models and netlists

    define_leafcell -type nmos -element -pin_position {0 1 2 3} N_18_MM
    define_leafcell -type pmos -element -pin_position {0 1 2 3} P_18_MM

    read_spice {/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/umc.scs netlist/INVX1.sp netlist/AND2X1.sp netlist/NAND2X1.sp netlist/OR2X1.sp netlist/NOR2X1.sp netlist/XOR2X1.sp netlist/XNOR2X1.sp} 

    had to be changed to

    define_leafcell -type nmos -pin_position {0 1 2 3} N_18_MM
    define_leafcell -type pmos -pin_position {0 1 2 3} P_18_MM

    read_spice -format spectre {/home/TSMC/Desktop/UMC180/Designkits/Cadence_6.1/lowpower/liberate/umc.scs}
    read_spice {netlist/INVX1.sp netlist/AND2X1.sp netlist/NAND2X1.sp netlist/OR2X1.sp netlist/NOR2X1.sp netlist/XOR2X1.sp netlist/XNOR2X1.sp} 

    this is a portion from my char.tcl file . Notice the read_spice where I read .scs and .sp in the same line (I would have to do -format spectre if its a .scs file right?)

    Now the standalone simulation succeeds but then I need to make my char.tcl file be able to do this on it's own.

    I did have someone from imec.be 's customer support team, but that was for another issue.
    https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/48046/global-nets-in-the-extracted-view is a brief description.

    I follow the exact same procedure for drawing the layouts for an INVX1 and a NAND2X1 but Cadence Virtuoso doesn't identify a single pin for INVX1 (gives LVS errors). but it does for the NAND2X1 layout an gives no LVS errors.

    I went through the LVS compare and extract rule files that came from the foundry and it clearly takes the text_topin() from a layer '0' which I assume is type drawing. (Sorry I just typed this sentence from what I remember, the function name might be wrong). Initially the purpose of all the pins that were generated was 'ME1 Pin' but now I've made them into a 'ME1 Drawing' because clearly, that's what the compare rule file is looking for. I think.

    The imec.be 's support guy said he will try to figure out the LVS issue on their end and get back to me. (Europractice support doesn't work with universities in India directly)

    • 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