Cadence® system design and verification solutions, integrated under our System Development Suite, provide the simulation, acceleration, emulation, and management capabilities.
System Development Suite Related Products A-Z
Cadence® digital design and signoff solutions provide a fast path to design closure and better predictability, helping you meet your power, performance, and area (PPA) targets.
Full-Flow Digital Solution Related Products A-Z
Cadence® custom, analog, and RF design solutions can help you save time by automating many routine tasks, from block-level and mixed-signal simulation to routing and library characterization.
Overview Related Products A-Z
Driving efficiency and accuracy in advanced packaging, system planning, and multi-fabric interoperability, Cadence® package implementation products deliver the automation and accuracy.
Cadence® PCB design solutions enable shorter, more predictable design cycles with greater integration of component design and system-level simulation for a constraint-driven flow.
An open IP platform for you to customize your app-driven SoC design.
Comprehensive solutions and methodologies.
Helping you meet your broader business goals.
A global customer support infrastructure with around-the-clock help.
24/7 Support - Cadence Online Support
Locate the latest software updates, service request, technical documentation, solutions and more in your personalized environment.
Cadence offers various software services for download. This page describes our offerings, including the Allegro FREE Physical Viewer.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
This course combines our Allegro PCB Editor Basic Techniques, followed by Allegro PCB Editor Intermediate Techniques.
Virtuoso Analog Design Environment Verifier 16.7
Learn learn to perform requirements-driven analog verification using the Virtuoso ADE Verifier tool.
Exchange ideas, news, technical information, and best practices.
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.
It's not all about the technlogy. Here we exchange ideas on the Cadence Academic Network and other subjects of general interest.
Cadence is a leading provider of system design tools, software, IP, and services.
I met a problem when I was loading an fine-tuned ocean script in current server env which worked well in a previous server env.
The code used to be loaded well in another server and it is a simulation script for an LNA circuit. Right now I just paste the code and hopefully you are interested.When I was loading the ocean script, error came out as:
*Error* ilGetString: arg must be symbol or string - nil
This may be due to license problem, like any features not supported ,etc. Or maybe it is a format error considering skill language.I provide the problematic sample.ocn code in two parts: Run-through part and error-warning part. I am a starter and hope any one give a help. Appreciate your participating.
The code can be successfully loaded the first half:
simulator( 'spectre )design( "./netlist")resultsDir( "./schematic" )modelFile( "./mitllfdsoi0p18um/MP6_2p2/models/spectre/nom/mitllfdsoi0p18um.scs")desVar( "cw3" 10f )desVar( "cw1" 10f )desVar( "rw3" 1 )desVar( "rw1" 1 )desVar( "rls" 2 )desVar( "rlg" 7 )desVar( "rld" 6 )desVar( "rg" 0.5 )desVar( "Ls" .65n )desVar( "Lg" 2n )desVar( "Ld" 2.3n )desVar( "cds" 28.8f )desVar( "Cd" 160f )desVar( "Co" 120f )desVar( "cw4" "cw3" )desVar( "cw2" "cw1" )desVar( "rw4" "rw3" )desVar( "rw2" "rw1" )Cnominal = desVar( "Cnominal" 0 )Rnominal = desVar( "Rnominal" 0 )R14 = desVar( "R14" 0) desVar( "C14" Cnominal )R18 = desVar( "R18" 0) desVar( "C18" Cnominal )R15 = desVar( "R15" 0) desVar( "C15" Cnominal )R19 = desVar( "R19" 0) desVar( "C19" Cnominal )R24 = desVar( "R24" 0) desVar( "C24" Cnominal )R23 = desVar( "R23" 0) desVar( "C23" Cnominal )R25 = desVar( "R25" 0) desVar( "C25" Cnominal )R26 = desVar( "R26" 0) desVar( "C26" Cnominal )desVar( "frf" 5.6G )desVar( "df" 10M )desVar( "frf2" "frf+df" )desVar( "prf" -30 )temp( 27 ) ResDir = "./sample"resultsDir(ResDir)sprintf( resultsFile "%s.txt" ResDir )of = outfile(resultsFile)startPoint = 2stopPoint = 2totalPoints = 1resistorList = list("rls")
But when the second half below is loaded, the error came out". The second half is:
foreach( sweepVariable resistorList
paramAnalysis(sweepVariable ?start startPoint ?stop stopPoint ?lin totalPoints)
;S-Parameter analysis analysis('sp ?ports list("/PORT1" "/PORT2") ?start "400M" ?stop "8G" ?lin "601" ?donoise "yes" ?oprobe "/PORT2" ?iprobe "/PORT1" )
;1dB compression point and IIP3;;Periodic Steady State analysis('pss ?fund "frf" ?harms "20" ?errpreset "moderate" ?param "prf" ?start "-30" ?stop "10" ?lin "20" ) analysis('pac ?sweeptype "absolute" ?start "frf2" ?stop "" ?maxsideband "2" )
;;;;;5.6GHz freq = 5.6e+09
;Input Port Reflection (S11);measured @ 5.6G (lower s11 is better) s11 = value(dB20(aaSP(1 1)) freq); s12 = value(dB20(aaSP(1 2)) freq); s21 = value(dB20(aaSP(2 1)) freq) s22 = value(dB20(aaSP(2 2)) freq);minimum input reflection in frequency range simulated;minreflection = ymin(dB20(aaSP(1 1)));other S-parameters
;Noise Figure noiseFigure = value(dB10(NF()) freq);noiseFigureMin = value(dB10(NFmin()) freq)
;Gain; transducerPowerGain = value(dB10(GT()) freq); operatingPowerGain = value(dB10(GP()) freq) availablePowerGain = value(dB10(GA()) freq) ;selectResults('sweeppss_fd-sweep); onedBcompPt = compressionVRI((v("/net016" ?result "pss_fd") - 0.0) '1 ?rport resultParam("PORT2:r" ?result "pss_fd") ?gcomp 1);selectResults('sweeppss_pac-sweeep) iip3 = ipnVRI((v("/net016" ?result "pac") - 0.0) '-2 '0 ?rport resultParam("PORT2:r" ?result "pac"))
;;;;;header; fprintf(of ; "%s\ts11\ts12\ts21\ts22\;\tnoiseFigure\ttransducerPowerGain\toperatingPowerGain\tavailablePowerGain\tonedBcompPt\tiip3\n" sweepVariable) fprintf(of "%s\ts11\ts22\tnoiseFigure\tavailablePowerGain\tiip3\n" sweepVariable); ocnPrint( s11 s12 s21 s22 noiseFigure transducerPowerGain operatingPowerGain availablePowerGain onedBcompPt iip3 ?output of) ocnPrint( s11 s22 noiseFigure availablePowerGain iip3 ?output of) ) ; foreach(sweepVariable resistorList
By the way, our department has just updated its cadence license packet which was actually problematic.
Thanks a lot before hand and after.
Bit hard to debug without the data, but what I would try is to type:
in the CIW and then load the OCEAN script from there to see if it gives any more clues in the stacktrace that ensues when the error occurs.