Stefan Schippers
03/01/2022, 10:12 PMsky130_fd_pr/nfet_01v8_lvt_nf.sym
sky130_fd_pr/nfet_01v8_nf.sym
sky130_fd_pr/nfet_03v3_nvt_nf.sym
sky130_fd_pr/nfet_05v0_nvt_nf.sym
sky130_fd_pr/nfet_g5v0d10v5_nf.sym
sky130_fd_pr/nfet_g5v0d16v0_nf.sym
sky130_fd_pr/pfet_01v8_hvt_nf.sym
sky130_fd_pr/pfet_01v8_lvt_nf.sym
sky130_fd_pr/pfet_01v8_nf.sym
sky130_fd_pr/pfet_g5v0d10v5_nf.sym
sky130_fd_pr/pfet_g5v0d16v0_nf.sym
the _nf
suffix reminds you these are fingered devices and the W
attribute refers to one finger width, the number of fingers being nf
.
I have added some small graphical 'artwork' to clearly show these are different from the original transistors. Existing designs using the original symbols are unaffected.
I am doing some tests to verify everything is working as expected. If you find inconsistencies please report. Do not use for production yet :-)Tom
03/01/2022, 10:17 PMMitch Bailey
03/01/2022, 11:12 PMnf
parameters are not compared and possibly unextractable from the layout. @User do you have any thoughts?Tom
03/01/2022, 11:14 PMStefan Schippers
03/01/2022, 11:25 PMXM8 net9 G1v8 S B sky130_fd_pr__nfet_01v8_lvt L=0.15 W='0.5 * 2 ' ....
in above example 0.5 is the value assigned to W attribute and 2 is the nf attribute value.
Similarly all other calculations for area/perimeter for source/drain terminals are adjusted.
Ngspice as well as most other simulators will evaluate these constant expressions at parsing time so there is no simulation speed issue.Tom
03/04/2022, 8:12 PMTim Edwards
03/05/2022, 2:46 AMmake update
recipe that pulls any new changes from the repositories that it clones automatically.Tom
03/05/2022, 3:16 AMTom
03/07/2022, 2:13 AMmake update
? do i first configure to generate the makefile, then do make && make update
or make update && make
followed by make install
? I tried make update
before running make
and it failed so im assuming I need to run make
with the default target first before make update
is that right? I did a grep for "update" in the docs but didn't find anything obviously useful about how to use the update target.Tim Edwards
03/07/2022, 2:11 PMmake update
assumes that you have run make
once; part of make all
is make prerequisites
which clones the various repositories. If you have not run make
at all, then all these repositories will clone the most recent version, so there's nothing that make update
would do. All that make update
does is that it visits each of those repositories and does a git pull
. But be aware that it will only do so for repositories that were automatically cloned; that is, repositories which you didn't clone yourself and then reference in the configure script command line (e.g., if you cloned skywater-pdk yourself and did configure --with-sky130-pdk=/my/own/path
, then you would be responsible for running git pull
on it yourself whenever you want to update). All these automatically-created repositories are dropped into the sources
subdirectory in open_pdks.
I guess I did not document make update
if you couldn't find it, so I guess I'll put that on my to-do list.Tom
03/09/2022, 4:10 AMmake update
having done a make
as per your instructions, and it appeared to be successful (it certainly took a while). But upon looking in sources/xschem_sky130
I couldn't find the _nf
symbols which are present when I manually pull the xschem_sky130
repo. and looking at the git log in sources/xschem_sky130
shows:
commit 048c6d64820180073d23110f85641044a0bd9290 (grafted, HEAD -> main, origin/main, origin/HEAD)
Author: Stefan Frederik <stefan.schippers@gmail.com>
Date: Wed May 26 23:55:01 2021 +0200
All example test cases changed to use open_pdks installed spice models
Which explains why the symbols are missing.
Also, when i ran ./configure
I did it like this:
./configure --enable-sky130-pdk
so I expect it to be doing a pull since I didn't specify an external repo.