v {xschem version=3.4.7RC file_version=1.2 * Copyright 2021 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 lvs_format="@spiceprefix@name @pinlist sky130_fd_pr__@model L=@L W=@W nf=@nf m=@mult" 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 W=1 L=0.15 nf=1 mult=1 ad=\\"expr('int((@nf + 1)/2) * @W / @nf * 0.29')\\" pd=\\"expr('2*int((@nf + 1)/2) * (@W / @nf + 0.29)')\\" as=\\"expr('int((@nf + 2)/2) * @W / @nf * 0.29')\\" ps=\\"expr('2*int((@nf + 2)/2) * (@W / @nf + 0.29)')\\" nrd=\\"expr('0.29 / @W ')\\" nrs=\\"expr('0.29 / @W ')\\" sa=0 sb=0 sd=0 model=nfet_01v8 spiceprefix=X " drc="sky130_fet_drc \{@name\\\\\} \{@symname\\\\\} \{@model\\\\\} \{@W\\\\\} \{@L\\\\\} \{@nf\\\\\}"} V {} S {} E {} L 4 7.5 -22.5 7.5 22.5 {} L 4 -20 0 2.5 0 {} L 4 20 -30 20 -17.5 {} L 4 20 17.5 20 30 {} L 4 2.5 -15 2.5 15 {} L 4 7.5 -17.5 20 -17.5 {} L 4 7.5 17.5 15 17.5 {} 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 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 13.75 0 0 0.2 0.2 { layer=13} T {nf=@nf} 31.25 1.25 0 0 0.2 0.2 { layer=13} T {id=@spice_get_node i(\\@m.@path@spiceprefix@name\\.msky130_fd_pr__@model\\[id])} 30 -30 0 0 0.15 0.15 {layer=17} T {gm=@spice_get_node \\@m.@path@spiceprefix@name\\.msky130_fd_pr__@model\\[gm]} 30 -10 0 0 0.15 0.15 {layer=15} T {vgs=expr(@#1:spice_get_voltage - @#2:spice_get_voltage ) vds=expr(@#0:spice_get_voltage - @#2:spice_get_voltage )} 5 17.5 0 1 0.07 0.07 {layer=15}