add gain parameter to single2[cd]m.sym, removed schematic view for these, changed port order

This commit is contained in:
stefan schippers 2026-03-12 11:38:49 +01:00
parent d33f712714
commit b9971f8b5b
4 changed files with 48 additions and 96 deletions

View File

@ -1,39 +0,0 @@
v {xschem version=3.4.8RC file_version=1.3}
G {}
K {}
V {}
S {}
F {}
E {}
N 160 -200 160 -130 {lab=VSS}
N 200 -190 200 -130 {
lab=VSS}
N 400 -260 400 -220 {lab=Vcm}
N 400 -360 400 -320 {lab=vp}
N 200 -310 200 -250 {lab=#net1}
N 320 -270 360 -270 {lab=VSS}
N 260 -130 360 -130 {lab=VSS}
N 260 -310 360 -310 {lab=#net1}
N 400 -220 400 -180 {lab=Vcm}
N 400 -120 400 -80 {lab=vn}
N 200 -130 200 -80 {lab=VSS}
N 80 -240 160 -240 {lab=vin}
N 400 -220 480 -220 {lab=Vcm}
N 400 -360 480 -360 {lab=vp}
N 400 -80 480 -80 {lab=vn}
N 160 -130 200 -130 {lab=VSS}
N 320 -170 360 -170 {lab=#net1}
N 260 -310 260 -300 {lab=#net1}
N 260 -140 260 -130 {lab=VSS}
N 260 -140 320 -270 {lab=VSS}
N 260 -300 320 -170 {lab=#net1}
N 200 -310 260 -310 {lab=#net1}
N 200 -130 260 -130 {lab=VSS}
C {vcvs.sym} 400 -150 0 0 {name=E3 value=-0.5}
C {vcvs.sym} 400 -290 0 0 {name=E2 value=0.5}
C {vcvs.sym} 200 -220 0 0 {name=E1 value=1}
C {ipin.sym} 80 -240 0 0 {name=p8 lab=vin}
C {opin.sym} 480 -80 0 0 {name=p7 lab=vn}
C {iopin.sym} 480 -220 0 0 {name=p2 lab=vcm}
C {opin.sym} 480 -360 0 0 {name=p1 lab=vp}
C {iopin.sym} 200 -80 1 0 {name=p3 lab=VSS}

View File

@ -1,9 +1,21 @@
v {xschem version=3.4.8RC file_version=1.3}
G {}
K {type=subcircuit
format="@name @pinlist @symname"
template="name=x1"
}
K {type=primitive
format="@name @pinlist @symname gain=@gain"
template="name=x1 gain=1"
device_model="
* from device_model attribute
.subckt single2cm vin VSS vp vcm vn gain = 1
*.ipin vin
*.opin vn
*.iopin vcm
*.opin vp
*.iopin VSS
E3 vcm vn net1 VSS '-gain / 2'
E2 vp vcm net1 VSS 'gain / 2'
E1 net1 VSS vin VSS 'gain'
.ends
"}
V {}
S {}
F {}
@ -73,10 +85,10 @@ L 4 -10 25 10 -10 {}
L 7 60 0 80 0 {}
L 7 -30 50 -30 70 {}
B 4 -60 -50 60 50 {fill = false}
B 5 77.5 -42.5 82.5 -37.5 {name=vp dir=out}
B 5 -82.5 -12.5 -77.5 -7.5 {name=vin dir=in}
B 5 77.5 -2.5 82.5 2.5 {name=vcm dir=inout}
B 5 -32.5 67.5 -27.5 72.5 {name=VSS dir=inout}
B 5 77.5 -42.5 82.5 -37.5 {name=vp dir=out}
B 5 77.5 -2.5 82.5 2.5 {name=vcm dir=inout}
B 5 77.5 37.5 82.5 42.5 {name=vn dir=out}
A 4 -30 30 1.767766952966369 225 360 {fill=true}
A 4 30 0 1.767766952966369 225 360 {fill=true}
@ -91,6 +103,9 @@ T {vin} -90 -29 0 0 0.2 0.2 {}
T {vcm} 90 -19 0 1 0.2 0.2 {}
T {VSS} -20 74 2 1 0.2 0.2 {}
T {vn} 85 21 0 1 0.2 0.2 {}
T {1} -22.5 5 0 0 0.15 0.15 {}
T {0.5} 37.5 -15 0 0 0.15 0.15 {}
T {-0.5} 37.5 25 0 0 0.15 0.15 {}
T {E1} -42.5 -5 0 1 0.15 0.15 {layer=4}
T {E2} 17.5 -25 0 1 0.15 0.15 {layer=4}
T {E3} 17.5 15 0 1 0.15 0.15 {layer=4}
T {@gain} -22.5 5 0 0 0.15 0.15 {}
T {expr( @gain / 2 )} 37.5 -15 0 0 0.15 0.15 {}
T {expr( -@gain / 2 )} 37.5 25 0 0 0.15 0.15 {}

View File

@ -1,39 +0,0 @@
v {xschem version=3.4.8RC file_version=1.3}
G {}
K {}
V {}
S {}
F {}
E {}
N 160 -200 160 -130 {lab=#net1}
N 200 -190 200 -130 {
lab=#net1}
N 400 -260 400 -220 {lab=#net2}
N 400 -360 400 -320 {lab=#net3}
N 200 -310 200 -250 {lab=#net4}
N 320 -270 360 -270 {lab=#net1}
N 260 -130 360 -130 {lab=#net1}
N 260 -310 360 -310 {lab=#net4}
N 400 -220 400 -180 {lab=#net2}
N 400 -120 400 -80 {lab=#net5}
N 200 -130 200 -80 {lab=#net1}
N 80 -240 160 -240 {lab=#net6}
N 400 -220 480 -220 {lab=#net2}
N 400 -360 480 -360 {lab=#net3}
N 400 -80 480 -80 {lab=#net5}
N 160 -130 200 -130 {lab=#net1}
N 320 -170 360 -170 {lab=#net4}
N 260 -310 260 -300 {lab=#net4}
N 260 -140 260 -130 {lab=#net1}
N 260 -140 320 -270 {lab=#net1}
N 260 -300 320 -170 {lab=#net4}
N 200 -310 260 -310 {lab=#net4}
N 200 -130 260 -130 {lab=#net1}
C {vcvs.sym} 400 -150 0 0 {name=E3 value=0.5}
C {vcvs.sym} 400 -290 0 0 {name=E2 value=0.5}
C {vcvs.sym} 200 -220 0 0 {name=E1 value=1}
C {ipin.sym} 80 -240 0 0 {name=p8 lab=vin}
C {opin.sym} 480 -80 0 0 {name=p7 lab=vn}
C {iopin.sym} 480 -220 0 0 {name=p2 lab=vcm}
C {opin.sym} 480 -360 0 0 {name=p1 lab=vp}
C {iopin.sym} 200 -80 1 0 {name=p3 lab=VSS}

View File

@ -1,9 +1,21 @@
v {xschem version=3.4.8RC file_version=1.3}
G {}
K {type=subcircuit
format="@name @pinlist @symname"
template="name=x1"
}
K {type=primitive
format="@name @pinlist @symname gain=@gain"
template="name=x1 gain=1"
device_model="
* from device_model attribute
.subckt single2dm vin VSS vp vcm vn gain=1
*.ipin vin
*.opin vn
*.iopin vcm
*.opin vp
*.iopin VSS
E3 vcm vn net1 VSS 'gain / 2'
E2 vp vcm net1 VSS 'gain / 2'
E1 net1 VSS vin VSS 'gain'
.ends
"}
V {}
S {}
F {}
@ -73,10 +85,10 @@ L 4 -10 25 10 -10 {}
L 7 60 0 80 0 {}
L 7 -30 50 -30 70 {}
B 4 -60 -50 60 50 {fill = false}
B 5 77.5 -42.5 82.5 -37.5 {name=vp dir=out}
B 5 -82.5 -12.5 -77.5 -7.5 {name=vin dir=in}
B 5 77.5 -2.5 82.5 2.5 {name=vcm dir=inout}
B 5 -32.5 67.5 -27.5 72.5 {name=VSS dir=inout}
B 5 77.5 -42.5 82.5 -37.5 {name=vp dir=out}
B 5 77.5 -2.5 82.5 2.5 {name=vcm dir=inout}
B 5 77.5 37.5 82.5 42.5 {name=vn dir=out}
A 4 -30 30 1.767766952966369 225 360 {fill=true}
A 4 30 0 1.767766952966369 225 360 {fill=true}
@ -91,6 +103,9 @@ T {vin} -90 -29 0 0 0.2 0.2 {}
T {vcm} 90 -19 0 1 0.2 0.2 {}
T {VSS} -20 74 2 1 0.2 0.2 {}
T {vn} 85 21 0 1 0.2 0.2 {}
T {1} -22.5 5 0 0 0.15 0.15 {}
T {0.5} 37.5 -15 0 0 0.15 0.15 {}
T {0.5} 37.5 25 0 0 0.15 0.15 {}
T {@gain} -22.5 5 0 0 0.15 0.15 {}
T {expr( @gain / 2 )} 37.5 -15 0 0 0.15 0.15 {}
T {E1} -42.5 -5 0 1 0.15 0.15 {layer=4}
T {E2} 17.5 -25 0 1 0.15 0.15 {layer=4}
T {E3} 17.5 15 0 1 0.15 0.15 {layer=4}
T {expr( @gain / 2 )} 37.5 25 0 0 0.15 0.15 {}