Version 4 SHEET 1 1904 908 WIRE -128 160 -128 112 WIRE -128 272 -128 240 WIRE 32 112 -128 112 WIRE 32 224 32 112 WIRE 64 224 32 224 WIRE 112 112 32 112 WIRE 112 144 112 112 WIRE 112 272 112 240 WIRE 160 192 112 192 WIRE 192 112 112 112 WIRE 256 112 192 112 WIRE 256 224 256 112 WIRE 288 224 256 224 WIRE 336 144 336 112 WIRE 336 272 336 240 WIRE 384 192 336 192 WIRE 416 112 336 112 WIRE 496 112 416 112 WIRE 496 160 496 112 WIRE 496 272 496 240 FLAG 112 272 0 FLAG 336 272 0 FLAG 496 272 0 FLAG -128 272 0 FLAG 416 112 out FLAG 192 112 ref FLAG 160 192 0 FLAG 384 192 0 SYMBOL nmos4 64 144 R0 WINDOW 3 56 81 Left 0 SYMATTR Value N2 SYMATTR InstName M2 SYMATTR Value2 l=360n w=360n m=2 SYMBOL voltage 496 144 R0 SYMATTR InstName Vout SYMATTR Value 1.8 SYMBOL current -128 240 M180 WINDOW 0 24 88 Left 0 WINDOW 3 24 0 Left 0 SYMATTR InstName I1 SYMATTR Value 10µ SYMBOL nmos4 288 144 R0 WINDOW 3 54 81 Left 0 SYMATTR Value N1 SYMATTR InstName M1 SYMATTR Value2 l=360n w=360n m=2 TEXT -160 -40 Left 0 ;* Uniform distribution +/-10% \n.param VTH1=.37192*(1+0.1-0.2*rand(n))\n.param VTH2=.37192*(1+0.1-0.2*rand(10000+n)) TEXT -168 368 Left 0 !* Gauss distribution +/-10% 3 sigma\n* Approximation : Add m(4) random numbers, mean = m/2 = 2 sigma4 = sqrt(m/12) = 0.577735\n* This example has 3*sigma=0.1 -> sigma=0.033333\n* Adjusted distribution: gauss=sigma/sigma4*(rand()+rand()+rand()+rand()-m/2)\n*\n.param gauss1=0.033333/0.577735*(rand(10000+n)+rand(20000+n)+rand(30000+n)+rand(40000+n)-2)\n.param gauss2=0.033333/0.577735*(rand(50000+n)+rand(60000+n)+rand(70000+n)+rand(80000+n)-2)\n.param VTH1=.37192*(1+gauss1) \n.param VTH2=.37192*(1+gauss2) TEXT 400 -392 Left 0 ;Monte Carlo Simulation of a NMOS Current Mirror\nHelmut Sennewald\n \nMOSFET: http://ece.iisc.ernet.in/~navakant/E3-238/analog_vlsi.html\nGauss : http://www.univie.ac.at/future.media/moe/galerie/wstat1/wstat1.html\nDPLOT freeware : LTspice Yahoo group: Files > Util > Graphic DPLOT95 V1.3.3 TEXT -160 -152 Left 0 !.temp 27c TEXT -160 -112 Left 0 ;.model N1 NMOS VTO={VTH1} \n.model N2 NMOS VTO={VTH2} TEXT -160 -336 Left 0 !.dc Vout 0 1.8 0.01\n.step param n 1 1000 1 \n;.step param n 1001 2000 1\n \n.MEASURE id1 FIND id(M1) WHEN V(out)=1.789 TEXT 400 -200 Left 0 ;LTspice : Run simulation: Plot Id(M1)\nLTspice : View SPICE Error Log : copy results of .MEASURE to clipboard\nDPLOT : Open new plot window and paste data : File->New \nDPLOT : Copy data from clipboard : Edit->Paste\nDPLOT : Delete second trace in DPLOT : Edit->Erase curve curve # 2\nDPLOT : Make a histogram : Generate -> Histogram 1e-6\n Results from DPLOT of two runs :\n .step param n 1 1000 1 Mean= 11.9189E-06, Standard Deviation= 2.16034E-06\n .step param n 1001 2000 1 Mean= 12.0147E-06, Standard Deviation= 2.08322E-06 TEXT -160 -384 Left 0 !.include t55u_lo_epi-params_new.txt TEXT -160 -184 Left 0 !.options nomarch