---------------------------------------------------------
--- CIRCUIT DESIGN AND SIMULATION MARATHON USING ESIM ---
---------------------------------------------------------

Conducted by : 1] FOSSEE,IIT BOMBAY
	       2] VLSI System Design Corp.Pvt. Ltd


* ========================== * ------------ 
  NMOS WILSON CURRENT MIRROR - Nalinkumar S  
* ========================== * ------------

I have implemented NMOS Wilson Current Mirror circuit using eSim , Skywater 130nm PDK and ngspice .

Wilson current mirror is an improved version of simple current mirror circuit which provides stable mirrored current at output because of Negative feedback in circuit.The mirrored current is exact copy of input or reference current. It can also varied by changing the width and length of MOSFETs according to our requirements.

----------------------------------------------------------
***** Execution Of " Wilson_Current_Mirror.cir.out " *****
----------------------------------------------------------

Here wilson current mirror circuit is implemented for 6.23uA of current (ie.) I(ref) current = 6.23 uA and the same current is mirrored at output (ie.) I(out) = 6.23 uA .

--- Current Specification given in Wilson_Current_Mirror.cir.out file :
=======================================================================

Vdd = 1.8 V      ( #netlist - vdd net-_u1-pad1_ gnd  DC 1.8 )
R = 1.123 kohm 	 ( #netlist - xr1 net-_r1-pad1_ v1 gnd sky130_fd_pr__res_high_po_0p69 l=1 )
Iref = 6.23 uA   ( #Reference current )

Note :
	1) Resistor and MOSFET models used - Skywater 130nm models.
	2) We can change the parameters according to our requirements.
	3) Give the correct path for skywater 130 models in .lib command to avoid errors. (Current Path - "sky130_fd_pr/models/sky130.lib.spice")
	4) Transient analysis is performed for 1ms with step of 0.1ms.
	5) Plotting is done for I(ref) and I(out) currents.
	6) Plot window background is set to white , I(ref) current plot is set to red and I(out) current plot is set to blue. It can be changed if required.

--- To Run Wilson_Current_Mirror.cir.out file :
===============================================

There are many ways to run the ' .cir.out ' , One of the method is discussed below :

1] Right click the file 'Wilson_Current_Mirror.cir.out' .
2] Select 'open with' option .
3] Browse for ' Ngspice ' and select it .
4] Now Ngspice window will be opened and after the execution of process the simulated outputs and plots are shown .

From the plots we can see I(ref) current is equal to I(out) current (ie.) I(ref) = I(out) = 6.23 uA

-----------------------------------------
***** PROBLEM FACED DURING MARATHON *****
-----------------------------------------

The First Stage - Literature Survey was little difficult than implementing circuit design .
I have searched for many circuits during literature survey in various platforms like internet,textbooks,research papers etc..
First I planned to design Telescopic Amplifier , and while researching I found that telescopic amplifier is an diffrential amplifier cascoded with cascode current mirror . Then I realized that current mirrors play an vital role in many analog ICs design. So the current mirror topic was choosed and simple current mirror circuit have some disadvantages so wilson current mirror is choosed for design . Then the literature survey was submitted on " NMOS WILSON CURRENT MIRROR "

The Second Stage - The Circuit Implementation in esim and by using SKY130 PDK.
This stage was quite easy for me because I have worked on many circuit simulation platforms like LTspice, Pspice, Multisim and Proteus.
eSim was quite interesting and finally implemented the circuit design after facing few errors like Singular matrix error , Model name not defined error etc..
I have solved the error by getting help from mentors and from internet . For example , 'Model name not defined' error was caused by not giving correct path for models and Singular matrix error is due to improper connection of nodes .

The successful submission of this Circuit is mainly due to the help of Mentors , who gave a lot of resources to learn and guiding to solve errors . For example , Two Udemy courses for free of cost, which was really helpful for this whole marathon.
The slack channel was really useful, where we learnt to solve many errors which was faced by others and to gain more knowledge.

With the guidance of mentors , Internet , Spice manuals and Textbooks I could successfully complete my design and submit my final report .


Thanks to the team FOSSEE and VLSI System Design Corp.Pvt. Ltd for organising such a Circuit Simulation Marathon .

Thanks!!!


















