Home
  • Products
  • Solutions
  • Support
  • Company

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  • Products
  • Solutions
  • Support
  • Company
Community Mixed-Signal Design AMS simulation fails when I use mim cap
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

AMS simulation fails when I use mim cap

Mostafa A
Mostafa A over 4 years ago

Hi everybody,

I am doing AMS simulation using the version 6.1.5. I am using 65nm TSMC. When I run simulation it fails because of the mim caps that I used in analog parts. And when I replace the mim caps with the ideal caps it works.

Does anyone know what could be the problem?

Best

Mostafa

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 4 years ago

    Dear Mostafa,

    Mostafa A said:
    When I run simulation it fails because of the mim caps that I used in analog parts. And when I replace the mim caps with the ideal caps it works.

    Are you using an extracted view of the "analog part"? Often MIM capacitor models are not include in an extracted view based netlist as they are composed of interconnect components. However, in a schematic netlist based simulation, a discrete model exists for a MIM capacitor. I am wondering if you are using an extracted view of the "analog parts" as the manner in which they are simulated, from a component perspective, are totally different.

    For example, if models of your interconnect are not available, but an ideal capacitor model is available, your simulation will fail when an interconnect based capacitor is included in an extracted view based netlist.

    This is only a guess based on your few sentences and may not be relevant. However, the thought came to mind and thought perhaps I would pass it along.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ShawnLogan
    ShawnLogan over 4 years ago

    Dear Mostafa,

    Mostafa A said:
    When I run simulation it fails because of the mim caps that I used in analog parts. And when I replace the mim caps with the ideal caps it works.

    Are you using an extracted view of the "analog part"? Often MIM capacitor models are not include in an extracted view based netlist as they are composed of interconnect components. However, in a schematic netlist based simulation, a discrete model exists for a MIM capacitor. I am wondering if you are using an extracted view of the "analog parts" as the manner in which they are simulated, from a component perspective, are totally different.

    For example, if models of your interconnect are not available, but an ideal capacitor model is available, your simulation will fail when an interconnect based capacitor is included in an extracted view based netlist.

    This is only a guess based on your few sentences and may not be relevant. However, the thought came to mind and thought perhaps I would pass it along.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Mostafa A
    Mostafa A over 4 years ago in reply to ShawnLogan

    Thank you dear Shawn for reply.  I didn't  get your point by "extracted view". I run the simulation in "config" environment. The circuit has some analog parts (which includes MIM caps , transistors, and resistors) and some digital blocks which are verilog described.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 4 years ago in reply to Mostafa A

    Dear Mostafa,

    Mostafa A said:
    I didn't  get your point by "extracted view". I run the simulation in "config" environment.

    I am sorry I confused you and was not clear Mostafa!

    In other words, is the config view of the "analog parts" that contains the MIM capacitors set to a use a schematic view of the "analog parts" - or is it set to a use a layout based view to create your config netlist? The latter will include parasitic elements of the layout not present in a schematic view based netlist.

    Does this help to clarify my comment?

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Mostafa A
    Mostafa A over 4 years ago in reply to ShawnLogan

    Don't mention it.

    As I see the I have schematic view of the analog parts in the config (Attached)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to Mostafa A

    Mostafa,

    Mostafa A said:
    When I run simulation it fails because of the mim caps that I used in analog parts

    "fails" is a bit non-specific so it's pretty hard to give advice without more detail. How exactly does it fail? What is the error you get? Is it during netlisting? Is it during simulation? What is the error message? Which simulator version are you using (this should appear in the simulator log file). On the SImulation->Netlist and Run Options form are using using CellView-based or OSS netlisting?

    I would strongly recommend you use a more recent IC version than IC615 - then you can take advantage of the newer Unified Netlister which is generally more robust. So I would recommend switching to IC6.1.8 and XCELIUM20.03 or XCELIUM20.09 (XCELIUM replaced INCISIVE a few years back).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Mostafa A
    Mostafa A over 4 years ago in reply to Andrew Beckett

    Dear Andrew,

    Thanks for reply. This is the simulator log file.

    ******************************************************************************************************************************************************************************

    Compilation successful.
    Skipped elaboration of ("Research2" "Boost_HillClimbing2" "config").
    Snapshot is up-to-date.
    ncsim: 10.20-p008: (c) Copyright 1995-2010 Cadence Design Systems, Inc.
    ncsim: *W,DLNCML: Multiple logical library mappings have been detected in the cds.lib. Directory used multiple times '/ECEnet/Apps1/ecl/process/TSMC65_IP/Standard_Cells/OA_DB/tcbn65lplvt'.
    ncsim: *W,DLNCML: Multiple logical library mappings have been detected in the cds.lib. Directory used multiple times '/ECEnet/Apps1/ecl/process/TSMC65_IP/Standard_Cells/OA_DB/tcbn65lphvt'.
    ncsim: *W,DLNCML: Multiple logical library mappings have been detected in the cds.lib. Directory used multiple times '/ECEnet/Apps1/ecl/process/TSMC65_IP/Standard_Cells/OA_DB/tcbn65lp'.
    ncsim: *N,SFEDPL: Deploying new SFE in analog engine.
    Loading snapshot Research2.Boost_HillClimbing2:config .................... Done
    Starting analog simulation engine...
    AMSD: Using spectre solver.

    Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
    Version 10.1.0.204 32bit -- 21 Oct 2010
    Copyright (C) 1989-2010 Cadence Design Systems, Inc. All rights reserved
    worldwide. Cadence, Virtuoso and Spectre are registered trademarks of
    Cadence Design Systems, Inc. All others are the property of their
    respective holders.

    Protected by U.S. Patents:
    5,610,847; 5,790,436; 5,812,431; 5,859,785; 5,949,992; 5,987,238;
    6,088,523; 6,101,323; 6,151,698; 6,181,754; 6,260,176; 6,278,964;
    6,349,272; 6,374,390; 6,493,849; 6,504,885; 6,618,837; 6,636,839;
    6,778,025; 6,832,358; 6,851,097; 6,928,626; 7,024,652; 7,035,782;
    7,085,700; 7,143,021; 7,493,240; 7,571,401.

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

    User: abedimo64 Host: 08vlab109 HostID: 5A0A6D08 PID: 7479
    Memory available: 3.1245 GB physical: 16.8257 GB
    CPU Type: Intel(R) Xeon(R) CPU E5-2698 v4 @ 2.20GHz


    Analog Kernel using -ANALOGCONTROL
    /ECEnet/Apps1/ecl/users/Mostafa/TSMC_65nm_DESIGN/sim/Boost_HillClimbing2/ams/config/netlist/amsControlSpectre.scs.

    Time for NDB Parsing: CPU = 2.37399 s, elapsed = 2.67626 s.
    Time accumulated: CPU = 2.37399 s, elapsed = 2.67626 s.
    Peak resident memory used = 70.2 Mbytes.

    ncsim>
    ncsim> # This is the NC-SIM(R) probe command file
    ncsim> # used in the AMS-ADE integration.
    ncsim>
    ncsim>
    ncsim> #
    ncsim> # Database settings
    ncsim> #
    ncsim> if { [info exists ::env(AMS_RESULTS_DIR) ] } { set AMS_RESULTS_DIR $env(AMS_RESULTS_DIR)} else {set AMS_RESULTS_DIR "../psf"}
    ../psf
    ncsim> database -open ams_database -into ${AMS_RESULTS_DIR} -default
    Created default SHM database ams_database
    ncsim>
    ncsim> #
    ncsim> # Probe settings
    ncsim> #
    ncsim>
    ncsim> run
    Compiling ahdlcmi module library.

    Error found by spectre during AHDL read-in.
    Cannot compile ahdlcmi module library. Check the log file
    amsControlSpectre.ahdlSimDB/bsource_1.amsControlSpectre.ahdlcmi/Linux3.10.0-1062.9.1.el7.x86_64+gcc/../ahdlcmi.out
    for details. If the compiler ran out of memory, use 'setenv
    CDS_CMI_COMPLEVEL 0', and try again. If the reason for the failure was
    a syntax error, contact your Cadence Customer Support representative
    with the netlist, log files, behavioral model files, and any other
    information that can help identify the problem.
    Warning from spectre in `mimcap_sin_3t':`Boost_HillClimbing2.I30.I20.C2', in
    `ECL03_XU_0526__HS_cmp_backup_0510__schematic__0x10000001':`Boost_HillClimbing2.I30.I20',
    in
    `Research2__LS_HS_Generator1__schematic__0x10000001':`Boost_HillClimbing2.I30',
    in
    `Research2__Boost_HillClimbing2__schematic__0x10000001':`Boost_HillClimbing2',
    during hierarchy flattening.
    "/ECEnet/Apps1/ecl/process/TSMC_updated/PDK/Cadence_OA/tn65cmsp007k3_1_7a/tsmcN65/../models/spectre/crn65lp_2d5_lk_v1d7.scs"
    160858: Boost_HillClimbing2.I30.I20.C2.cmim: `temp' is not a valid
    parameter for an instance of `bsource_1'. Ignored.
    "/ECEnet/Apps1/ecl/process/TSMC_updated/PDK/Cadence_OA/tn65cmsp007k3_1_7a/tsmcN65/../models/spectre/crn65lp_2d5_lk_v1d7.scs"
    160858: Boost_HillClimbing2.I30.I20.C2.cmim: `tnom' is not a valid
    parameter for an instance of `bsource_1'. Ignored.
    "/ECEnet/Apps1/ecl/process/TSMC_updated/PDK/Cadence_OA/tn65cmsp007k3_1_7a/tsmcN65/../models/spectre/crn65lp_2d5_lk_v1d7.scs"
    160858: Boost_HillClimbing2.I30.I20.C2.cmim: `bs_par_0' is not a valid
    parameter for an instance of `bsource_1'. Ignored.
    "/ECEnet/Apps1/ecl/process/TSMC_updated/PDK/Cadence_OA/tn65cmsp007k3_1_7a/tsmcN65/../models/spectre/crn65lp_2d5_lk_v1d7.scs"
    160858: Boost_HillClimbing2.I30.I20.C2.cmim: `bs_par_1' is not a valid
    parameter for an instance of `bsource_1'. Ignored.
    "/ECEnet/Apps1/ecl/process/TSMC_updated/PDK/Cadence_OA/tn65cmsp007k3_1_7a/tsmcN65/../models/spectre/crn65lp_2d5_lk_v1d7.scs"
    160858: Boost_HillClimbing2.I30.I20.C2.cmim: `bs_par_2' is not a valid
    parameter for an instance of `bsource_1'. Ignored.
    Further occurrences of this warning will be suppressed.


    Time for Elaboration: CPU = 368.841 ms, elapsed = 1.33074 s.
    Time accumulated: CPU = 2.74316 s, elapsed = 4.00733 s.
    Peak resident memory used = 98.1 Mbytes.

    ncsim: *E,RNALER: Simulation terminated due to analog error.
    Memory Usage - 19.3M program + 637.0M data = 656.3M total
    CPU Usage - 0.2s system + 2.6s user = 2.7s total (63.1% cpu)
    ncsim> exit
    ncsim: Memory Usage - 19.3M program + 636.7M data = 656.1M total
    ncsim: CPU Usage - 0.9s system + 3.2s user = 4.1s total (4.4s, 94.2% cpu)
    Failed to simulate ("Research2" "Boost_HillClimbing2" "config").

    ***************************************************************************************************************************************************************************************

    And I am using 6.1.5 to accommodate it to my old version INCISIV.  I use this one because I had error in doing AMS simulation using 6.1.7.

    In the link below you suggested to use new version.

    https://community.cadence.com/cadence_technology_forums/f/mixed-signal-design/45160/ams-simulation-error-for-incisiv-version 

    But new version was not available in our setup. You think the problem that I have now is also related to INCISIV version?

    Thanks

    Mostafa

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to Mostafa A

    Hi Mostafa,

    You're using a 10-year old INCISIVE version, so all bets are off with trying to debug this. It does say:

    Check the log file
    amsControlSpectre.ahdlSimDB/bsource_1.amsControlSpectre.ahdlcmi/Linux3.10.0-1062.9.1.el7.x86_64+gcc/../ahdlcmi.out
    for details. If the compiler ran out of memory, use 'setenv
    CDS_CMI_COMPLEVEL 0', and try again.

    You could look at that ahdlcmi.out file mentioned to see if it helps - maybe setting this CDS_CMI_COMPLEVEL if it's indeed memory related.

    However, it's quite possible that the PDK is using something that may simply not work with such an old version. 

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Mostafa A
    Mostafa A over 4 years ago in reply to Andrew Beckett
    Andrew Beckett said:
    Check the log file
    amsControlSpectre.ahdlSimDB/bsource_1.amsControlSpectre.ahdlcmi/Linux3.10.0-1062.9.1.el7.x86_64+gcc/../ahdlcmi.out
    for details. If the compiler ran out of memory, use 'setenv
    CDS_CMI_COMPLEVEL 0', and try again.

    Dear Andrew,

    Could you please clarify this part to me? I didn't get how should I follow this instruction.

    Mostafa

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to Mostafa A

    Er, look in the specific file it mentions and see if there are any clear errors as to what is going wrong! By all means post the ahdlcmi.out file here...

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Mostafa A
    Mostafa A over 4 years ago in reply to Andrew Beckett

    So I need to find the file "ahdlcmi.out" right?  I don't see such file in simulation directory.. It should be in simulation directory?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to Mostafa A

    Within the netlist directory /ECEnet/Apps1/ecl/users/Mostafa/TSMC_65nm_DESIGN/sim/Boost_HillClimbing2/ams/config/netlist there will be  amsControlSpectre.ahdlSimDB/bsource_1.amsControlSpectre.ahdlcmi/Linux3.10.0-1062.9.1.el7.x86_64+gcc/../ahdlcmi.out - so that would be (I think):

     /ECEnet/Apps1/ecl/users/Mostafa/TSMC_65nm_DESIGN/sim/Boost_HillClimbing2/ams/config/netlist/amsControlSpectre.ahdlSimDB/bsource_1.amsControlSpectre.ahdlcmi/Linux3.10.0-1062.9.1.el7.x86_64+gcc/../ahdlcmi.out

    I still think this is just making life hard for. yourself though - why use such an ancient version?

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Stats

  • Locked Locked
  • Replies 15
  • Subscribers 64
  • Views 17272
  • Members are here 0

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