v {xschem version=2.9.8 file_version=1.2

* Copyright 2020 Stefan Frederik Schippers
* 
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.

}
G {}
K {type=nmos
format="@spiceprefix@name @pinlist sky130_fd_pr__@model L=@L W=@W
+ nf=@nf ad=@ad as=@as pd=@pd ps=@ps
+ nrd=@nrd nrs=@nrs sa=@sa sb=@sb sd=@sd 
+ mult=@mult m=@mult"
template="name=M1
L=0.7
W=5.0
nf=1
mult=1
ad=\\"'int((nf+1)/2) * W/nf * 0.29'\\" 
pd=\\"'2*int((nf+1)/2) * (W/nf + 0.29)'\\"
as=\\"'int((nf+2)/2) * W/nf * 0.29'\\" 
ps=\\"'2*int((nf+2)/2) * (W/nf + 0.29)'\\"
nrd=\\"'0.29 / W'\\" nrs=\\"'0.29 / W'\\"
sa=0 sb=0 sd=0
model=nfet_g5v0d16v0
spiceprefix=X
"}
V {}
S {}
E {}
L 4 20 -30 20 -17.5 {}
L 4 20 17.5 20 30 {}
L 4 7.5 -17.5 20 -17.5 {}
L 4 7.5 17.5 15 17.5 {}
L 4 7.5 -22.5 7.5 22.5 {}
L 4 2.5 -7.5 7.5 -7.5 {}
L 4 -20 0 -2.5 0 {}
L 4 2.5 -15 7.5 -15 {}
B 5 17.5 -32.5 22.5 -27.5 {name=D dir=inout}
B 5 -22.5 -2.5 -17.5 2.5 {name=G dir=in}
B 5 17.5 27.5 22.5 32.5 {name=S dir=inout}
B 5 19.921875 -0.078125 20.078125 0.078125 {name=B dir=in}
P 4 4 15 15 20 17.5 15 20 15 15 {fill=true}
P 4 5 -2.5 15 -2.5 -15 2.5 -15 2.5 15 -2.5 15 {}
P 5 4 20 -2.5 15 0 20 2.5 20 -2.5 {fill=true}
T {@name} 5 -30 0 1 0.2 0.2 {}
T {S} 22.5 17.5 0 0 0.15 0.15 {layer=7}
T {D} 22.5 -17.5 2 1 0.15 0.15 {layer=7}
T {B} 20 -10 0 0 0.15 0.15 {layer=7}
T {G} -10 -10 0 1 0.15 0.15 {layer=7}
T {@model} 30 -8.75 2 1 0.2 0.2 {}
T {@mult x @W / @L} 31.25 11.25 0 0 0.2 0.2 { layer=13}
