Home > Community > Forums > Custom IC Design > Reading signals directly from transient analysis using "psf" command with data in SST2 format

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Reading signals directly from transient analysis using "psf" command with data in SST2 format 

Last post Sat, Apr 26 2014 1:04 PM by Andrew Beckett. 9 replies.
Started by vivkr 02 Apr 2013 07:52 AM. Topic has 9 replies and 4957 views
Page 1 of 1 (10 items)
Sort Posts:
  • Tue, Apr 2 2013 7:52 AM

    • vivkr
    • Top 150 Contributor
    • Joined on Mon, Oct 12 2009
    • Posts 49
    • Points 860
    Reading signals directly from transient analysis using "psf" command with data in SST2 format Reply

     Hi,

    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?

    Thanks,

    Vivek

    • Post Points: 20
  • Tue, Apr 2 2013 8:01 AM

    Re: Reading signals directly from transient analysis using "psf" command with data in SST2 format Reply

    Vivek,

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

    Regards,

    Andrew.

    • Post Points: 20
  • Tue, Apr 2 2013 8:09 AM

    • vivkr
    • Top 150 Contributor
    • Joined on Mon, Oct 12 2009
    • Posts 49
    • Points 860
    Re: Reading signals directly from transient analysis using "psf" command with data in SST2 format Reply

     Hi Andrew,

    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.

    Regards,

    Vivek

    • Post Points: 20
  • Tue, Apr 2 2013 8:30 AM

    Re: Reading signals directly from transient analysis using "psf" command with data in SST2 format Reply

    Vivek,

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

    Regards,

    Andrew.

    • Post Points: 20
  • Tue, Apr 2 2013 11:47 AM

    • smlogan
    • Top 75 Contributor
    • Joined on Tue, Jun 10 2014
    • Posts 105
    • Points 1,800
    Re: Reading signals directly from transient analysis using "psf" command with data in SST2 format Reply

     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!

     

    Shawn

    • Post Points: 20
  • Tue, Apr 2 2013 11:06 PM

    • vivkr
    • Top 150 Contributor
    • Joined on Mon, Oct 12 2009
    • Posts 49
    • Points 860
    Re: Reading signals directly from transient analysis using "psf" command with data in SST2 format Reply

    Shawn,

    Thanks a lot! This is exactly what I was looking for.

    Regards,

    Vivek

    • Post Points: 20
  • Fri, Apr 5 2013 10:40 PM

    Re: Reading signals directly from transient analysis using "psf" command with data in SST2 format Reply

     Vivek,

    Apologies - I forgot about this utility, partly because I was focused on giving you something from the IC stream (simvisdbutil comes from the INCISIV stream).

    Regards,

    Andrew.

    • Post Points: 35
  • Sat, Apr 6 2013 7:05 PM

    • smlogan
    • Top 75 Contributor
    • Joined on Tue, Jun 10 2014
    • Posts 105
    • Points 1,800
    Re: Reading signals directly from transient analysis using "psf" command with data in SST2 format Reply

    > Apologies - I forgot...

    Hi Andrew,

     Although I am not Vivek, I must comment that you should not even think about an apology! You have helped countless number of people - and no one can have all the facts at their beckon call all the time. It is amazing to me (anyway) how much you do have at your fingertips! The fact that others can "chip in" occasionally is one of the advantages I find of the forum medium.

    Thank you for all your help and guidance!

    Shawn

     

    PS - I hope this is not beyond the scope of this forum! If it is, my apologies this time!

    • Post Points: 5
  • Fri, Jan 31 2014 8:13 AM

    • ddave
    • Not Ranked
    • Joined on Tue, Jul 16 2013
    • Posts 1
    • Points 20
    Re: Reading signals directly from transient analysis using "psf" command with data in SST2 format Reply

     Hi Andrew,

    I really need your help. I saw this forum and the discussion about simvisdbutil. I can easily readt my spectre sst2 simulation result and export it to Matlab if my signals are net voltages. However for terminal currents, I have been unable to get it to work.

    Take a look at the commandline below:

    simvisdbutil -csv -timeunits s -overwrite -output /home/a0282908/Junk/simulation.csv -signal simMF_BG_SUP.V12.p_$flow /sim/BQ50001_OA_DS/a0282908/Latest/sim/simMF_BG_SUP/ams/config_ams/psf

    I get this message: flow: Undefined variable.

     I then tried this

    simvisdbutil -csv -timeunits s -overwrite -output /home/a0282908/Junk/simulation.csv -signal simMF_BG_SUP.V12.p_\$flow /sim/BQ50001_OA_DS/a0282908/Latest/sim/simMF_BG_SUP/ams/config_ams/psf

    and got this

    simvisdbutil: *F,BDSIGNM: The signal name on the following line was not found:
            "simMF_BG_SUP.V12.p_".

    I then tried this

     simvisdbutil -csv -timeunits s -overwrite -output /home/a0282908/Junk/simulation.csv -signal simMF_BG_SUP.V12.p /sim/BQ50001_OA_DS/a0282908/Latest/sim/simMF_BG_SUP/ams/config_ams/psf

     and got this again

    simvisdbutil: *F,BDSIGNM: The signal name on the following line was not found:
            "simMF_BG_SUP.V12.p

     

     

    My question is this: what is the correct syntax using simvisdbutil to extract device terminal currents from an sst2 database and export it to a .csv file for futher post processing?

     

    Also another question is: are there any other shell prompt  commandline functions to export signals from cadence spectre to a .csv file or.matlab file. I know the VIVA gui can export signals to .csv, but I want to be able to script that process for post processing automation.

     

    Your response to this incredibly burning question would be highly appreciated.

    Regards

     

    • Post Points: 20
  • Sat, Apr 26 2014 1:04 PM

    Re: Reading signals directly from transient analysis using "psf" command with data in SST2 format Reply

    I found the easiest way was to surround the signal names with single quotes to prevent the shell from evaluating the "$" characters as variables:

     simvisdbutil -csv -timeunits s -overwrite -output play.csv -signal 'PLL_160MHZ_sim.I0.sink_$flow' -signal 'PLL_160MHZ_sim.I3.VCO_CLK' -signal 'PLL_160MHZ_sim.I7.sink_$flow' simulation/PLL_160MHZ_sim/ams/config/psf

    No need to escape anything that way.

    Sorry it took so long to answer (this dropped off my list) - if it was "incredibly burning" the right thing to do would have been to contact customer support at http://support.cadence.com (so hopefully you did that).

    Kind Regards,

    Andrew.

    • Post Points: 5
Page 1 of 1 (10 items)
Sort Posts:
Started by vivkr at 02 Apr 2013 07:52 AM. Topic has 9 replies.