• 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. AMS simulation test failed

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 125
  • Views 16370
  • 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

AMS simulation test failed

chofie
chofie over 5 years ago

I am getting the error below when I try to netlist and run AMS simulation. I am not sure what the problem is. Please help if somebody know how to fix this error.

*Error* index:argument #1 should be a string (type template = "tS") - nil

In this schematic, there are three same pulse signal suppliers, two exactly same verilog blocks, and one OR-gate which is used from ahdlLib.

Logic of two verilog blocks: 

module half_adder(a, ,b, s, c);

input a;

input b;

output s;

output c;

assign s=a^b;

assign c=a&b;

endmodule

config details are showing below. Please take look if it is helpful.

I'd appreciate any suggestions for fixing this error. 

Thank you very much,

Chofield.

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    This is suggesting some uncaught low-level error - usually that error would just indicate that something in the code has failed to read a string from somewhere but didn't check that and then failed when it tried to process the string. Hard to diagnose...

    So, some things that may help narrow it down:

    1. Which IC version and simulator version are you using? Help->About in the CIW will tell you this (the simulator version can be found by typing "irun -version" in the terminal window)
    2. Which netlister are you using under Simulation->Netlist and Run Options in ADE? Is it Cellview-based, OSS or Unified Netlister?
    3. Can you type _stacktrace=50 (yes, with an underscore) and try to reproduce the problem? You should get a longer stack trace and if so, please post it here.

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • chofie
    chofie over 5 years ago in reply to Andrew Beckett

    Hi, Mr.Beckett

    It works after I change NETLIST AND RUN MODE from AMS Unified Netlister with irun to OSS-based netlister with irun.

    I am confused why this happens because, from the features comparison, it looks that AMS UNL is a advanced OSSN. Which means, if it works in OSSN mode, it should be work in AMS UNL. 

    Best,

    Ciao.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to chofie

    What do you get if you type:

    which dna_assembler

    and

    which irun

    in the UNIX terminal? I checked and in that specific IC subversion, it will fail with the error you showed because it doesn't properly check that dna_assembler is in the path. In the very next hot fix (IC617 ISR19) there's an additional check which would mean it fails more gracefully - but you'd still need to have dna_assembler in the UNIX path.

    The first which ought to show something like:

    <PATHtoINCISIVE152installation>/tools/bin/dna_assembler

    UNL is definitely a superior solution, and using that is best - but it requires some additional executables in the path that weren't needed for UNL. Why they are not in the path (if this is the issue) is what we need to determine (my guess is that in your environment you have a wrapper around irun, but not one around dna_assembler).

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • chofie
    chofie over 5 years ago in reply to Andrew Beckett

    Hi Mr.Beckett

    Sorry for a late reply.

    I guess you right.

    irun is in the path, but dna_assembler is not in the path after I type which + irun/dna_assembler. 

    Is this problem caused during installation process? And how can I fix this problem? 

    Regards,

    Ciao.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to chofie

    It would help if you shared what the results of the "which irun" was - that might help me spot what was wrong.

    Also, what does running the command "ncroot" at the UNIX command line return?

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to chofie

    It would help if you shared what the results of the "which irun" was - that might help me spot what was wrong.

    Also, what does running the command "ncroot" at the UNIX command line return?

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • chofie
    chofie over 5 years ago in reply to Andrew Beckett

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to chofie

    It appears that your UNIX path is set up incorrectly (so it's not an installation issue, nor is it a wrapper script that is being used). It shouldn't directly include the bin/64bit directory - instead you should include the bin directory. So, dependent on whether you use csh or bash/ksh it would be:

    set path = (/tools/cadence/INCISIVE152/tools/bin $path)

    or

    export PATH=/tools/cadence/INCISIVE152/tools/bin:$PATH

    Then whether you want the 64-bit version of incisive can be controlled using the $CDS_AUTO_64BIT env var, or using the "Run with 64-Bit Binary" switch on the Setup->Environment form in ADE. If you just want everything to run in 64-bit mode, you can just do:

    setenv CDS_AUTO_64BIT ALL

    or

    export CDS_AUTO_64BIT=ALL

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • chofie
    chofie over 5 years ago in reply to Andrew Beckett

    It completely works now. 

    Thank you so much for help, Andrew.

    Best regards,

    Ciao.

    • 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