I usually write out signals out of the transient analysis data using the "psf" command built into spectre. This is faster than using ocnPrint and simpler.
I suddenly see the following error now:
"./psf/tran.tran.trn":1,2: Error 35, syntax error found, header table missing
Is anyone familiar with this? I have been using MMSIM 10.11.235 which works well for me for a while and have been able to write out waves using this command so far. The Spectre command line in my log file looks like this:
/cte/tools/cds/MMSIM/10.11.235/tools.lnx86/spectre/bin/64bit/spectre \ input.scs +escchars +log ../psf/spectre.out -format sst2 -raw \ ../psf ++aps +mt=8 +lqtimeout 900 -maxw 5 -maxn 5
I don't see anything different from the usual scenario, although I am not sure whether I was using the +sst2 option in the past or +psfbin. I suspect that "psf" does not work in this case.
Would anyone know what utility I would need to use to get hold of the data now?
The "psf" command only supports PSF format (not SST2).
Why are you writing it out in the first place - i.e. where are you taking the data to (I want to clarify in case it affects my answer).
Thanks for responding. I typically write out the signals to a text file in order to do postprocessing on these outside the Cadence design environment. I've got various scripts that run checks on the data generated this way from multiple runs.
I usually have the +psfbin option enabled but I realized that it was missing in one of my longer runs and so I have the data all in SST2 format. As you pointed out, "psf" does not support this and so I am unable to read the waves.
I do recall vaguely that there was another utility which could be used to read the data in this case instead of "psf". I just don't recall what it was called, having (almost) never used it.
You could read them into Matlab using the spectre toolbox for Matlab. There is no command line utility for reading SST2 files as far as I know (you can read them ViVA or simvision and export them to CSV though).
Just a note Andrew and Vivek,
I also used the command line psf to read psf data. It is incredibly fast however it does not work, as you stated correctly Andrew, for SST2 data. I looked into the issue and found I could use simvisdbutil. This is also very fast - faster than an ocean script using fprint() and faster than ocnPrint(). I benchmarked the three and found it significantly faster. The syntax to create a file called "clkbp_clkbm_200k.csv" sampled at 1 ps from 0 to 1 ns from database tran.tran.trn follows. I did need to update the version as the optional "period" - which specifies the timestep - was not available in the original version I used. I am sure it is updated now,
simvisdbutil tran.tran.trn -overwrite -output ./clkbp_clkbm_200k.csv
-csv -timeunits s -period 1ps -range 0:1ns
I just checked and this tool is still available it appears. I hope this helps Vivek!
Thanks a lot! This is exactly what I was looking for.