I have some waveforms captured from a high speed scope that I'd like to display alongside spectre simulation results in "Virtuoso Visualization and Analysis XL" viewer using ADE-XL. I'd assumed it would support some form of ASCII format such as ASCII tr0 but the Cadence docs dont list any ASCII file formats in the table of supported waveform data files. I cant see any way of getting into sst2 or psf formats from ASCII either. Does anyone have any ideas on how I might do this?
If you can get the captured waveforms into VCSV format, you'll be able to display them inside spectre. I'm not sure if there's a utility that can take tr0 and convert to VCSV but you can export a sample spectre waveform as VCSV format to see roughly how the ASCII file is organized and then try to get your captured waveform data to conform to this format by hand.
Once you have the VCSV format, you can go to Visualization and Analysis XL and open the waveform (File -> Open Results...) and then use the trace as if it's just like any other trace from spectre.
In reply to Lynks:
In the ViVA calculator, there's also the "getAsciiWave" function which will read simple multi-column data and convert it into waveforms.
As suggested above, the VCSV format is relatively straightforward; it's comma-separated-value with some additional header information in comments at the top of the file to give information about signal names, type of data, and so on - it provides more info for ViVA to know how to plot the data.
There is also the "psf" utility to convert psf format data from ASCII to binary. However, constructing a file that looks like ASCII PSF is going to be a lot more work than using VCSV.
We also have an enhancement request to be able to directly open simple CSV files in ViVA - but it's not been implemented yet (it would need some kind of import UI to assign signals to columns, a bit like you get when you import a text file in Excel).
In reply to Andrew Beckett:
Thanks Andrew, I'm using VCSV as you suggested. Easy to create with a little perl script and VIVA is reading the files (over 3000 of them!) fine :-)
Having done what I set out to do, I'm now going to be greedy and ask for more...
Is there a full description of VCSV format you could point me at? The actual waveforms are in the VCSV files but there are over 100 other signals that are static (in any one file) but would be good to use/reference in VIVA (eg power supply voltage, configuraion inputs etc). Adding these in every line of each VCSV file would be ridiculous on disk space. Is there a way to have 2 waveform sections in a VCSV file, one could be the waveforms with few signals and many time points, and one all the many static signals with just one (or if preferred 2 - begin & end) time points? Or if I put the static waveforms only on the first and last lines could I omit them from the rest?
In reply to Andy Stewart:
It's not documented, but easy enough to reverse engineer. I did this recently to write a SKILL function to dump out waveforms to VCSV, in fact.
There's no need to have the same number of points in every waveform. See the attached example. It's a bit fussy about having spaces between the commas on the columns with no data though.
You can't have multiple blocks in the VCSV files, as far as I know.
Sorry if I'm being dumb here, but how can I download the attachment? I can see its a link to http://www.cadence.com/Community/CSSharedFiles/forums/storage/38/1323815/stuff.vcsv but when I click on it / do Save Link As... all I get is a "The page cannot be found" message / html file?
You weren't being dumb. I think the system objected to the type of file uploaded - so I edited the post and replaced the attachment with a ".txt" file instead (exactly the same file, I just changed the suffix). It appears to be OK now.