I'm running Cadence 6.15.162 and I use VIVA to evaluate DAC dynamic performances with the Spectrum Assistant.
It's all fine using the GUI, but I would like to write an OCEAN scripts... But when I use spectrum() function, it says :
*WARNING* The spectrum function is deprecated. Instead, use the spectrumMeas function
Fine... Let's look at the OCEAN Reference Manual... but nothing about spectrumMeas()
Fortunately, I found on the Online Support it is slightly documented in VIVA manual, from which I (partly) reconstruct the following function prototype :
spectrumMeas( o_waveform t_startTime t_stopTime x_numSamples x_noiseBins n_startFreq n_endFreqt_windowName n_adcSpan t_measType )=> o_spectrumWaveform/g_value/nil
Here is what suggest an error :
*Error* _spectrumMethod: can't handle _spectrumMethod("foo" nil nil nil nil "Rectangular" 0 nil nil nil)
Obviously, my prototype is not entirely correct (the argument do not seem to be in the right order)
By the way, I'm still missing Signal bins, Peak Sat. Level, Harmonics, Analysis type which are available in the Spectrum Assitant form in VIVA.
Also, the small amount of documentation about spectrumMeas() that is returned when I intentionally write the function with an error says :
*Error* The specified spectrum measurement type nil is incorrect. Specify one of the following measurement types: sinad, sfdr(db), snhr, enob.
It turns out that "thd" seems to be a valid argument as well. On the other hand, in OCEAN manual, there was an example with "all" which is no longer available.
Is it possible to get thd(db) ? What about all the other measurements displayed in the Spectrum Assistant ? (Signal Powerm DC Power, Noise Floor/Bin, Noise Floor/rtHw, Total Harmonic Power, Peak Harmonic Power)
Is it possible to get up-to-date documentation on this function ?
Thanks a lot,
Alright, I just found Ocean Reference Manual 6.1.6 released in May 2013 on the Online Support with the function spectrumMeasurement() which seems to work fine with Cadence 220.127.116.11 and which completely corresponds to what I was looking for in my initial post.
Though, I'd like to point out a difference in the implementation of the function compared to the given prototype for 6.1.6 :
The prototype given in Ocean Reference 6.1.6 states :g_isNoiseAnalysis Boolean that specifies whether the analysis type is SignalAnalysis or Noise Analysis.Fact is the function does not expect a boolean argument and returns :*Error* _drSpecMeas: argument #11 should be an integer (type template = "ggnnnnnxSnxxS") - nilI have to specify '0' for "nil"
spectrumMeas is also documented in IC616 (in cdnshelp). If there's an issue with the documentation, please log a service request with customer support so that it can be corrected.