Ok, I am just an administrator. One of my users is adking me, why spectre gets invoked from 32bit directory instead of 64bit.
Here is the log snippet,
Memory available: 187.1503 MB physical: 5.8504 GBCPU(1 of 4): CPU 0 Intel(R) Xeon(R) CPU E5405 @ 2.00GHz 1995.000MHzSimulating `input.scs' on yamdrok at 12:56:57 PM, Thur Jan 27, 2011 (process id: 32263).Command line: /analog/cadence/mmsim71/tools.lnx86/spectre/bin/32bit/spectre \ input.scs +escchars +log ../psf/spectre.out +inter=mpsc \ +mpssession=spectre0_31221_4 -format sst2 -raw ../psf \ +lqtimeout 900 -maxw 5 -maxn 5spectre pid = 32263
System is 4 processor, model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
OS also is 64 bit linux, Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator version 7.1.0.060.isr4 -- 25 Mar 2009
If you need any other i/p let me know. Thank you.
By default, all tools get invoked from 32-bit. To enable 64-bit tools, I place the following in my start up file:
setenv CDS_AUTO_64BIT "EXCLUDE:si.exe"
This invokes everything as 64-bit except for si.exe, which is the tool that exports schematics to CDL netlists.
In reply to Zach:
Thanks Zach. I will give it a try.
What will happen if I don't add "EXCLUDE:si.exe" ? Will si.exe work or will not work at all or will it work in 32bit mode?
Please let me know. Thanks again.
In reply to upengan:
If using IC614, setting it to "ALL" will be OK because everything is supported in 64 bit mode. Before that, you'll probably find that CDL netlisting will fail, because whilst "si" itself (the standalone netlister) is supported, the contexts for creating auCdl netlists are not supported on 64 bit.
In reply to Andrew Beckett:
Thanks Andrew. I believe we are using latest version of IC61x
virtuoso -V@(#)$CDS: virtuoso version 6.1.4-64b 12/02/2010 23:19 (sjfdl064) $
virtuoso -Wsub-version IC6.1.4-64b.500.10
It's the version of the IC tools that matters here - so what "virtuoso -W" tells you. The simulator is from the "MMSIM" stream, and virtuoso/si are from the "IC" stream.
virtuoso -Wsub-version IC6.1.4-64b.500.10
I am a beginner of Cadence,please tell me how to set spectre to 64 bits detailly,because I do not know where to enter the commands. best have some pictures,thank you very much!
In reply to liehuo:
In ADE use Setup->Environment and you'll see a form like below. Check the Run with 64 bit binary checkbox, or if that's not there in the version you're using, type "-64" in the usrCmdLineOption field.
I am facing a similar issue with my ADE, i am not able to run simulation due to these errors. i am running ubuntu 13.1, Please help me fix the issue. I have tried the above methods to run in 64bit mode but didn't work, i tried changing the bin/sh file from DASH to BASH yet the issue persists.
Error found by spectre during AHDL read-in. ERROR (VACOMP-1008): Cannot compile ahdlcmi module library. Check the log file input.ahdlSimDB//bsource.va.bsource_1.ahdlcmi/Linux/../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. ERROR (SFE-91): Error when elaborating the instance bsource_1. Simulation should be terminated.Error found by spectre during hierarchy flattening. ERROR (SFE-46): "/home/abhinand/work/gpdk045/../models/spectre/gpdk045_mos.scs" 51402: `r1': An instance of `bsource_1' can have at most 0 terminals (but has 2).
here is my ahdlcmi.out file
ahdlcmicompile: Compiling ahdlcmi in input.ahdlSimDB//bsource.va.bsource_1.ahdlcmi/Linux/ for Linux with optimize using gcc on Wed Jul 2 07:29:48 IST 2014 [5.0]ahdlcmicompile: Generating makefilePATH: /home/abhinand/edatools/mmsim/tools.lnx86/cdsgcc/gcc/4.1/install/bin:/home/abhinand/edatools/mmsim/bin:/home/abhinand/edatools/mmsim/tools/bin:/home/abhinand/edatools/virtuoso/bin:/home/abhinand/edatools/virtuoso/tools/bin:/home/abhinand/edatools/virtuoso/oa_v22.41.022/bin:/home/abhinand/edatools/mmsim/tools/spectre/bin:/home/abhinand/edatools/virtuoso/tools/dfII/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binLD_LIBRARY_PATH: /home/abhinand/edatools/mmsim/tools.lnx86/cdsgcc/gcc/4.1/install/lib:/home/abhinand/edatools/mmsim/tools/giganta/lib:/home/abhinand/edatools/mmsim/tools/mdl/lib:/home/abhinand/edatools/mmsim/tools/mmsim/lib:/home/abhinand/edatools/mmsim/tools/inca/lib:/home/abhinand/edatools/mmsim/tools/spectre/lib:/home/abhinand/edatools/mmsim/tools/dfII/lib:/home/abhinand/edatools/mmsim/tools/lib:/home/abhinand/edatools/virtuoso/tools/lib:/home/abhinand/edatools/virtuoso/oa_v22.41.022/lib/linux_rhel40_gcc44x_32/opt:/home/abhinand/edatools/virtuoso/tools/Qt/32bit/lib:/home/abhinand/edatools/virtuoso/tools/dfII/lib:/home/abhinand/edatools/virtuoso/tools/sev/lib:/home/abhinand/edatools/virtuoso/tools/inca/lib/home/abhinand/edatools/mmsim/tools.lnx86/perl/bin/perl: line 10: /home/abhinand/edatools/mmsim/tools.lnx86/perl/bin/cdsPerl: cannot execute binary filecp: cannot stat 'devicelisttemp': No such file or directoryCan't exec "mpstat": No such file or directory at /home/abhinand/edatools/mmsim/tools.lnx86/spectre/ahdlcmi/bin/getCPUnum.pl line 41./home/abhinand/edatools/mmsim/tools.lnx86/spectre/ahdlcmi/bin/gnumake -j2 -f GNUmakefileCan't exec "mpstat": No such file or directory at /home/abhinand/edatools/mmsim/tools.lnx86/spectre/ahdlcmi/bin/getCPUnum.pl line 41.gnumake: *** No rule to make target `obj/optimize/5.0/bsource_1.o', needed by `obj/optimize/5.0/bsource_1_libahdlcmi.so'. Stop.gnumake: *** No rule to make target `obj/optimize/5.0/bsource_1.o', needed by `obj/optimize/5.0/bsource_1_libahdlcmi.so'. Stop.
Please guide me to clear this error.
In reply to abhierao:
As I have said a number of times on these forums, Ubuntu is not a supported OS. So the way to "clear this error" is to use a supported OS. We cannot realistically provide support on every single distribution of Linux that people feel like using (I'm always amazed that companies want to use expensive professional IC design software, but don't run it on an OS that we say the software has been tested on).
Anyway, it looks from the messages above as if "cdsPerl" is not running for some reason. If you try running:
and then type (say):
and enter ctrl-D, what happens? Or does it fail when you run cdsPerl? You didn't say which version of MMSIM you are attempting to use either. The fact that you have a cannot execute binary file is a bit suspicious. What kernel version are you using (what does "uname -a" output)?
Realistically it would be much better if you used a supported OS.
Sorry about the OS compatibility will make sure RedHAt from the next installation.
I am running IC 615 & MMSIM13.10.066_lnx86.Base on Ubuntu 13.10 on a 32bit machine.
virtuoso -V@(#)$CDS: virtuoso version 6.1.5 05/04/2012 23:37 (sjfdl054) $abhinand@AB:~$ virtuoso -Wsub-version IC220.127.116.110.11
My Kernel is uname -aLinux AB 3.11.0-20-generic #35-Ubuntu SMP Fri May 2 21:31:50 UTC 2014 i686 i686 i686 GNU/Linux
Running the cdsperl it says cannot execute,
bash: /home/abhinand/edatools/mmsim/tools.lnx86/perl/bin/cdsPerl: cannot execute binary file.
I was trying to simulate using a GPDK library, while GPDK 090nm simulated very fine, using GPDK 045nm shows this error.
I don't know if its a library issue either.
The issue is that since MMSIM11.1 we only support 64-bit OS. You can run spectre in 32-bit and 64-bit mode on a 64-bit OS (32-bit uses less memory because the pointers are single rather than double word, and there's a slight speed bonus by doing that).
Some of the supporting utilities, for example, cdsPerl, are always 64-bit executables. So you can't run a 64-bit executable on a 32-bit OS (the other way around is possible though).
If it's a 32-bit machine (rather than a 32-bit OS running on a 64-bit machine), then it suggests that the machine is quite old, since all hardware has been 64 bit for some time now. It seems an odd choice to run something as CPU intensive as circuit simulation on obsolete hardware...
Any thoughts on the library though ?? GPDK090 is running without errors.
It must just be the particular combination of devices you're using. This will depend upon whether you end up using any bsource devices or veriloga devices in your circuit (which may be in subckt models).
Either way you're running on an unsupported bitness of an unsupported OS and the chances of it failing are high (particularly due to the bitness, because the OS incompatibility can typically be worked around by installing the right packages; the bitness cannot be solved without installing a 64-bit OS).
This is precisely why we publish supported OS lists, because otherwise a lot of time gets spent trying to diagnose setup problems.