Tom
02/14/2023, 6:14 AMtom@tom:~/repos/projects/openwave$ ngs pll tb_pfd
setup_tcp_xschem: problems listening to TCP port: 2021
couldn't open socket: address already in use
Note: Compatibility modes selected: hs a
Warning: m=xx on .subckt line will override multiplier m hierarchy!
Circuit:
Error: unknown subckt: x1.xfiller_13_144.x0 vdd x1.xfiller_13_144.a_124_375# x1.xfiller_13_144.a_36_472# vdd x1.xfiller_13_144.pfet_06v0 <http://x1.xfiller_13_144.ad|x1.xfiller_13_144.ad>=1.0736p x1.xfiller_13_144.pd=6.64u <http://x1.xfiller_13_144.as|x1.xfiller_13_144.as>=0.5368p <http://x1.xfiller_13_144.ps|x1.xfiller_13_144.ps>=3.32u x1.xfiller_13_144.w=1.22u l=1u
Simulation interrupted due to error!
Note: No ".plot", ".print", or ".fourier" lines; no simulations run
I have the following included in my top level spice dec but it still seems to be unable to find the 6v fets as far as i can tell
.include "/home/tom/repos/edalibs/pdks/gf180mcu/gf180mcuC/libs.tech/ngspice/design.ngspice"
.lib "/home/tom/repos/edalibs/pdks/gf180mcu/gf180mcuC/libs.tech/ngspice/sm141064.ngspice typical
.lib "/home/tom/repos/edalibs/pdks/gf180mcu/gf180mcuC/libs.tech/ngspice/smbb000149.ngspice typical"
Anyone have any ideas?
Thanks in advance, Tomproppy
02/14/2023, 6:48 AMxfiller_13_144
proppy
02/14/2023, 7:05 AMXFILLER_13_144 VDD VSS VDD VSS gf180mcu_fd_sc_mcu7t5v0__fillcap_8
Stefan Schippers
02/14/2023, 9:15 AMTim Edwards
02/14/2023, 2:28 PM.op
).
The error message indicates that it cannot find a subcircuit for pfet_06v0
.
That should be in your included file sm141064.ngspice
at line 47062:
.subckt pfet_06v0 d g s b w=1e-5 l=5e-7
+ as=0 ad=0 ps=0 pd=0 nrd=0 nrs=0 par=1 dtemp=0
+ sa=0 sb=0 nf=1 sd=0 m=1
...
What do you see in file /home/tom/repos/edalibs/pdks/gf180mcu/gf180mcuC/libs.tech/ngspice/sm141064.ngspice
?Tom
02/14/2023, 3:36 PM47055 m0 d g s b nmos_6p0 w=w l=l as=as ad=ad ps=ps pd=pd nrd=nrd nrs=nrs
47056 +delvto='mis_vth*sw_stat_mismatch' sa=sa sb=sb nf=nf sd=sd
47057 .ends nmos_6p0
47058 *------------------------------------------------------------------------
47059 .subckt pmos_6p0 d g s b w=1e-5 l=5e-7
47060 + as=0 ad=0 ps=0 pd=0 nrd=0 nrs=0 par=1 dtemp=0
47061 + sa=0 sb=0 nf=1 sd=0 m=1
47062
47063 .param
47064 + par_vth=0.01051
47065 + par_k=0.00517
47066 + par_l=3e-7
47067 + par_w=-4e-7
47068 + par_leff='l-par_l'
47069 + par_weff='par*(w-par_w)'
47070 + p_sqrtarea='sqrt((par_leff)*(par_weff))'
47071
there is a pmos_6p0
on a near by but different line number and no pfep
.
My open_pdks git hash is
commit e6f9c8876da77220403014b116761b0b2d79aab4 (HEAD -> master, tag: 1.0.393, origin/open_pdks-1.0, origin/master, origin/HEAD)
and openlane
commit ce916510de89a037889e06ab16c00c4101f77d2f (HEAD -> master, tag: 2023.02.08, origin/master, origin/HEAD)
Tim Edwards
02/14/2023, 3:53 PMpfet
and pmos
is what's causing the issue. The open_pdks version number is current, but that won't necessarily tell you what is the version of the gf180mcu_fd_pr
library. Just before I tested the simulation myself, I deleted all the content of open_pdks/sources/gf*
and ran "make" to let it re-clone the open PDK from scratch. Maybe you set up the configure
for open_pdks pointing to a pre-existing (and outdated) version of the PDK?Tim Edwards
02/14/2023, 3:56 PMTim@borodin(gf180mcu_fd_pr)> git log
commit 8132b52f3056349efe5951f3deb9581281956e00 (grafted, HEAD -> main, origin/main, origin/HEAD)
Author: Amro Tork <74936860+atorkmabrains@users.noreply.github.com>
Date: Mon Feb 13 10:44:24 2023 +0200
Merge branch 'mabrains:main' into main
Tim Edwards
02/14/2023, 3:58 PM"primitive": {
"gf180mcu_fd_pr": "8132b52f3056349efe5951f3deb9581281956e00"
},
Tom
02/14/2023, 8:31 PMTim Edwards
02/14/2023, 9:40 PMmake distclean
to delete the cloned sources, or make update
to do a git pull on each of them. open_pdks puts the cloned repositories into subdirectory sources/, but a git pull on open_pdks itself will not overwrite those, so an update of those PDKs has to be done manually or by make update
from within open_pdks.Tom
02/15/2023, 3:44 AMtom@tom:~/repos/edatools/open_pdks/sources/gf180mcu_fd_pr$ git log -1
commit 74e4ec59b55bcf5be2f153abff8519d15ebe21fa (grafted, HEAD -> main, origin/main, origin/HEAD)
Author: Tim 'mithro' Ansell <tansell@google.com>
Date: Fri Nov 4 11:12:05 2022 -0700
Merge pull request #50 from umarcor/umarcor/ci-klayout
ci/Tests: bump Klayout to 0.27.10
looks like git clean -fdx
may not have cleaned out the sources folder for some reason. running a make distclean && make update && make install
now to see if that fixes the issueTom
02/15/2023, 4:34 AMmake distclean
I did
make update && make install
(I just forgot the make distclean
the first time that's all). Anyway, the update && install did update the repos in sources but then still installed the old version of the ngspice file without the pfet
.
I then tried the make distclean
but my computer froze and corrupted my repo so i had to remove the whole of open_pdks and start a fresh so I don't know if that would have fixed it. I'm now rebuilding the pdk from a fresh clone of open_pdksTim Edwards
02/15/2023, 2:29 PMmake distclean
to get rid of the cloned repositories or make update
to update them. You would not want to do both. (2) I think the underlying problem here is that we took the unusual step of changing the repository from Google to an Efabless fork (specifically the gf180mcu_fd_pr repository) because the Google repository was falling way behind our development. That is probably why the git update failed both for you and for the Makefile, because the entire repository changed. So make distclean
was the only meaningful course of action in this case. At this point, I'm not sure what all the updating did to corrupt everything, but given that you already blew it all away and started clean, I'm going to assume that worked, and not worry about it too much.Tom
02/15/2023, 3:58 PM