docs(palace): validate IHP cmim against PDK compact model + fix MIM meshing - #235
docs(palace): validate IHP cmim against PDK compact model + fix MIM meshing#235mdmaas wants to merge 5 commits into
Conversation
…eshing Update the electrostatic capacitance notebook to validate the IHP cmim against the cap_cmim compact model with the split MIM stack (gdsfactory/IHP gdsfactory#188/gdsfactory#225). Measure the device capacitance between metal5 and the mim top-plate terminal (T2='mim'), evaluate the PDK model via TECH/CbCapCalc (replacing the removed ihp.cells2...Numeric), and run locally with run_local()+write_config(). Document that Palace's electrostatic solver uses ideal Dirichlet terminals with no surface-conductivity/thickness BC (that BC exists only for the Maxwell solvers) and frame the residual gap as an open investigation point rather than expected. Also fix gsim meshing so the fixed IHP stack is modeled correctly: - get_layer_infos() lets multiple LayerLevels share one GDS layer (mim_diel dielectric + mim conductor on MIMdrawing) each mesh at its own z-height (previously only the first layer was used and the top-plate conductor was dropped). - lower the shaped-dielectric min_volume_thickness 0.05 -> 0.02 um so the 40 nm MIM dielectric is meshed as a solid volume instead of skipped. Result: Palace Cm[1,2] = 194.2 fF vs cap_cmim = 151.9 fF (ratio 1.28).
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #235 +/- ##
==========================================
+ Coverage 60.92% 61.00% +0.07%
==========================================
Files 97 97
Lines 14101 14108 +7
Branches 2859 2862 +3
==========================================
+ Hits 8591 8606 +15
+ Misses 4589 4585 -4
+ Partials 921 917 -4 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Hi @vvahidd. This is some progress, but we still have ~30% error with respect to the PDK. Some possibilities:
|
…mim fringing validation
|
Ok, I confirmed that increasing the device area reduces the discrepancy with the reference PDK values, so indeed the fringing fields are not being considered in the compact model. |
|
Including the use of an effective permittivity and increasing the device area we get a clear trend of decreasing discrepancy, which indicates fringing fields were not present in the compact model
|
Summary
Updates
nbs/_palace_electrostatic.ipynbto actually validate the IHPcmim(MIM capacitor) against the PDKcap_cmimcompact model, using the split MIM stack from gdsfactory/IHP#188/#225.Notebook changes
T1) and themimtop-plate (top,T2), which are the two electrodes separated by the 40 nmmim_diel. (The previousT2='topmetal1'only measured ~1 fF of via/routing coupling, not the device.)TECH/CbCapCalc(the supported API) instead of the removedihp.cells2...Numericimport.sim.run_local()+sim.write_config()(with the cloudsim.run()variant commented out).gsim meshing fix (
src/gsim/palace/mesh/geometry.py)Required for the fixed IHP stack to be modeled correctly:
get_layer_infos()lets multipleLayerLevels share one GDS layer (mim_dieldielectric +mimconductor both onMIMdrawing) so each meshes at its own z-height. Previously only the first layer was used and the top-plate conductor was silently dropped.min_volume_thickness0.05 → 0.02 µm so the 40 nm MIM dielectric is meshed as a solid volume instead of skipped.Result
Palace mutual
Cm[1,2]= 194.2 fF vs IHPcap_cmim= 151.9 fF (ratio 1.28).Note on the residual gap
sinstack value (≈7.5).Depends on an IHP PDK build carrying the MIM stack fix (gdsfactory/IHP#225); not yet on PyPI.