0
\$\begingroup\$

Below is a very simple circuit to extract the transconductance value of the MOSFET.

As it is known, transconductance is known as Delta (Id) / Delta (Vgate).

For the gate voltage, I defined it as .step param X 0 12 0.5.

To make ΔID/ΔVGS and get the result of transconductance ı write dot parameters as follow:

.param Vhigh {X}
.param Vlow {X-0.5}
.save V(Vg) Id(M1)
.meas TRAN Id_high FIND Id(M1) WHEN V(Vg)=Vhigh
.meas TRAN Id_low FIND Id(M1) WHEN V(Vg)=Vlow
.meas TRAN gm PARAM (Id_high-Id_low)/(Vhigh-Vlow)
.print gm

When ı check the Spice error log , Id_high - Id_low and gm values are negative. Why ? What is wrong with my dot parameters ?

enter image description here

enter image description here Source: https://www.mouser.com.tr/datasheet/2/240/media-3322045.pdf

enter image description here

enter image description here

\$\endgroup\$
13
  • 1
    \$\begingroup\$ Are you trying to plot the transconductance or get a text output of it? \$\endgroup\$
    – Ste Kulov
    Commented Jun 4 at 12:50
  • \$\begingroup\$ I am trying to get transconductance, but ı am not sure how to do it with dot parameters @Ste Kulov \$\endgroup\$
    – Mhan
    Commented Jun 4 at 13:03
  • \$\begingroup\$ @V.V.T thank you for your comments. I know the formula but ı dont know how to plot it with dot parameters in ltspice. This is the point that I am looking for to create ΔID/ΔVGS \$\endgroup\$
    – Mhan
    Commented Jun 4 at 14:05
  • \$\begingroup\$ I can't tell if this is what you want or something else. i.sstatic.net/32eeV9lD.png \$\endgroup\$
    – Ste Kulov
    Commented Jun 4 at 16:09
  • \$\begingroup\$ how to define ΔID/ΔVGS with dot parameters. This is what ı am looking for. @Ste Kulov \$\endgroup\$
    – Mhan
    Commented Jun 5 at 5:20

2 Answers 2

1
\$\begingroup\$

What's probably going on is that there's a brief period close to 0s in your transient where the current goes negative, and since it coincides with the points where your input voltage is high or low, then this is what's being recorded. And that's why your recorded current values are negative, despite your Id(M1) transient curve looking mostly positive. The parts where the current goes negative can't be well appreciated at this scale.

Anyhow, I think the method you're using to find out gm is not the right one. Why don't you, instead, simply sweep the gate voltage (which equals Vgs since the source is grounded) and plot Id(M1) as a function of it.

Then, all you need to do is plot d(Id(M1)) (it'll be plotted as a function of Vgs, as it's the only parameter you're sweeping), and you're done.

\$\endgroup\$
5
  • \$\begingroup\$ That’s exactly what I suggested but he said it was wrong. (insert shrugging shoulders emoji) \$\endgroup\$
    – Ste Kulov
    Commented Jun 5 at 13:51
  • \$\begingroup\$ ı didnt say you are wrong, thank you for your comments but ı said how to do with DOT PARAMETERS @Ste Kulov \$\endgroup\$
    – Mhan
    Commented Jun 5 at 13:55
  • \$\begingroup\$ @SteKulov oh, didn't read your suggestion. The great minds think alike ;) \$\endgroup\$
    – Designalog
    Commented Jun 5 at 13:56
  • \$\begingroup\$ @Mhan why are you so adamant in doing it that way? If you must do so then you can also read two points in the IDs vs vgs curve and do the same operations. \$\endgroup\$
    – Designalog
    Commented Jun 5 at 13:58
  • \$\begingroup\$ @Mhan I showed an example with .step param too. Is that not a “DOT PARAMETER”? \$\endgroup\$
    – Ste Kulov
    Commented Jun 5 at 14:02
1
\$\begingroup\$

Made with microcap v12

Something like this. Note that it is only d(Id) versus Vgs.

enter image description here

Should get something like this ...

enter image description here

\$\endgroup\$
5
  • \$\begingroup\$ Hello sir, yes its something like this and ı add a real transconductance of a mosfet in the question you can check it above. In the X-axis we need ID and on the Y-axis transconductance which is ΔID/ΔVGS. But ı dont know how to plot it especially with dot parameters @Antonio51 \$\endgroup\$
    – Mhan
    Commented Jun 5 at 7:36
  • \$\begingroup\$ additionally adding an algebraic expression to the plot doesn't work. I add d(Id))/d(Vgs)) on Y-axis and Id on X-axis it didnt show me anything @Antonio51 \$\endgroup\$
    – Mhan
    Commented Jun 5 at 10:49
  • \$\begingroup\$ Sorry. Don't know LTSpice very well. \$\endgroup\$
    – Antonio51
    Commented Jun 5 at 13:03
  • \$\begingroup\$ @Mhan In your circuit you need to use node names which actually exist. That would be d(Id(M1))/d(V(Vg)). But x-axis is already Vgs so d(V(Vg)) will be one. Only way to change x-axis is to change what parameter you sweep. If you want to have Id on x-axis, you need to sweep Id directly. \$\endgroup\$
    – Ste Kulov
    Commented Jun 5 at 14:06
  • \$\begingroup\$ Hello @SteKulov thank you for your comments. can you show how to sweep Id if ı want to have Id on x-axis and transconductance on y-axis. \$\endgroup\$
    – Mhan
    Commented Jun 7 at 7:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.