Home > Community > Forums > Digital Implementation > ELC problems with transistor model (subcircuit)

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 ELC problems with transistor model (subcircuit) 

Last post Tue, Oct 8 2013 8:32 AM by Rodrigo Soares. 0 replies.
Started by Rodrigo Soares 08 Oct 2013 08:32 AM. Topic has 0 replies and 3870 views
Page 1 of 1 (1 items)
Sort Posts:
  • Tue, Oct 8 2013 8:32 AM

    ELC problems with transistor model (subcircuit) Reply

    Hello,

    I’m trying to characterize a library of cells with ELC but I’m having a problem with it.

    I’m using an IBM’s library, and it uses subcircuits  (nfet pfet) to model it’s transistors. Every subcircut has instances of the devices (nch,pch) with other RC components.

     So when ELC  runs spectre  it searchs for a model of nfet and pfet and can’t find it because actually they are not devices, so the command db-prepare doesn't make the "nfet.device" model that it looks for. Have anyone used this kind of library and can help me how to set ELC to deal with it?


    The ERROR message:

      " SIMULATOR : spectre
    [ERROR(dssimgen)] cannot found model : /home/aluno/cadence/ELC_test/carac/foo.ipdb/NFET.device/simulate/model
    Deck creation aborted
    Releasing lock "


    Here are my files:


    # elccfg:

    cSETUP = "/home/aluno/cadence/ELC_test/carac/setup.ss"
    PROCESS = "typical"
    SUBCKT = "dut.scs"
    MODEL = "/home/aluno/cadence/ELC_test/carac/rodrigo.scs"

    EXPAND = "nfet"
    EXPAND = "pfet"


    set_var EC_ELABORATE_MODEL 1

    # rodrigo.scs :

    include "/home/aluno/cadence/ELC_test/carac/models/design.scs"
    include "/home/aluno/cadence/ELC_test/carac/models/wafer.scs"

    include "/home/aluno/cadence/ELC_test/carac/models/fixed_corner.scs" section=tt
    include "/home/aluno/cadence/ELC_test/carac/models/process.scs"
    include "/home/aluno/cadence/ELC_test/carac/models/process_psp.scs"

    include "nfet.scs"
    include "pfet.scs"c

    #step1

    db_open foo

    # Set some variables to define how ELC does its stuff
    set_var EC_SPICE_SIMPLIFY true
    set_var EC_HALF_WIDTH_HOLD_FLAG true
    set_var EC_SIM_NAME "spectre"
    set_var EC_SIM_TYPE "spectre"
    set_var EC_SPICE_SUPPLY1_NAMES "vdd"
    set_var EC_SPICE_SUPPLY0_NAMES "gnd"

    set_var EC_ELABORATE_MODEL 1

    set_var EC_SPICE_NMOS_DEVICES “nch”
    set_var EC_SPICE_PMOS_DEVICES “pch”

    # run through the steps that read and parse the subckt file (defined
    # in elccfg), and extracts the functionality of each cell
    db_prepare -force
    db_gate
    db_close
    exit

    #step 2

    db_open foo

    # Remove the next 3 lines to use the ipsd/ipsc
    # deamons for load balancing on multiple machines
    set_var SG_SPICE_SIMPLIFY true
    set_var EC_SIM_USE_LSF 1
    set_var EC_SIM_LSF_CMD ""
    set_var EC_SIM_LSF_PARALLEL 10

    # set up some things that let ELC know how to proceed

    set_var EC_SIM_NAME "spectre"
    set_var EC_SIM_TYPE "spectre"
    set_var EC_SPICE_SUPPLY1_NAMES "vdd"
    set_var EC_SPICE_SUPPLY0_NAMES "gnd"
    set_var EC_HALF_WIDTH_HOLD_FLAG true


    #set_var EC_SPICE_NMOS_DEVICES “nch”
    #set_var EC_SPICE_PMOS_DEVICES “pch”


    # run spice (Spectre in this case) to do the actual characterization
    db_spice -s spectre  -p typical -keep_log
    db_close
    exit
    • Post Points: 5
Page 1 of 1 (1 items)
Sort Posts:
Started by Rodrigo Soares at 08 Oct 2013 08:32 AM. Topic has 0 replies.