I know that people can observe some transistor parameter changes during the monte carlo simulation, but there is no options to let user choose width or length of a transistor as a observed parameter, what's your method?
by the way, my approach is to build an expression including some parameters picked up by "opt" in calculator, but the transistor size is not there.
generally, are all the transistors in a circuit applied the same variation in a simulation? or each transistor has its own variation in the simulation? I noticed that some people mentioned one model card and multiple model card, is this related to the transistor dimension variation?
You can access the size of the transistor using pv("/I7/M5" "w" ?result 'instance) (same for "l"). That's the parameter as define in the netlist. If you want the effective width and length, that would be pv("/I7/M5" "weff" ?result 'output) (and "leff" for length) The parameters that are output are in the Output Parameters section of "spectre -h bsim4" (or whatever model you're using). For example:
================= Output Parameters=================1 weff (m) Effective channel width (alias=lx62).2 leff (m) Effective channel length (alias=lx63).3 weffcv (m) Effective channel width for CV (alias=lx64).4 leffcv (m) Effective channel length for CV (alias=lx65).5 vfbsd (V) Flat band Voltage between the gate and Drain/source diffusions (alias=lx75).6 rgbi (Ohm) Gate bias-independent resistance.7 adeff (m^2) Effective drain area.8 aseff (m^2) Effective source area.9 pdeff (m) Effective drain perimeter.10 pseff (m) Effective source perimeter.
However, it's quite likely that your monte carlo models are not varying the weff/leff of the device, but instead varying the vt or some other parameter of the model. So you might not see anything nevertheless.
thanks so much!