It looks like you're new here. If you want to get involved, click one of these buttons!
I've run into a major wall as a new klayout user.
I built version 30.2 from source on Rocky Linux 8, using python 3.12. For both the skywater and gf180mcu PDKs, I get error messages that make it look like there are incompatibilities between the PDKs and the Python packages kfactory and/or gdsfactory. I get error messages for most pcells when I try to instantiate them. I installed the salt packages for both in klayout. What is going on here? Examples are below. Thanks. --Curt.
Like for skywater, when instantiating pcell "nfet":
ERROR: AttributeError: module 'kfactory.kcell' has no attribute '_get_default_kcl' in PCellDeclaration.produce
/home/cate/Downloads/klayout/salt/Efabless_sky130/tech/sky130/python/cells/pdk.py:32
/home/cate/Downloads/klayout/salt/Efabless_sky130/tech/sky130/python/cells/draw_fet.py:550
/home/cate/Downloads/klayout/salt/Efabless_sky130/tech/sky130/python/cells/fet.py:261
/home/cate/Downloads/klayout/bin-release/pymod/klayout/db/pcell_declaration_helper.py:274
or for gf180mcu, when instantiating "cap_pmos"
ERROR: TypeError: 'builtin_function_or_method' object is not subscriptable in PCellDeclaration.produce
/home/cate/Downloads/klayout/salt/gf180mcu/pymacros/cells/draw_cap_mos.py:62
/home/cate/.local/lib/python3.12/site-packages/kfactory/decorators.py:383
/home/cate/.local/lib/python3.12/site-packages/cachetools/_cached.py:173
/home/cate/.local/lib/python3.12/site-packages/kfactory/decorators.py:432
/home/cate/.local/lib/python3.12/site-packages/kfactory/decorators.py:458
/home/cate/.local/lib/python3.12/site-packages/kfactory/layout.py:1003
/home/cate/Downloads/klayout/salt/gf180mcu/pymacros/cells/draw_cap_mos.py:193
/home/cate/Downloads/klayout/salt/gf180mcu/pymacros/cells/cap_mos.py:182
/home/cate/Downloads/klayout/bin-release/pymod/klayout/db/pcell_declaration_helper.py:274
Comments
even using volare to get the very latest gf180mcu PDK version, I still see the pcells throwing python errors:
ERROR: TypeError: 'builtin_function_or_method' object is not subscriptable in PCellDeclaration.produce
/home/cate/.volare/volare/gf180mcu/versions/aa683509e2e20358805fcbc3407776a1c890c4e6/gf180mcuA/libs.tech/klayout/tech/pymacros/cells/draw_cap_mos.py:68
/home/cate/.local/lib/python3.12/site-packages/kfactory/decorators.py:383
/home/cate/.local/lib/python3.12/site-packages/cachetools/_cached.py:173
/home/cate/.local/lib/python3.12/site-packages/kfactory/decorators.py:432
/home/cate/.local/lib/python3.12/site-packages/kfactory/decorators.py:458
/home/cate/.local/lib/python3.12/site-packages/kfactory/layout.py:1003
/home/cate/.volare/volare/gf180mcu/versions/aa683509e2e20358805fcbc3407776a1c890c4e6/gf180mcuA/libs.tech/klayout/tech/pymacros/cells/draw_cap_mos.py:221
/home/cate/.volare/volare/gf180mcu/versions/aa683509e2e20358805fcbc3407776a1c890c4e6/gf180mcuA/libs.tech/klayout/tech/pymacros/cells/cap_mos.py:182
/home/cate/Downloads/klayout/bin-release/pymod/klayout/db/pcell_declaration_helper.py:274
ERROR: AttributeError: 'Cell' object has no attribute 'add_array' in PCellDeclaration.produce
/home/cate/.local/lib/python3.12/site-packages/kfactory/kcell.py:422
/home/cate/.local/lib/python3.12/site-packages/kfactory/kcell.py:710
/home/cate/.volare/volare/gf180mcu/versions/aa683509e2e20358805fcbc3407776a1c890c4e6/gf180mcuA/libs.tech/klayout/tech/pymacros/cells/draw_fet.py:1316
/home/cate/.volare/volare/gf180mcu/versions/aa683509e2e20358805fcbc3407776a1c890c4e6/gf180mcuA/libs.tech/klayout/tech/pymacros/cells/fet.py:167
/home/cate/Downloads/klayout/bin-release/pymod/klayout/db/pcell_declaration_helper.py:274
Does the install bundle not state which
dependencies and versions?
If not, then you should put that question to
the maintainers.
However the error I see, looks more like
maybe a PCell:code_pile sync / content
problem, it seems a bit of code has asked
for a nonexistent feature. Is the new code
bad, is the PCell stale (or the other way
'round)?
Maybe take another cut at it from a blank
slate and let the compile dependency checks
/ fails lead you, without the existing "clutter
base"? Pull libraries at the same vintage, etc.
Hi @ckarnstedt,
this isn't the right place for this question, as this forum is not about the open PDKs.
From what I know, these open PDKs currently need GDSFactory 7.x and will not work with later versions. The KLayout PCells apparently are in "low maintenance mode" and AFAIK there is work ongoing to fix the GDSFactory issue.
The best place to look for support is the FOSSi chat: https://fossi-chat.org. There is a room for open PDKs.
Matthias