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.Linen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.
Powered by