From fab80f22740fb94c6c73716ded83e4921dec8f1d Mon Sep 17 00:00:00 2001 From: euler Date: Sun, 16 Aug 2026 20:31:54 -0500 Subject: [PATCH] gf180: use a mimcap model name that exists in the PDK 'mimcap' mapped to cap_mim_1p0fF: the prefix is reversed and the density uses 'p' where the PDK uses 'f'. The three real models are cap_mim_1f0fF, cap_mim_1f5fF and cap_mim_2f0fF, so every netlist emitted for a gf180 mimcap named a device neither the simulator nor the LVS reader had heard of, and no cell with a capacitor could match. --- src/glayout/pdk/gf180_mapped/gf180_mapped.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/glayout/pdk/gf180_mapped/gf180_mapped.py b/src/glayout/pdk/gf180_mapped/gf180_mapped.py index 0b170bb9..789dafa7 100644 --- a/src/glayout/pdk/gf180_mapped/gf180_mapped.py +++ b/src/glayout/pdk/gf180_mapped/gf180_mapped.py @@ -131,7 +131,12 @@ models={ 'nfet': 'nfet_03v3', 'pfet': 'pfet_03v3', - 'mimcap': 'mimcap_1p0fF' + # The PDK names these cap_mim_fF: 1f0, 1f5 or 2f0. + # 'mimcap_1p0fF' does not exist -- prefix reversed, 'p' for 'f' -- + # so the reference netlist named a model the LVS reader could not + # pair with the cap_mim_* it extracts, in every cell with a cap. + # Which density to use is a process decision, not the generator's. + 'mimcap': 'cap_mim_2f0fF' }, layers=LAYER, pdk_files=pdk_files,