diff --git a/xschem_library/examples/classD_amp.sch b/xschem_library/examples/classD_amp.sch index 5a2e19a9..8ea2d69a 100644 --- a/xschem_library/examples/classD_amp.sch +++ b/xschem_library/examples/classD_amp.sch @@ -6,12 +6,8 @@ S {} E {} L 3 290 -1250 630 -1250 {} L 3 1160 -1250 1600 -1250 {} -L 4 520 -210 530 -250 {} -L 4 530 -250 540 -210 {} -L 4 540 -210 550 -250 {} -L 4 550 -250 560 -210 {} -L 4 560 -210 570 -250 {} -L 4 570 -250 580 -210 {} +L 4 525 -210 530 -250 {} +L 4 530 -250 535 -210 {} L 4 340 -230 342.5 -242.5 {} L 4 342.5 -242.5 347.5 -250 {} L 4 347.5 -250 352.5 -250 {} @@ -27,24 +23,38 @@ L 4 382.5 -242.5 387.5 -250 {} L 4 387.5 -250 392.5 -250 {} L 4 392.5 -250 397.5 -242.5 {} L 4 397.5 -242.5 400 -230 {} -L 4 20 -1180 20 -1080 {dash=1} -L 4 10 -1090 140 -1090 {dash=1} -L 4 80 -1180 80 -1090 {dash=2} -L 4 20 -1160 110 -1160 {dash=2} L 4 20 -860 20 -760 {dash=1} L 4 10 -770 140 -770 {dash=1} L 4 80 -860 80 -770 {dash=2} L 4 20 -840 110 -840 {dash=2} -L 7 20 -770 60 -770 {} -L 7 60 -770 70 -775 {} -L 7 70 -775 90 -835 {} -L 7 100 -840 140 -840 {} -L 7 90 -835 100 -840 {} -L 7 20 -1160 60 -1160 {} -L 7 60 -1160 70 -1155 {} -L 7 70 -1155 90 -1095 {} -L 7 100 -1090 140 -1090 {} -L 7 90 -1095 100 -1090 {} +L 4 20 -1180 20 -1080 {dash=1} +L 4 10 -1090 140 -1090 {dash=1} +L 4 80 -1180 80 -1090 {dash=2} +L 4 20 -1160 110 -1160 {dash=2} +L 4 535 -210 540 -250 {} +L 4 540 -250 545 -210 {} +L 4 545 -210 550 -250 {} +L 4 550 -250 555 -210 {} +L 4 555 -210 560 -250 {} +L 4 560 -250 565 -210 {} +L 4 565 -210 570 -250 {} +L 4 570 -250 575 -210 {} +L 4 575 -210 580 -250 {} +L 4 580 -250 585 -210 {} +L 4 585 -210 590 -250 {} +L 4 590 -250 595 -210 {} +L 4 595 -210 600 -250 {} +L 4 600 -250 605 -210 {} +L 7 20 -1090 60 -1090 {} +L 7 60 -1090 70 -1095 {} +L 7 70 -1095 90 -1155 {} +L 7 100 -1160 140 -1160 {} +L 7 90 -1155 100 -1160 {} +L 7 20 -840 60 -840 {} +L 7 60 -840 70 -835 {} +L 7 70 -835 90 -775 {} +L 7 100 -770 140 -770 {} +L 7 90 -775 100 -770 {} B 2 1100 -690 2050 -340 {flags=graph y1=-41 y2=41 @@ -53,13 +63,13 @@ ypos2=36.4765 divy=5 subdivy=1 unity=1 -x1=0.00121035 -x2=0.00186571 +x1=0.00124125 +x2=0.00150969 divx=5 subdivx=1 node="out out_lpf -\\"Expected;5 in - 9 *\\"" +\\"Expected;in 5 - 9 *\\"" color="7 8 6" dataset=0 unitx=u @@ -72,8 +82,8 @@ ypos2=6.80536 divy=5 subdivy=1 unity=1 -x1=0.00121035 -x2=0.00186571 +x1=0.00124125 +x2=0.00150969 divx=5 subdivx=1 @@ -94,8 +104,8 @@ ypos2=14.7089 divy=5 subdivy=1 unity=1 -x1=0.00121035 -x2=0.00186571 +x1=0.00124125 +x2=0.00150969 divx=5 subdivx=1 @@ -112,12 +122,12 @@ T {Driver} 230 -930 0 0 0.6 0.6 {} T {LP Filter} 700 -1040 0 0 0.6 0.6 {} T {Load} 860 -1010 0 0 0.6 0.6 {} -T {VREF} 65 -1085 0 0 0.2 0.2 {layer=4} -T {10} 5 -1165 0 0 0.2 0.2 {} T {VREF} 65 -765 0 0 0.2 0.2 {layer=4} T {10} 5 -845 0 0 0.2 0.2 {} -T {DRIVE} 125 -1085 0 0 0.2 0.2 {} +T {VREF} 65 -1085 0 0 0.2 0.2 {layer=4} +T {10} 5 -1165 0 0 0.2 0.2 {} T {DRIVE} 125 -765 0 0 0.2 0.2 {} +T {DRIVE} 125 -1085 0 0 0.2 0.2 {} T {Class D amplifier } 670 -1280 0 0 1 1 {} N 460 -1020 460 -1000 {lab=#net1} N 460 -920 460 -900 {lab=OUT} @@ -291,10 +301,10 @@ C {ammeter.sym} 460 -970 0 0 {name=vu net_name=true current=0.2005} C {lab_pin.sym} 460 -1160 0 0 {name=p27 lab=VPP} C {lab_pin.sym} 460 -910 0 0 {name=p3 lab=OUT} C {comp_ngspice.sym} 550 -370 0 0 {name=x1 VCC=VCC} -C {bsource.sym} 220 -1050 0 1 {name=B1 VAR=V FUNC="'10/2*(1+tanh(V(REF,DRIVE)*20))'" +C {bsource.sym} 220 -730 0 1 {name=B1 VAR=V FUNC="'10/2*(1+tanh(V(REF,DRIVE)*20))'" } C {lab_pin.sym} 710 -370 0 1 {name=p6 lab=DRIVE} -C {bsource.sym} 220 -730 0 1 {name=B2 VAR=V FUNC="'10/2*(1+tanh(V(DRIVE,REF)*20))'" +C {bsource.sym} 220 -1050 0 1 {name=B2 VAR=V FUNC="'10/2*(1+tanh(V(DRIVE,REF)*20))'" } C {code_shown.sym} 20 -420 0 0 {name=CONTROL value=" .param VCC=10 diff --git a/xschem_library/ngspice/comp_ngspice.sch b/xschem_library/ngspice/comp_ngspice.sch new file mode 100644 index 00000000..41a6dff5 --- /dev/null +++ b/xschem_library/ngspice/comp_ngspice.sch @@ -0,0 +1,27 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 450 -240 450 -180 { lab=IOUT} +N 450 -240 540 -240 { lab=IOUT} +N 600 -240 680 -240 { lab=OUT} +C {ipin.sym} 120 -260 0 0 {name=p1 lab=PLUS} +C {ipin.sym} 120 -210 0 0 {name=p2 lab=MINUS} +C {opin.sym} 680 -240 0 0 {name=p3 lab=OUT} +C {lab_pin.sym} 180 -260 0 1 {name=l6 sig_type=std_logic lab=IPLUS} +C {lab_pin.sym} 180 -210 0 1 {name=l1 sig_type=std_logic lab=IMINUS} +C {lab_pin.sym} 450 -240 0 0 {name=l2 sig_type=std_logic lab=IOUT} +C {lab_pin.sym} 450 -120 0 0 {name=p35 lab=0} +C {bsource.sym} 450 -150 0 1 {name=B1 VAR=V FUNC="'VCC/2*(1+tanh(V(IPLUS,IMINUS)*300))'" +} +C {title.sym} 160 -30 0 0 {name=l3 author="Stefan Schippers"} +C {res.sym} 570 -240 1 0 {name=R1 +value=1k +footprint=1206 +device=resistor +m=1} +C {parax_cap.sym} 630 -230 0 0 {name=C3 gnd=0 value=8f m=1} +C {vsource.sym} 150 -260 1 0 {name=V1 value=0} +C {vsource.sym} 150 -210 1 0 {name=V2 value=0} diff --git a/xschem_library/ngspice/comp_ngspice.sym b/xschem_library/ngspice/comp_ngspice.sym new file mode 100644 index 00000000..da084b4b --- /dev/null +++ b/xschem_library/ngspice/comp_ngspice.sym @@ -0,0 +1,23 @@ +v {xschem version=3.0.0 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname VCC=@VCC" +template="name=x1 VCC=5" +} +V {} +S {} +E {} +L 4 -40 -50 -40 50 {} +L 4 -60 -30 -40 -30 {} +L 4 40 0 60 0 {} +L 4 -60 30 -40 30 {} +L 4 -40 -50 40 0 {} +L 4 -40 50 40 0 {} +B 5 -62.5 -32.5 -57.5 -27.5 {name=PLUS dir=in } +B 5 57.5 -2.5 62.5 2.5 {name=OUT dir=out } +B 5 -62.5 27.5 -57.5 32.5 {name=MINUS dir=in } +T {@symname} -32 44 0 0 0.3 0.3 {} +T {@name} -10 -48.25 0 0 0.2 0.2 {} +T {PLUS} -38.75 -30.25 0 0 0.2 0.2 {} +T {OUT} 28.75 -5.25 0 1 0.2 0.2 {} +T {MINUS} -38.75 18.5 0 0 0.2 0.2 {}