Need help with using Findroot

Clear["Global'*"]

Vtn = 1;
Vtp = 1;
kn = 1;
kp = 1;
\[Lambda] = 0.02;
Vdd = 5;
Ids[Vgs_, Vds_] := \[Piecewise] {

   {0, Vgs < Vtn},

   {kn*((Vgs - Vtn)*Vds - 1/2 Vds^2)*(1 + \[Lambda]*Vds), 

    Vgs >= Vtn && Vds < Vgs - Vtn},

   {1/2*kn*(Vgs - Vtn)^2*((1 + \[Lambda]*Vds)), 

    Vgs >= Vtn && Vds >= Vgs - Vtn}

  }

Isd[Vgs_, Vds_] := \[Piecewise] {

   {0, Vgs < Vtp},

   {kp*((Vdd - Vgs  - Vtp)*(Vdd - Vds) - 

       1/2 (Vdd - Vds)^2)*(1 + \[Lambda]*(Vdd - Vds)), 

    Vgs >= Vtp && Vds >= Vgs - Vtp},

   {1/2*kp*(Vdd - Vgs - Vtp)^2*((1 + \[Lambda]*(Vdd - Vds))), 

    Vgs >= Vtp && Vds <=  Vgs - Vtp}

  }

Table[FindRoot[

  1/2*kn*(Vgs - Vtn)^2*((1 + \[Lambda]*Vds)) == 

   kp*((Vdd - Vgs - Vtp)*(Vdd - Vds) - 

      1/2 (Vdd - Vds)^2)*(1 + \[Lambda]*(Vdd - Vds)), {Vgs, 0}], {Vgs,

   0, 5}]

Hi, I am very new to using Mathematica however my professor believes we all know how to use it. Any help and tips would be great.

I am trying to use the FindRoot function to find Vds for Vgs input of 0 to 5 then table it so that I can Plot the graph of Vds Vs. Vgs which is the VTC curve of the inverter. But I can not seem to get find root to work.

Once again thanks for any help, you can give me.

In[1]:= Clear["Global'*"]
Vtn = 1; Vtp = 1; kn = 1; kp = 1; ? = 0.02; Vdd = 5;
Vds /. Table[FindRoot[1/2*kn*(Vgs - Vtn)^2*((1 + ?*Vds)) == 
    kp*((Vdd - Vgs - Vtp)*(Vdd - Vds) - 1/2 (Vdd - Vds)^2)*(1 + ?*(Vdd - Vds)), {Vds, 0}], {Vgs, 0, 5}]

During evaluation of In[1]:= FindRoot::lstol: The line search decreased the step size to within tolerance specified by AccuracyGoal and PrecisionGoal but was unable to find a sufficient decrease in the merit function. You may need more than MachinePrecision digits of working precision to meet these tolerances. >>

Out[3]= {-2.89698, -1., 1.25462, 3.95105, 4.91024, 5.82743}

In[4]:= Plot[Vds /. FindRoot[1/2*kn*(Vgs - Vtn)^2*((1 + ?*Vds)) == 
    kp*((Vdd - Vgs - Vtp)*(Vdd - Vds) - 1/2 (Vdd - Vds)^2)*(1 + ?*(Vdd - Vds)), {Vds, 0}], {Vgs, 0, 5}]

Out[4]= ...PlotSnipped...

Carefully check this and try to verify that it is actually what you are looking for and that it correctly represents your system.