diff --git a/.github/workflows/lvs_regression.yml b/.github/workflows/lvs_regression.yml index 4dcc720e..643c0d71 100644 --- a/.github/workflows/lvs_regression.yml +++ b/.github/workflows/lvs_regression.yml @@ -59,12 +59,14 @@ jobs: - name: Installing Klayout run: | sudo apt update -qq -y - wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.29.8-1_amd64.deb + wget https://www.klayout.org/downloads/Ubuntu-24/klayout_0.29.8-1_amd64.deb # The dpkg command will fail complaining about missing dependencies. sudo dpkg -i ./klayout_0.29.8-1_amd64.deb || true # The apt install command should install the missing dependencies # needed by KLayout above and finish the install. sudo apt install -f -y + # Reinstall KLayout After Fixing Dependencies + sudo dpkg -i ./klayout_0.29.8-1_amd64.deb || true # Check that KLayout was successfully installed! klayout -v @@ -81,12 +83,14 @@ jobs: - name: Installing Klayout run: | sudo apt update -qq -y - wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.29.8-1_amd64.deb + wget https://www.klayout.org/downloads/Ubuntu-24/klayout_0.29.8-1_amd64.deb # The dpkg command will fail complaining about missing dependencies. sudo dpkg -i ./klayout_0.29.8-1_amd64.deb || true # The apt install command should install the missing dependencies # needed by KLayout above and finish the install. sudo apt install -f -y + # Reinstall KLayout After Fixing Dependencies + sudo dpkg -i ./klayout_0.29.8-1_amd64.deb || true # Check that KLayout was successfully installed! klayout -v diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_derivations.lvs b/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_derivations.lvs index d6780f24..cff63e18 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_derivations.lvs +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_derivations.lvs @@ -75,18 +75,18 @@ nsd_fet = nactiv.not(nwell_drw).interacting(ngate).not(ngate).not_interacting(re psd_fet = pactiv.and(nwell_drw).interacting(pgate).not(pgate).not_interacting(res_mk) -# n1/p1 taps labels +# tap1 labels well_patt = glob_to_case_insensitive_glob("well") sub_patt = glob_to_case_insensitive_glob("sub!") - ntap1_lbl = text_drw.texts(well_patt) -ntap1_mk = nwell_drw.interacting(ntap1_lbl) - ptap1_lbl = text_drw.texts(sub_patt) +# ntap1 marker +ntap1_mk = nwell_drw.interacting(ntap1_lbl) +# ptap1 marker ptap1_mk = substrate_drw.and(pwell).interacting(ptap1_lbl) # n & p taps (short connections) -ntap = nactiv.and(nwell_drw).not(recog_diode).not(gatpoly).not(ntap1_mk) +ntap = nactiv.and(nwell_drw).not(ntap1_mk).not(recog_diode).not(gatpoly) ptap = pactiv.and(pwell).not(ptap1_mk).not(recog_diode).not(gatpoly) ptap_holes = ptap.holes ntap_holes = ntap.holes diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/tap_derivations.lvs b/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/tap_derivations.lvs index 43bb65fd..df7f6a87 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/tap_derivations.lvs +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/tap_derivations.lvs @@ -32,11 +32,11 @@ taps_exclude = gatpoly.join(nsd_drw).join(trans_drw) # === ntap1 === ntap1_exc = pwell.join(psd_drw).join(taps_exclude) -ntap1_tie = nactiv.and(ntap1_mk).extents.not(ntap1_exc) +ntap1_tie = nactiv.and(ntap1_mk).not(ntap1_exc) ntap1_well = ntap1_mk.covering(ntap1_tie) # === ptap1 === ptap1_exc = nwell_drw.join(taps_exclude) -ptap1_tie = pactiv.and(ptap1_mk).extents.not(ptap1_exc) -ptap1_sub = pwell.covering(ptap1_tie) +ptap1_tie = pactiv.and(ptap1_mk).not(ptap1_exc) +ptap1_sub = ptap1_mk.covering(ptap1_tie)