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.
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.
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
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 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.
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
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 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.
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.
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