If I understood your intent correctly, you are trying to measure leakage currents using DC simulation on the following circuit:
The code I got (omitting all the usual setups) is:
********* Simulation Settings - Parameters and SPICE Options *********
*-------- Devices: SPICE.ORDER > 0 --------
MNMOS_1 N_1 IC Gnd Gnd NMOS W=250n L=250n AS=225f PS=2.3u AD=225f PD=2.3u
MNMOS_2 IC N_1 Gnd Gnd NMOS W=250n L=250n AS=225f PS=2.3u AD=225f PD=2.3u
MPMOS_1 N_1 IC Vdd Vdd PMOS W=500n L=250n AS=450f PS=2.8u AD=450f PD=2.8u
MPMOS_2 IC N_1 Vdd Vdd PMOS W=500n L=250n AS=450f PS=2.8u AD=450f PD=2.8u
VVdd Vdd Gnd DC 2.5
********* Simulation Settings - Analysis section *********
.dc lin vVdd 0 2.5 100m
********* Simulation Settings - Additional SPICE commands *********
.ic v(IC)=0
.print DC gate_leak<A>='(abs(i2(mNMOS_1))+abs(i2(mNMOS_2))+abs(i2(mPMOS_1))+abs(i2(mPMOS_2)))/4'
.print DC subth_leak<A>='(abs(i3(mPMOS_1))+abs(i3(mPMOS_2)))/2'
.end
Note the usage of abs() function - it is required because the currents might have different signs.
The syntax of the printing command is:
i<#terminal>(<device_type><name>)
In the above example:
- Terminals 2 and 3 stand for Gate and Source respectively
- m stands for MOSFET
And the resulting traces:
You can see that the model I used either does not model gate leakages at all, or the value is exceedingly small (I guess the former is true). Subthreshold leakage, on the other hand, seems to be taken into account. Anyway, you said that your models are accurate, therefore it should not be an issue for you.
The above information will help you to get the results you want, but I think that these results won't be too accurate. In fact, for subthreshold currents they will be very inaccurate. The reason for this inaccuracy is that subthreshold currents have exponential dependence on Gate-to-Source bias. In DC simulation this bias will be constant for each transistor. In real applications, there is always some noise which affects the Gate-to-Source bias.
One way to slightly improve the results will be to add some "noise" voltage source in series to each inverter's input. If you sweep the value of this noise you'll be able to get a feeling on how the leakage currents can be affected by noise. However, for approximations that are any good at all you'll have to perform transient analysis and add noise voltage sources which approximate the real noise you'd expect to be present in your system.
If this task is not just educational, but these measurement are going to be taken into account during development of a real hardware, you'll have to run Monte-Carlo analysis to check the values of leakage currents for a whole range of operating conditions.
Hope this helps.
Actually, there's a glimmer of truth in Linards' answer, but not for the reason he thinks.
When your PWM on-time is an odd mutliple of half the powerline's AC period, you are creating a DC component in the current through the transformer. In the worst case, if your duty cycle drops below 5%, you will be putting unipolar pulses through your transformer primary. It isn't going to like this at all.
If you're going to do this kind of AC powerline PWM, you must make sure that your PWM on-times are quantized to whole cycles of the AC waveform, so that there's never any DC component.
If you drop your PWM frequency to 1 Hz, then you can adjust the duty cycle form 0% to 100% in steps of 2% (20 ms).
Best Answer
The required insulation test uses high voltage DC where one clamp is put on both the AC inputs and the other probe is put where people can touch (earth wire, metal chassis, low voltage DC components, ...). Because it is DC class-Y capacitors will not be leaking current.
The simplest test to test for AC leakage is to put it on a non-GFCI protected circuit (to avoid trips) and put a clamp meter around live and neutral (but not ground) and set to measure AC. You can frankenstein an extension cord for that purpose. This is how a GFCI works, when that current exceeds the rated value it will trip.
There are more advanced devices that will used high voltage AC instead which will include the effect of the class-Y capacitor.
If that leakage current if because of high frequency noise on the line you can add a common mode choke on the AC input as filter.