Why do the open_pdks gf180 devices have different ...
# open_pdks
p
Why do the open_pdks gf180 devices have different names than the google versions? That seems like a needless compatibility mess.
t
They shouldn't. But then again they went through a few revisions. Amro Tork and I eventually settled on what the actual extracted devices would be and they should match between the ngspice and Xyce models, klayout, magic, xschem, and netgen. If the documentation doesn't match, that's Google's responsibility to fix because nobody else has control over it that I'm aware of.
p
Here is an excerpt from my open_pdks installation
Copy code
* Models included in this release :
*
*      ModelName          Description
*      ---------          -----------
*      nfet_03v3           Subcircuit model for 3.3V NMOS
*      pfet_03v3           Subcircuit model for 3.3V PMOS
*      nfet_06v0           Subcircuit model for 6.0V NMOS
*      pfet_06v0           Subcircuit model for 6.0V PMOS
and here is the same file upstream
Copy code
* Models included in this release :
*
*      ModelName          Description
*      ---------          -----------
*      nmos_3p3           Subcircuit model for 3.3V NMOS
*      pmos_3p3           Subcircuit model for 3.3V PMOS
*      nmos_6p0           Subcircuit model for 6.0V NMOS
*      pmos_6p0           Subcircuit model for 6.0V PMOS
https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_pr/blob/9f992d5a9186d1f7820c58f039c484ad35b2edea/models/ngspice/sm141064.ngspice#L31-L38
Are you saying this is an oversight or a necessity to unify schematic and layout names? Can these open_pdks fixes be upstreamed to the google repos? It is very unfortunate to have two incompatible distributions of the same PDK.
t
"It is very unfortunate to have two incompatible distributions of the same PDK". Indeed it is. But I could not get Google to apply patches to the repositories (sky130 especially, but to some extent GF180 as well), so eventually we were forced to fork all (or most of) the repos so we could properly patch them and make progress.