Note: I have created 2 bit binary to gray code converter using STATIC CMOS CIRCUIT.

Step 1: Successfully installed esim

Step 2: Watched DAC course but was not able to work through subcircuits properly therefore designed a 2- bit binary to Gray code converter.
 
Step 3: Initially I designed my circuit using Transmission gate.


(Errors incurred:
Scale set
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000

Warning: include: has no value, DC 0 assumed
Warning: v2: no DC value, transient time 0 value used
Warning: v1: no DC value, transient time 0 value used
Warning: singular matrix:  check nodes net-_m6-pad2_ and net-_m6-pad2_

Note: Starting dynamic gmin stepping
Trying gmin =  1.0000E-003 Note: One successful gmin step
Trying gmin =  1.0000E-004 Note: One successful gmin step
Trying gmin =  1.0000E-005 Note: One successful gmin step
Trying gmin =  1.0000E-006 Note: One successful gmin step
Trying gmin =  1.0000E-007 Note: One successful gmin step
Trying gmin =  1.0000E-008 Note: One successful gmin step
Trying gmin =  1.0000E-009 Note: One successful gmin step
Trying gmin =  1.0000E-010 Note: One successful gmin step
Trying gmin =  1.0000E-011 Note: One successful gmin step
Trying gmin =  1.0000E-012 Note: One successful gmin step
Trying gmin =  1.0000E-012 Note: One successful gmin step
Warning: singular matrix:  check nodes net-_m6-pad2_ and net-_m6-pad2_

Warning: Dynamic gmin stepping failed
Note: Starting source stepping
Supplies reduced to   0.0000% Warning: singular matrix:  check nodes net-_m6-pad2_ and net-_m6-pad2_


Trying gmin =  1.0000E-002 Note: One successful gmin step
Trying gmin =  1.0000E-003 Note: One successful gmin step
Trying gmin =  1.0000E-004 Note: One successful gmin step
Trying gmin =  1.0000E-005 Note: One successful gmin step
Trying gmin =  1.0000E-006 Note: One successful gmin step
Trying gmin =  1.0000E-007 Note: One successful gmin step
Trying gmin =  1.0000E-008 Note: One successful gmin step
Trying gmin =  1.0000E-009 Note: One successful gmin step
Trying gmin =  1.0000E-010 Note: One successful gmin step
Trying gmin =  1.0000E-011 Note: One successful gmin step
Trying gmin =  1.0000E-012 Note: One successful gmin step
Note: One successful source step
Supplies reduced to   0.1000% Warning: singular matrix:  check nodes net-_m6-pad2_ and net-_m6-pad2_

Supplies reduced to   0.0000% Warning: singular matrix:  check nodes net-_m6-pad2_ and net-_m6-pad2_

Warning: source stepping failed

Transient solution failed -

Last Node Voltages
------------------

Node                                   Last Voltage        Previous Iter
----                                   ------------        -------------
sky130_fd_pr__esd_nfet_05v0_nvt.pm3                    0                    0
                                                  0                    0
output                                 7.27162e-066         1.70442e-076
net-_m1-pad1_                         -2.78662e-070        -2.23656e-081
net-_m3-pad3_                         -7.27524e-066        -1.70474e-076
vdd                                               0         1.22237e-080
net-_m6-pad2_                                     0                    0
inputa                                            0        -5.36904e-077
inputb                                            0                    0
vd1#branch                            -3.69996e-081                    0
v2#branch                                         0                    0
v1#branch                               -1.145e-077                    0


doAnalyses: iteration limit reached

run simulation(s) aborted
Error: no such vector v(inputa)
ngspice 1 -> )

There were some logical errors in the circuit which I was unable to debug therefore switched to static CMOS.

Step 4: Designing of E-XOR gate using static CMOS
 
1. Designed E-xor on esim using components and the circuit is successfully simulated on ngspice and output waveform is obtained(ouput waveform is a 
little distorted)
2. Few things which I still have not understood properly is how values of digital inputs are defined and i.e. the reason I have obtained distorted output
(beacuse everytime I toggle values waveform changes, so that part is not understood properly but I am working on it).


