I have a schematic desgined in Virtuoso schematic editor. It has a resistor component and I used 'rpolyh/rpoly2' instance from 'PRIMLIB'. On using ADE for simuation, it completes without any issues. Then I tried to move the simulations to ocean script. On executing the ocean script following error message is issued:
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.Cannot start up spectre.
I checked the ahdlcmi.out log and shows at the bottom: "gnumake: *** [obj/optimize/5.0/libahdlcmi.so] Error 2". If you want I can also put the whole log file.
The Cadence is installed in a 64 bit server and I'm accessing it remotely. The MMSIM version is MMSIM1110.
The question is, when I use 'rpoly1' instance it works fine for both ADE and OCEAN. But, if I use 'rpoly2/rployh' it works only in ADE and fails in OCEAN.
Could anyone help me out please?
I can't really see why it should be different in OCEAN and ADE - ultimately they are generating a netlist and invoking the simulator. You might want to check the input.scs produced via both routes and see if there's a difference (use "diff", or "tkdiff" or similar to compare them).
Maybe the ahdlcmi.out log file will reveal more, so please upload it here (as an attachment via the Options tab when posting a reply).
In reply to Andrew Beckett:
I compared the input.scs files from ADE and OCEAN run. Following differences are present:
1. There are few parameters extra in ADE simulator options which are higlighted below (bolded one):
ADE input.scs file :
simulatorOptions options reltol=100e-6 vabstol=1e-6 iabstol=1e-12 temp=27 tnom=27 homotopy=all limit=delta scalem=1.0 scale=1.0 compatible=spice2 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" checklimitdest=psf
OCEAN input.scs file :
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" checklimitdest=psf
2. The following entry is availbale only in OCEAN input.scs file and not in ADE generated one:
modelParameter info what=models where=rawfile
element info what=inst where=rawfile output
Parameter info what=output where=rawfile
3. The other minor difference is that the value notation is different in both:
ADE file: parameters l=1u w1=4u w10=5u w2=4u w3=12.5u w4=12.5u w5=16u w6=150.2u w7=95.2u w8=5u w9=3u
OCEAN file: parameters w9=3e-06 w8=5e-06 w7=9.52e-05 w6=0.0001502 w5=1.6e-05 w4=1.25e-05 w3=1.25e-05 w2=4e-06 w10=5e-06 w1=4e-06 l=1e-06
Apart from these there were no other differences. I have attached the ahdlcmi.out log file as an attachemnt. I hope it helps.
I posted the reply and it went to your admistrator moderation. I hope you got it. Let me know for any problems on it.
In reply to Lings:
Whilst I am the "moderator" for this forum, I don't see posts that go to the moderator (currently). One of the admins will take care of it - I'll ask them about it.
In short, I have explained the minor differences both input.scs files and have uploaded the ahdlcmi.out log file in that post.
The differences in the input.scs from ADE and OCEAN are probably because there are some cdsenv settings which are affecting ADE but are not being included in the OCEAN environment or the OCEAN script. If you used this:
envSetVal("asimenv.misc" "saveDefaultsToOCEAN" 'boolean t)
before saving the OCEAN script in ADE, it should include the effects of the changed homotopy, limit, and compatible options. I think the formatting of the variables probably comes from:
envSetVal("asimenv" "retainDesignVarNotation" 'boolean t)
somewhere in your virtuoso environment (I didn't test this; it's a guess), and you may have to also add this to your .oceanrc. That said, I doubt this is responsible for your compilation problems. I can't see why that should be different in ADE to OCEAN, unless you're running on a different machine. I believe your machine has been set up to have (maybe) "dash" as the "sh" shell. What do you see if you do:
ls -l /bin/sh
(from UNIX). If it points to "dash" rather than "bash", then that could well be the reason for the "illegal option -h" messages - which may be related to the compilation issues. I think that having dash as the default shell is an Ubuntu thing - not sure which distribution you're using?