Cadence® system design and verification solutions, integrated under our System Development Suite, provide the simulation, acceleration, emulation, and management capabilities.
Verification 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.
The Cadence Academic Network helps build strong relationships between academia and industry, and promotes the proliferation of leading-edge technologies and methodologies at universities renowned for their engineering and design excellence.
Participate in CDNLive
A huge knowledge exchange platform for academia to network with industry. We are looking for academic speakers to talk about their research to the industry attendees at the Academic Track at CDNLive EMEA and Silicon Valley.
Come & Meet Us @ Events
A huge knowledge exchange platform for academia. We are looking for academic speakers to talk about their research to industry attendees.
Americas University Software Program
Join the 250+ qualified Americas member universities who have already incorporated Cadence EDA software into their classrooms and academic research projects.
EMEA University Software Program
In EMEA, Cadence works with EUROPRACTICE to ensure cost-effective availability of our extensive electronic design automation (EDA) tools for non-commercial activities.
Apply Now For Jobs
If you are a recent college graduate or a student looking for internship. Visit our exclusive job search page for interns and recent college graduate jobs.
Cadence is a Great Place to do great work
Learn more about our internship program and visit our careers page to do meaningful work and make a great impact.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
Overview All Courses Asia Pacific EMEANorth America
Instructor-led training [ILT] are live classes that are offered in our state-of-the-art classrooms at our worldwide training centers, at your site, or as a Virtual classroom.
Online Training is delivered over the web to let you proceed at your own pace, anytime and anywhere.
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 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).
In reply to Andrew Beckett:
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.
In reply to vivkr:
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!
In reply to smlogan:
Thanks a lot! This is exactly what I was looking for.
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).
> Apologies - I forgot...
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!
PS - I hope this is not beyond the scope of this forum! If it is, my apologies this time!
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.
In reply to ddave:
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).