yes...there is this support answer #11003524 which should address the topic.
I also learnt from Andrew some time ago about saving oppoints and/or specific info through a file and attaching it to the model libraries.
What I am experiencing now is that the method:
a) gives me the info out of a *tran*
b) gives me the info out of a *envlp_td*
c) for a *pss*, I get
1. a _constant_ value in the *pss_td* folder, if I use the shooting method (seems like a DCOP value)
2. nothing if I use the HB method
Just wondering whether that is the behavior to be expected, or shouldn't I get a (nice) plot of my wanted gm over a period, exactly like I get it for any other V/I in the circuit after a pss?
I seem to remember having done the same thing some 6 months ago and it worked fine..
Thanks for any help.
So...I must be growing older since I do not remember replying to myself in the past ;-)
Anyhow, I found out yesterday what the issue is. I was simulating using the 'High Performance Simulator -- APS'.
For some reason - I am in contact with the Support for this - it looks like the stored gm is just a DC value.
I had a glimpse yesterday and tried the same simulation with good ole Spectre and bam! My gm Vs. time was there!
Maybe this helps someone,
That sounds like a bug to me. This ought to work, so support should ensure that a CCR is filed to get this fixed.
That said, I tried to reproduce it with MMSIM12.1 ISR14, and for me I get the gm value saved during shooting in the pss_td database (as a waveform) even when using APS. This isn't true with harmonic balance, but then again that doesn't surprise me - with harmonic balance it would need to solve the gm as a harmonic series and then convert it back into the time domain - and it only computes the voltages and currents as a harmonic series.
Here's the netlist I used:
// test of saving gm during a pss analysismodel nch bsim4 type=nmodel pch bsim4 type=pMP1 (z a vdd vdd) pch w=2u l=0.5uMN1 (z a 0 0) nch w=1u l=0.5uVz (a 0) vsource type=pulse period=40n width=20n rise=1n fall=1n val0=0 val1=1.5Vvdd (vdd 0) vsource type=dc dc=1.5save *:gm sigtype=dev devtype=bsim4tran tran stop=200npss pss period=40n outputtype=all // harmonicbalance=yes
yes I just sent my netlist to the Support via our internal channel. Will keep you posted here anyways.
I do not know which MMSIM version I am under (what's the command to see this?), just the Cadence version.
I could source from 500.4 to 500.15 but all gave me this (with APS).
By the way, I was under the impression that HB would not work for time rep of gm. Then why do you say 'harmonicbalance=yes' in your netlist?
Type "spectre -W" or look at the top of your spectre output log - it will tell you the subversion you're using.
The harmonicbalance=yes in my netlist is commented out (it's preceded by // which is a comment).