Simulating the cmos analog multiplier using esim and it's showing error in ngspice
while simulating this circuit it's showing error unable to read analysis file and another dialog box is also appearing saying Error while opening python plotting Editor. Please look at console for more details.
here, is the attached netlist of the given circuit :---
* c:\users\vansh\esim-workspace\multiplier\multiplier.cir
.include PMOS-180nm.lib
m1 out1 net-_m1-pad2_ ? net-_m1-pad2_ CMOSP W=2.50u L=0.25u M=1
m2 out2 net-_m1-pad2_ net-_m2-pad3_ net-_m2-pad3_ CMOSP W=2.50u L=0.25u M=1
m6 net-_m2-pad3_ net-_m6-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m5 net-_m1-pad2_ net-_m5-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m8 net-_m4-pad3_ net-_m5-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m7 net-_m3-pad3_ net-_m6-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m3 out1 net-_m3-pad2_ net-_m3-pad3_ net-_m3-pad3_ CMOSP W=2.50u L=0.25u M=1
m4 out2 net-_m3-pad2_ net-_m4-pad3_ net-_m4-pad3_ CMOSP W=2.50u L=0.25u M=1
r2 net-_r1-pad1_ out2 70k
r1 net-_r1-pad1_ out1 70k
input2 net-_m3-pad2_ gnd sine(0 5m 200 0 0)
input1 net-_m1-pad2_ gnd sine(0 -5m 200 0 0)
input4 net-_m6-pad2_ gnd sine(0 5m 100 0 0)
input3 net-_m5-pad2_ gnd sine(0 -5m 100 0 0)
* u2 out2 plot_v1
* u1 out1 plot_v1
vdd1 net-_r1-pad1_ gnd 1.2
.tran 5e-03 25e-03 0e-03
* Control Statements
.control
run
print allv > plot_data_v.txt
print alli > plot_data_i.txt
plot v(out2)
plot v(out1)
.endc
.end
can anyone please help me to solve this problem as soon as possible? As I am unable to find the error?
can anyone please help me to solve this problem as soon as possible? As I am unable to find the error?
eSim Schematic-Creation-and-Simulation 13-14 min 0-10 sec
Answers:
Dear Vanshika,


Please try pasting the following code:
.include PMOS-180nm.lib
m1 out1 net-_m1-pad2_ ? net-_m1-pad2_ CMOSP W=2.50u L=0.25u M=1
m2 out2 net-_m1-pad2_ net-_m2-pad3_ net-_m2-pad3_ CMOSP W=2.50u L=0.25u M=1
m6 net-_m2-pad3_ net-_m6-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m5 net-_m1-pad2_ net-_m5-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m8 net-_m4-pad3_ net-_m5-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m7 net-_m3-pad3_ net-_m6-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m3 out1 net-_m3-pad2_ net-_m3-pad3_ net-_m3-pad3_ CMOSP W=2.50u L=0.25u M=1
m4 out2 net-_m3-pad2_ net-_m4-pad3_ net-_m4-pad3_ CMOSP W=2.50u L=0.25u M=1
r2 net-_r1-pad1_ out2 70k
r1 net-_r1-pad1_ out1 70k
vinput2 net-_m3-pad2_ gnd sine(0 5m 200 0 0)
vinput1 net-_m1-pad2_ gnd sine(0 -5m 200 0 0)
vinput4 net-_m6-pad2_ gnd sine(0 5m 100 0 0)
vinput3 net-_m5-pad2_ gnd sine(0 -5m 100 0 0)
* u2 out2 plot_v1
* u1 out1 plot_v1
vdd1 net-_r1-pad1_ gnd 1.2
.tran 5e-03 25e-03 0e-03
* Control Statements
.control
run
print allv > plot_data_v.txt
print alli > plot_data_i.txt
plot v(out2)
plot v(out1)
.endc
.end
The alphabet 'V' needs to be present before voltage sources like "Vinput1", "Vinput2", "Vinput3", etc.
If any more doubts, please feel free to ask.
Thank You.
Regards,
Sumanto Kar
Dear Vanshika,
Please try pasting the following code:
.include PMOS-180nm.lib
m1 out1 net-_m1-pad2_ ? net-_m1-pad2_ CMOSP W=2.50u L=0.25u M=1
m2 out2 net-_m1-pad2_ net-_m2-pad3_ net-_m2-pad3_ CMOSP W=2.50u L=0.25u M=1
m6 net-_m2-pad3_ net-_m6-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m5 net-_m1-pad2_ net-_m5-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m8 net-_m4-pad3_ net-_m5-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m7 net-_m3-pad3_ net-_m6-pad2_ gnd gnd CMOSP W=2.50u L=0.25u M=1
m3 out1 net-_m3-pad2_ net-_m3-pad3_ net-_m3-pad3_ CMOSP W=2.50u L=0.25u M=1
m4 out2 net-_m3-pad2_ net-_m4-pad3_ net-_m4-pad3_ CMOSP W=2.50u L=0.25u M=1
r2 net-_r1-pad1_ out2 70k
r1 net-_r1-pad1_ out1 70k
vinput2 net-_m3-pad2_ gnd sine(0 5m 200 0 0)
vinput1 net-_m1-pad2_ gnd sine(0 -5m 200 0 0)
vinput4 net-_m6-pad2_ gnd sine(0 5m 100 0 0)
vinput3 net-_m5-pad2_ gnd sine(0 -5m 100 0 0)
* u2 out2 plot_v1
* u1 out1 plot_v1
vdd1 net-_r1-pad1_ gnd 1.2
.tran 5e-03 25e-03 0e-03
* Control Statements
.control
run
print allv > plot_data_v.txt
print alli > plot_data_i.txt
plot v(out2)
plot v(out1)
.endc
.end
The alphabet 'V' needs to be present before voltage sources like "Vinput1", "Vinput2", "Vinput3", etc.
If any more doubts, please feel free to ask.
Thank You.
Regards,
Sumanto Kar
Thank You sir