Your question mixes several concepts and needs to be clearer to be sure of being answered well. But:
I will comment on current sources, then current mirrors, then MOS devices.
An ideal current source has an infinite output impedance. This means that the current "just flows" regardless of how large or small the load resistance is and the voltage adjusts accordingly. For example, if you had an ideal 3 amp current source, then if you loaded it with 10 ohms the output voltage would be V = IR = 3A x 10 = 30V. If you loaded it with 1000 ohms the output voltage would be V = IR = 3 x 1000 = 3000 volts. If you loaded it with nothing but a voltmeter with 1 million ohms input resistance then the current source's output voltage would be 3A x 1000000 ohms = 3,000,000 Volts. You probably wouldn't want to do that :-).
In practice the ability of a current source to drice an arbitrarily high resistance is limited by the available voltage (as least), so it can be nearly ideal only for a limited range of load resistances.
Even within its avaiable voltage range a current source will not produce a perfectly steady constant current. eg a 0.100A ccs may produce 1 Volt across 10 ohms (I = V/R = 1.000 / 10.000 = 100.00 mA, but produce 2.002 Volt across 2.000 ohms. In the latter case the voltage is higher than it should be so the current is higher than it should be so the current source has a large but finite (ie non infinite) resistance. As the current has DECREASED as load INCREASES the dynamic resistance is positive but effectively has a negative slope (which just means it gets smaller as load resistance gets bigger).
A current mirror is essentially a current source which is driven by a current input.
- For a current mirror: Iout = k x Iin
eg 1 mA into one "leg" of a current mirror should produce 1 mA in the other "leg" (or some contant vale of this). BUT in practice the current mirror will not be perfect and eg 1mA in may produce 1.002 mA or 0.978 mA or some other value in the other "leg". This will be the equivalent of a non ideal current source in which there is some apparent and non-infinite output resistance.
MOS = "Metal Oxide Semiconductor" is a form of semiconductor manufacturing technology. CMOS ICs use it and MOSFETs. Current sources and current mirrors may be made using it BUT the two are independent.
A vast array of MOS current mirror circuits and some other stuff can be found using this Google trick. Look at the page heading and general environment. All images are hot linked to web pages.
Wikipedia on Current Mirros
Wikipedia on active loads - relevant to my comments - read and understand.
Photo below - Simple MOSFET based current mirror from here - worth reading.
Look familiar?
From here - good
And
Language usage : i.e. and e.g.
The following is not directly electronics but assist in asking and answering good questions.
Note that you say "ie a MOS current mirror".
"ie" means "that is" = specifically and only.
That may be what you were interested in but usually "eg" is used in this context which meams "one example is" or "here is an example of what I mean".
Best Answer
The actual definition of \$g_{ds}\$ is
\$g_{ds} = \frac{\partial i_{ds}}{\partial v_{ds}}\$
The value of this mainly depends on both the model you use (changes with the "LEVEL" parameter for mosfet models) and the region the mosfet is used in (eg. triode or saturation).
For the LEVEL=1 model, the gds is calculated as
\$g_{ds} = \lambda\cdot\frac{\beta}{2}(v_{gs}-v_{TH})^2\$ in saturation
If you use this model, your formula (\$r_o=\frac{1}{\lambda I_D}\$) should match simulation results. If it is not the case, you should check that:
For the LEVEL=2 model, \$\lambda\$ means something different. It will modify the current using:
\$I_{ds} = \frac{I_{ds}}{1-\lambda v_{ds}}\$
A default \$\lambda\$-parameter will be calculated if it is 0. Your formula will not work anymore for this model.
Although they're for HSpice, I found a nice reference for the main model equations per level here:
MOS Spice model equations and parameters
You can see that not even all models implement a "LAMBDA" parameter. For the ones that do, the LAMBDA parameter will do something else depending on the LEVEL-parameter.
For PSpice, I expect LEVEL 1 through 6 to be identical (they were implemented by the people from Berkeley themselves, who made the original Spice). The other mosfet model levels may differ a bit, although most models come back.
[EDIT] To answer your second question:
For hand calculations, the one you're using is probably the most common one. It's just that you'll need to find \$\lambda\$ for your model and if you're using anything but a level 1 mosfet model, then the \$\lambda\$ you're looking for will not be the LAMBDA parameter of the model.
It may not be perfect, but it's enough for all practical applications.