* c:\users\vansh\esim-workspace\3_bit_flash_adc\3_bit_flash_adc.cir

.include lm_741.sub
x5 net-_r12-pad1_ net-_r1-pad2_ vin net-_x1-pad4_ net-_r12-pad2_ net-_u6-pad1_ +vcc ? lm_741
x6 net-_r13-pad1_ net-_r2-pad2_ vin net-_x1-pad4_ net-_r13-pad2_ net-_u6-pad2_ +vcc ? lm_741
x7 net-_r14-pad1_ net-_r3-pad2_ vin net-_x1-pad4_ net-_r14-pad2_ net-_u6-pad3_ +vcc ? lm_741
x1 net-_r15-pad1_ net-_r4-pad2_ vin net-_x1-pad4_ net-_r15-pad2_ net-_u6-pad4_ +vcc ? lm_741
x2 net-_r16-pad1_ net-_r5-pad2_ vin net-_x1-pad4_ net-_r16-pad2_ net-_u6-pad5_ +vcc ? lm_741
x3 net-_r17-pad1_ net-_r6-pad2_ vin net-_x1-pad4_ net-_r17-pad2_ net-_u6-pad6_ +vcc ? lm_741
x4 net-_r18-pad1_ net-_r7-pad2_ vin net-_x1-pad4_ net-_r18-pad2_ net-_u6-pad8_ +vcc ? lm_741
r8  net-_r7-pad2_ gnd 1k
r2  net-_r1-pad2_ net-_r2-pad2_ 1k
r3  net-_r2-pad2_ net-_r3-pad2_ 1k
r4  net-_r3-pad2_ net-_r4-pad2_ 1k
r5  net-_r4-pad2_ net-_r5-pad2_ 1k
r6  net-_r5-pad2_ net-_r6-pad2_ 1k
r7  net-_r6-pad2_ net-_r7-pad2_ 1k
* u3  out2 plot_v1
* u5  out1 plot_v1
* u4  out0 plot_v1
v1  vin gnd sine(0 10 1k 0 0)
* u1  vin plot_v1
v2  +vcc gnd 15
r1  vref net-_r1-pad2_ 1k
* u7  net-_u2-pad9_ net-_u2-pad10_ net-_u2-pad11_ net-_r9-pad1_ net-_r10-pad1_ net-_r11-pad1_ dac_bridge_3
x8 net-_r19-pad1_ gnd vin net-_x1-pad4_ net-_r19-pad2_ net-_u6-pad7_ +vcc ? lm_741
* u6  net-_u6-pad1_ net-_u6-pad2_ net-_u6-pad3_ net-_u6-pad4_ net-_u6-pad5_ net-_u6-pad6_ net-_u6-pad7_ net-_u6-pad8_ net-_u2-pad1_ net-_u2-pad2_ net-_u2-pad3_ net-_u2-pad4_ net-_u2-pad5_ net-_u2-pad6_ net-_u2-pad7_ net-_u2-pad8_ adc_bridge_8
v3  vref gnd 8
v5  gnd net-_x1-pad4_ 15
* u2  net-_u2-pad1_ net-_u2-pad2_ net-_u2-pad3_ net-_u2-pad4_ net-_u2-pad5_ net-_u2-pad6_ net-_u2-pad7_ net-_u2-pad8_ net-_u2-pad9_ net-_u2-pad10_ net-_u2-pad11_ priority_encode_vanshika
r9  net-_r9-pad1_ out2 1k
r10  net-_r10-pad1_ out1 1k
r11  net-_r11-pad1_ out0 1k
* u8  vref plot_v1
r16  net-_r16-pad1_ net-_r16-pad2_ 1k
r15  net-_r15-pad1_ net-_r15-pad2_ 1k
r13  net-_r13-pad1_ net-_r13-pad2_ 1k
r17  net-_r17-pad1_ net-_r17-pad2_ 1k
r18  net-_r18-pad1_ net-_r18-pad2_ 1k
r19  net-_r19-pad1_ net-_r19-pad2_ 1k
r12  net-_r12-pad1_ net-_r12-pad2_ 1k
r14  net-_r14-pad1_ net-_r14-pad2_ 1k
a1 [net-_u2-pad9_ net-_u2-pad10_ net-_u2-pad11_ ] [net-_r9-pad1_ net-_r10-pad1_ net-_r11-pad1_ ] u7
a2 [net-_u6-pad1_ net-_u6-pad2_ net-_u6-pad3_ net-_u6-pad4_ net-_u6-pad5_ net-_u6-pad6_ net-_u6-pad7_ net-_u6-pad8_ ] [net-_u2-pad1_ net-_u2-pad2_ net-_u2-pad3_ net-_u2-pad4_ net-_u2-pad5_ net-_u2-pad6_ net-_u2-pad7_ net-_u2-pad8_ ] u6
a3 [net-_u2-pad1_ net-_u2-pad2_ net-_u2-pad3_ net-_u2-pad4_ net-_u2-pad5_ net-_u2-pad6_ net-_u2-pad7_ net-_u2-pad8_ ] [net-_u2-pad9_ net-_u2-pad10_ net-_u2-pad11_ ] u2
* Schematic Name:                             dac_bridge_3, NgSpice Name: dac_bridge
.model u7 dac_bridge(out_low=0.0 out_high=5.0 out_undef=0.5 input_load=1.0e-12 t_rise=1.0e-9 t_fall=1.0e-9 ) 
* Schematic Name:                             adc_bridge_8, NgSpice Name: adc_bridge
.model u6 adc_bridge(in_low=1.0 in_high=2.0 rise_delay=1.0e-9 fall_delay=1.0e-9 ) 
* Schematic Name:                             priority_encode_vanshika, NgSpice Name: priority_encode_vanshika
.model u2 priority_encode_vanshika(rise_delay=1.0e-9 fall_delay=1.0e-9 input_load=1.0e-12 instance_id=1 ) 
.tran 0.01e-03 4e-03 0e-03

* Control Statements 
.control
run
print allv > plot_data_v.txt
print alli > plot_data_i.txt
plot v(out0)+6 v(out1)+12 v(out2)+18
plot v(vin)+6 v(vref)
.endc
.end

