From 4dc73b67cf61114e1f5ba68871edf9bbe40ee39e Mon Sep 17 00:00:00 2001 From: Aquiles Viza Date: Mon, 2 Oct 2023 19:04:53 -0300 Subject: [PATCH] Updated gf180 drc --- stacks/analog-xk.Dockerfile | 3 -- .../scripts/install-open-pdks.sh | 4 +-- .../scripts/patch-open-pdks.sh | 33 +++++++++++-------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/stacks/analog-xk.Dockerfile b/stacks/analog-xk.Dockerfile index 0c60322..5d0e2bb 100644 --- a/stacks/analog-xk.Dockerfile +++ b/stacks/analog-xk.Dockerfile @@ -12,9 +12,6 @@ RUN sudo aur-install \ klayout \ netgen-lvs-git -RUN pip install gdsfactory --break-system-packages -RUN pip install gf180 --upgrade --break-system-packages - # Clean cache RUN sudo pacman -Scc diff --git a/stacks/chipathon-tools/scripts/install-open-pdks.sh b/stacks/chipathon-tools/scripts/install-open-pdks.sh index 719dff1..a082979 100644 --- a/stacks/chipathon-tools/scripts/install-open-pdks.sh +++ b/stacks/chipathon-tools/scripts/install-open-pdks.sh @@ -5,6 +5,8 @@ set -e export OPEN_PDKS_VERSION="dd7771c384ed36b91a25e9f8b314355fc26561be" export SCRIPT_DIR=$PWD +pip git+https://github.com/gdsfactory/skywater130.git install git+https://github.com/gdsfactory/gf180.git --upgrade --break-system-packages + ###################### # INSTALL GF180MCU PDK ###################### @@ -22,8 +24,6 @@ rm -rf $PDK_ROOT/gf180mcuD # INSTALL SKY130 PDK #################### -pip install sky130 --upgrade --break-system-packages - volare enable "${OPEN_PDKS_VERSION}" --pdk sky130 # ADD PCELL SUPPORT diff --git a/stacks/chipathon-tools/scripts/patch-open-pdks.sh b/stacks/chipathon-tools/scripts/patch-open-pdks.sh index 864b99e..3f13495 100644 --- a/stacks/chipathon-tools/scripts/patch-open-pdks.sh +++ b/stacks/chipathon-tools/scripts/patch-open-pdks.sh @@ -3,6 +3,7 @@ set -e SCRIPT_DIR=$PWD DROPDOWN_REPO="https://github.com/mabrains/globalfoundries-pdk-libs-gf180mcu_fd_pr" +GF_VERIFICATION_REPO=https://github.com/efabless/globalfoundries-pdk-libs-gf180mcu_fd_pv # This files can be downloaded directly # - sky130A_mr.drc @@ -37,8 +38,6 @@ function gf180_patch_xschemrc() { } function gf180_patch_klayout_pcells() { - KLAYOUT_HOME="$PDK_ROOT/gf180mcuC/libs.tech/klayout" - mv $KLAYOUT_HOME/pymacros $KLAYOUT_HOME/cells mkdir $KLAYOUT_HOME/pymacros mv $KLAYOUT_HOME/cells $KLAYOUT_HOME/pymacros @@ -49,30 +48,41 @@ function gf180_patch_klayout_pcells() { function gf180_patch_klayout_dropdown() { # 27:00 & 36:40 - KLAYOUT_HOME="$PDK_ROOT/gf180mcuC/libs.tech/klayout" - DROPDOWN_DIRECTORY="globalfoundries" + DROPDOWN_DIRECTORY="gf_dropdown" git clone $DROPDOWN_REPO $DROPDOWN_DIRECTORY cp -r $DROPDOWN_DIRECTORY/rules/klayout/macros $KLAYOUT_HOME - # There's no directories - # cp -r $DROPDOWN_DIRECTORY/rules/klayout/drc/*.drc $KLAYOUT_HOME/drc - # cp -r $DROPDOWN_DIRECTORY/rules/klayout/lvs/*.lvs $KLAYOUT_HOME/lvs - rm -rf $DROPDOWN_DIRECTORY } +function gf180_patch_klayout_gf_drc() { + # 27:00 & 36:40 + VERIFICATION_DIR="gf_verification" + + git clone $GF_VERIFICATION_REPO $VERIFICATION_DIR + + # rm -rf $KLAYOUT_HOME/drc + # rm -rf $KLAYOUT_HOME/lvs + + cp -r $VERIFICATION_DIR/rules/klayout/drc $KLAYOUT_HOME/drc + cp -r $VERIFICATION_DIR/rules/klayout/lvs $KLAYOUT_HOME/lvs + + rm -rf $VERIFICATION_DIR +} + function gf180_patch_klayout_precheck_drc() { - KLAYOUT_HOME="$PDK_ROOT/gf180mcuC/libs.tech/klayout" #curl -o $KLAYOUT_HOME/drc/rule_decks/$PRECHECK_GF_FILE $PRECHECK_REPO/$PRECHECK_GF_FILE wget -O $KLAYOUT_HOME/drc/rule_decks/$PRECHECK_GF_FILE $PRECHECK_REPO/$PRECHECK_GF_FILE } function gf180_patch() { + export KLAYOUT_HOME="$PDK_ROOT/gf180mcuC/libs.tech/klayout" gf180_patch_xschemrc gf180_patch_klayout_pcells gf180_patch_klayout_dropdown + gf180_patch_klayout_gf_drc gf180_patch_klayout_precheck_drc } @@ -91,7 +101,6 @@ function sky130_patch_reduced_models() { } function sky130_patch_klayout_lyt() { - KLAYOUT_HOME="$PDK_ROOT/sky130A/libs.tech/klayout" FILEPATH="$KLAYOUT_HOME/tech/sky130A.lyt" sed -i 's/>sky130sky130A