Dear All,
I have a problem in the extraction of DC Operating Point Informations of mosfets. The issue is that, when multiple devices are present in a schematic, the DC parameters are actually vectors, so to see, let's say, the Gm of a device I have to write Gm[0], Gm[1] etc.
I noted that the match device-position in the array changes if a device is added in the schematic, and finding the index corresponding to the desired one can be difficult. My question is:
is there some way to refer to a mosfet by using his name (e.g. Gm[mosfet1], Vth[mosfet2] etc.)???
Thanks a lot for your help
I have a problem in the extraction of DC Operating Point Informations of mosfets. The issue is that, when multiple devices are present in a schematic, the DC parameters are actually vectors, so to see, let's say, the Gm of a device I have to write Gm[0], Gm[1] etc.
I noted that the match device-position in the array changes if a device is added in the schematic, and finding the index corresponding to the desired one can be difficult. My question is:
is there some way to refer to a mosfet by using his name (e.g. Gm[mosfet1], Vth[mosfet2] etc.)???
Thanks a lot for your help
Briefly, this is because the position of a MOSFET in the array that saves the data changes when you modify the schematic.
It is possible to track the operating point parameters of a particular MOSFET by using the find_index() function along with the DeviceId that the simulator saves in the dataset when you turn on the detailed operating point feature.
The DeviceID will show up in the data such as:
MOSFET.TRAN_DCOP.DeviceId
This example is for a transient simulation, therefore the TRAN_DCOP in the variable name.
The values of MOSFET.TRAN_DCOP.DeviceId are:
M1
M2
...
Lets say I wish to track instance name M2 as I modify the circuit. I would then setup the find_index() function as follows:
m2_idx=find_index(MOSFET.TRAN_DCOP.DeviceId,"M2")
This will find the index of M2 in the DeviceId array.
I then use this index (pointed to by variable m2_idx above) in the Gm array like this:
gm_M2=Gm[m2_idx]
Now if there is any modification to the circuit and M2 ends up in any other position in the DeviceId array I do not care because the find_index() function will track this for me.