New feature in xschem. Scope symbols to quickly in...
# xschem
s
New feature in xschem. Scope symbols to quickly inspect nets / device currents.

https://www.youtube.com/watch?v=hVCIlAvAM5A

👏 6
h
Very nice! I‘ll need to try this 😀
Could you do something similar to easily check the most important transistor parameters. Something I can attach to a device and see the properties?
@Stefan Schippers like the ammeter scope: selecting a device, add the "op symbol" and get operating point data.
👍 1
s
@Harald Pretl Displaying device OP data be done but: • data must be explicitly saved before running the simulation. Sadly there is not a save all command (at least AFAIK) that would be very useful for many analog blocks (that not that big that saving everything becomes an issue). • the syntax for the saved nodes is very simulator specific. (ngspice). But it's the most used simulator so it is worth doing anyway. Will work on that .
h
@Stefan Schippers super, that would help a lot! Constructing the op save statements is a hassle, so this is a big help to automate that away. BTW, gm, gds, Ids, Vth, fug would likely be the most important parameters for MOSFET.
👍 1
s
@Harald Pretl what is the last parameter above?
fug
h
That is the f_T in the PSP model.
s
@Harald Pretl so you are referring to the unity current gain frequency, right? [edit] Sorry it was displayed in the full picture. I didn't click the image and saw only the 3 capacitors
👍 1
@Harald Pretl BSIM4 models have a parameter for cgd (Intrinsic Source-Drain transcapacitance) and for cgdo (Gate-Drain overlap and fringing capacitance) Should take the second one (and similar cgso for source) ? Or should I take the sum? From your formula above it seems overlap/fringe capacitance fits best in the formula.
@Harald Pretl I have something that seems to work, and will shortly push a commit to
xschem_sky130
. Display device model parameters is strongly pdk dependent so each pdk should have its specific scripts to do the task. I have done the test on sky130. There are 2 functions. • generating the .save lines to get all these parameters saved, this is the most boring part to do manually (due to the complex syntax):
...
.save @m.x1.xm2.msky130_fd_pr__nfet_01v8_lvt[vdsat]
.save @m.x1.xm2.msky130_fd_pr__nfet_01v8_lvt[cgg]
.save @m.x1.xm2.msky130_fd_pr__nfet_01v8_lvt[cgso]
.save @m.x1.xm2.msky130_fd_pr__nfet_01v8_lvt[cgdo]
.save @m.x1.xm3.msky130_fd_pr__pfet_01v8_lvt[gm]
.save @m.x1.xm3.msky130_fd_pr__pfet_01v8_lvt[gds]
.save @m.x1.xm3.msky130_fd_pr__pfet_01v8_lvt[vth]
.save @m.x1.xm3.msky130_fd_pr__pfet_01v8_lvt[vdsat]
.save @m.x1.xm3.msky130_fd_pr__pfet_01v8_lvt[cgg]
.save @m.x1.xm3.msky130_fd_pr__pfet_01v8_lvt[cgso]
...
• Displaying (annotating) these values in the schematic. This is done with a new
annotate_fet_params.sym
symbol: