cadence AMS flow: spectre-ultrasim issues

Discussion in 'Cadence' started by dinac, Aug 28, 2009.

  1. dinac

    dinac Guest

    Hi all,

    I new to AMS simulation.
    Using:-- ic613, mmsim 7.1
    simulation using config view.

    The digital simulation works well with rtl or with synthesized
    netlist.
    When simulating for analog using config view, I get errors with
    spectre or when using ultra sim
    I could have missed some switches.

    Is primitve table files for the tech lib really necessary? Could it be
    becasue of this?

    ----------------------spectre
    log:--------------------------------------------

    Error found by spectre during hierarchy flattening.
    Only one instance of a truncate statement is allowed in a
    statistics
    block.

    spectre terminated prematurely due to fatal error.
    ncsim: *E,RNALER: Simulation terminated due to analog error.
    Memory Usage - 17.9M program + 348.6M data = 366.5M total
    CPU Usage - 0.4s system + 0.2s user = 0.6s total (80.4% cpu)
    ncsim> exit
    ------------------------------------------------------------------------------------

    --------------ultrasim log -----------------------------------
    Error found by UltraSim.
    ERROR (USIMDB-12206): The UltraSim simulator could not operate on
    the
    string values: parameter '5.2E-16*(Nx*0.25)*((El+0.04)*1.923)
    **0.7' in
    instance 'Q5', in subcircuit
    'Tutorial_SG13_WW+osci_60G_tut+schematic_LVS+0x10000001'
    called by
    'MixSPIVCO.I1'.

    UltraSim failed.
    ncsim: *E,RNALER: Simulation terminated due to analog error.
    Memory Usage - 17.9M program + 394.8M data = 412.6M total
    CPU Usage - 0.1s system + 0.4s user = 0.6s total (17.5% cpu)
    ncsim> exit
    -----------------------------------------------------------------

    Thanks a lot

    cheers
    dinac.
     
    dinac, Aug 28, 2009
    #1
  2. dinac

    Riad KACED Guest

    Hi Dinac,

    I'm trying to comment the Spectre bit ...
    It appears like you have more than one 'truncate' statement in some
    Statitistic statement. The truncate is used to alter the default 4
    Sigma in Gauss distribs. Would you mind to check this ? Juste serach
    the truncate keyword in your model card although the Spectre tells you
    the line number.

    BTW, Are you having the same behaviour when running direct Spectre/
    Ultrasim. I mean out the AMS environment.
    Just run your Design using Spectre and see what's happenning ...

    Regards,
    Riad.
     
    Riad KACED, Aug 30, 2009
    #2
  3. dinac

    dinac Guest

    Hi Riad, all

    Thanks Riad for your reply. it helped me a lot.
    I did a trial simulation by commenting out the 'truncate statement'
    and it works.
    I do not know, what can be done with the truncate statement, I guess
    it is needed to do a monte-carlo or statistical simulation.
    I may have to figure out a work-around to do this.

    i am using the same configuration for the Ultrasim, I just change the
    solver to 'Ultrasim' and carry out the same simulation.
    The Ultrasim stops with the same errors as the previous log, which i
    have attached.

    Thanks

    cheers,
    dinac
     
    dinac, Aug 30, 2009
    #3
  4. dinac

    Riad KACED Guest

    Hi Dinac,

    This is a bit of information about the truncate factor from the
    Virtuoso Spectre Circuit Simulator User Guide:
    ------------------------
    Truncation Factor: The default truncation factor for Gaussian
    distributions (and for the Gaussian distribution underlying the log
    normal distribution) is 4.0 sigma. Randomly generated values that are
    outside the range of mean + 4.0 sigma are automatically rejected and
    regenerated until they fall inside the range. You can change the
    truncation factor using the truncate statement. The following is the
    syntax: truncate tr=value
    Note: The value of the truncation factor can be a constant or an
    expression.
    Note: Parameter correlations can be affected by using small truncation
    factors.
    ------------------------

    You can for example write a statistics block as following:
    statistics {
    process {
    vary u0 dist=gauss std=1/3
    vary vth0 dist=gauss std=1/3
    truncate tr=6.0
    }
    mismatch {
    vary u0 dist=gauss std=1
    vary vth0 dist=gauss std=1
    truncate tr=6.0
    }
    }

    Running either direct Spectre or AMS with Spectre Solver must be fine
    with a model file containing the above. But if you duplicate the
    truncate statement in either process, mismatch blocks or the
    statistics bloc itself, then Spectre won't be happy with it.
    Personally, I don't see any reason for Spectre to complain although it
    does not make any sense to duplicate the truncate statement within a
    given block.

    So if I miss about the above statistics bloc and write the following
    instead:

    statistics {
    truncate tr=6.0
    truncate tr=5.0
    process {
    vary hv_u0_ne dist=gauss std=1/3
    vary hv_vth0_ne dist=gauss std=1/3
    truncate tr=6.0
    truncate tr=6.0
    }
    mismatch {
    vary hv_u0_ne dist=gauss std=1
    vary hv_vth0_ne dist=gauss std=1
    truncate tr=6.0
    truncate tr=6.0
    }
    }

    Then Spectre would report the following errors:

    Error found by spectre during hierarchy flattening.
    "/home/rk/rkSpectreModels/rk_mos.scs"
    29: All truncate statements in the netlist must have the same
    value for
    'tr'. Another truncate statement
    (`/home/rk/rkSpectreModels/rk_mos.scs',
    line 28) was found with different 'tr' value.
    Only one instance of a truncate statement is allowed in a process
    block.
    Only one instance of a truncate statement is allowed in a mismatch
    block.

    The above errors arise with both Spectre direct (spectre -W =
    7.1.1.169.isr10) and AMS/spectre (print_mmsimver = 7.1.1.140.isr8)
    from IUS 08.20-s014.
    Would you mind to post you versions ?

    In summary, having one 'truncate' statement in a statistics block
    should be fine. That's the duplication that makes Spectre aborting.
    Otherwise, you might share your case with your CDS AE providing your
    tetscase along with your IUS version.

    Again, I leave the Ultrasim bit for Andrew or any other fellows ...

    Cheers,
    Riad.
     
    Riad KACED, Aug 30, 2009
    #4
  5. Riad KACED wrote, on 08/30/09 17:06:
    .... snipped ...
    For the Ultrasim bit, perhaps you could post the bit of the netlist that it is
    complaining about?

    Regards,

    Andrew.
     
    Andrew Beckett, Sep 1, 2009
    #5
  6. dinac

    dinac Guest

    Hi Riad, Andrew,

    Thanks a lot Riad for your detailed answer.
    Actually, when i did a search for a 'truncate' statement, I found each
    of the truncate statement
    in 2 model file (each for resistor, mos devices), which are included
    in the model tech
    The truncate statements are not duplicated, each of these model file
    as only one defined for each.

    Andrew, Thanks for your reply. I will try to attach a netlist soon.

    Thanks again for your replies.

    cheers
    dinac
     
    dinac, Sep 1, 2009
    #6
  7. dinac

    dinac Guest

    Hi Andrew and other AMS experts,

    I am still facing the same problem.
    i had actually overcome this issue by using IUS8,1 and MMSIM70 and the
    simulation was running perfectly. But I have licenses for limited
    period and so had to switch back.

    And now back with the similar issue, using: IUS611usr3 and MMSIM701

    Thanks

    cheers
    Dinac

    Here is the log file:
    -----------------------------------------------------------------------------------------------------------------
    ncvlog: 06.11-s002: (c) Copyright 1995-2007 Cadence Design Systems,
    Inc.
    file: /home/cadence/ProjectDir/cdb/Digidesign/buffcell/schematic/
    verilog.vams
    module Digidesign.buffcell:schematic (up-to-date)
    errors: 0, warnings: 0
    Successfully compiled ('Digidesign' 'buffcell' 'schematic').
    ncvlog: 06.11-s002: (c) Copyright 1995-2007 Cadence Design Systems,
    Inc.
    file: /home/cadence/ProjectDir/cdb/DigiDesign/SPIslave_vco/schematic/
    verilog.vams
    module Digidesign.SPIslave_vco:schematic (up-to-date)
    errors: 0, warnings: 0
    Successfully compiled ('Digidesign' 'SPIslave_vco' 'schematic').
    ncvlog: 06.11-s002: (c) Copyright 1995-2007 Cadence Design Systems,
    Inc.
    file: /home/cadence/ProjectDir/cdb/Digidesign/Tutorial_design/switch/
    schematic/verilog.vams
    module Tutorial_design.switch:schematic (up-to-date)
    errors: 0, warnings: 0
    Successfully compiled ('Tutorial_design' 'switch' 'schematic').
    ncvlog: 06.11-s002: (c) Copyright 1995-2007 Cadence Design Systems,
    Inc.
    file: /home/cadence/ProjectDir/cdb/Tutorial_design/osci_design/
    schematic_sim/verilog.vams
    module Tutorial_design.osci_design:schematic_sim (up-to-date)
    errors: 0, warnings: 0
    Successfully compiled ('Tutorial_design' 'osci_design'
    'schematic_sim').
    ncvlog: 06.11-s002: (c) Copyright 1995-2007 Cadence Design Systems,
    Inc.
    file: /home/cadence/ProjectDir/cdb/mixspi_design/top_design/schematic/
    verilog.vams
    module mixspi_design.top_design:schematic (up-to-date)
    errors: 0, warnings: 0
    Successfully compiled ('mixspi_design' 'top_design' 'schematic').
    Compilation successful.
    ncelab: 06.11-s002: (c) Copyright 1995-2007 Cadence Design Systems,
    Inc.
    Elaborating the design hierarchy:
    ncelab: *N,SFEDPL: Deploying new SFE in analog engine.
    ncelab: *F,INTERR: INTERNAL ERROR
    -----------------------------------------------------------------
    The tool has encountered an unexpected condition and must exit.
    Contact Cadence Design Systems customer support about this
    problem and provide enough information to help us reproduce it,
    including the logfile that contains this error message.
    TOOL: ncelab 06.11-s002
    HOSTNAME: sun55
    OPERATING SYSTEM: Linux 2.6.9-67.0.15.ELsmp #1 SMP Tue Apr 22
    13:58:43 EDT 2008 x86_64
    MESSAGE: sv_seghandler - trapno -1
     
    dinac, Oct 5, 2009
    #7
  8. dinac wrote, on 10/05/09 10:10:
    Did you do what it suggested to do, and contact Cadence?

    BTW, why can't you get newer licenses? That shouldn't be a problem for any
    customer on maintenance...

    Regards,

    Andrew.
     
    Andrew Beckett, Oct 5, 2009
    #8
  9. dinac

    Riad KACED Guest

    Hi Dinac,

    Moving to latest IUS82/MMSIM71 versions is pretty much with no impact
    at all on your design flow.
    Given the new features in IUS82, I would rather advise convincing your
    manager/team to move forward.
    As per the licenses cost, I'm not really fit enough to make an
    objective comment.

    Cheers,
    Riad.
     
    Riad KACED, Oct 5, 2009
    #9
  10. dinac

    dinac Guest

    Thanks a lot for your replies, Andrew and Riad.
    Actually we are using licenses provided by Europractise. So I do not
    know how things has to go.

    I will contact the cadence in this regard.

    cheers
    Dinac
     
    dinac, Oct 6, 2009
    #10
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.