diff --git a/stacks/chipathon-tools/scripts/.bashrc b/stacks/chipathon-tools/scripts/.bashrc index 511b22f..42ae0a1 100644 --- a/stacks/chipathon-tools/scripts/.bashrc +++ b/stacks/chipathon-tools/scripts/.bashrc @@ -1,22 +1,33 @@ [[ $- != *i* ]] && return +# ------------------ +# SET PDK PARAMETERS +# ------------------ + +if [ "$PDK" == "" ]; then + echo "PDK not defined, using default one (gf180mcuD)" + PDK=gf180cmuD +fi + case "$PDK" in -gf180mcuC) - export PDKPATH=$PDK_ROOT/$PDK - export STD_CELL_LIBRARY=gf180mcu_fd_sc_mcu7t5v0 - ;; -sky130A) - export PDKPATH=$PDK_ROOT/$PDK - export STD_CELL_LIBRARY=sky130_fd_sc_hd - ;; -*) - echo "PDK not defined, using default one (gf180mcuC)" - export PDK=gf180mcuC - export PDKPATH=$PDK_ROOT/$PDK - export STD_CELL_LIBRARY=gf180mcu_fd_sc_mcu7t5v0 - ;; +gf180mcuC) export STD_CELL_LIBRARY=gf180mcu_fd_sc_mcu7t5v0 ;; +gf180mcuD) export STD_CELL_LIBRARY=gf180mcu_fd_sc_mcu7t5v0 ;; +sky130A) export STD_CELL_LIBRARY=sky130_fd_sc_hd ;; +*) echo "PDK $PDK NOT RECOGNIZED";; esac +export PDKPATH=$PDK_ROOT/$PDK + +export KLAYOUT_HOME=$PDK_ROOT/$PDK/libs.tech/klayout + +alias xschem='xschem -b --rcfile $PDK_ROOT/$PDK/libs.tech/xschem/xschemrc' +alias xschemtcl='xschem --rcfile $PDK_ROOT/$PDK/libs.tech/xschem/xschemrc' +#alias magic='magic --rcfile $PDK_ROOT/$PDK/libs.tech/magic/*.magicrc' + +# ------------------ +# SET PROMPT +# ------------------ + function git_branch { branch=$(git symbolic-ref --short HEAD 2>/dev/null) if [ "$branch" != "" ]; then @@ -37,13 +48,12 @@ c_whi='\[\033[01;37m\]' # White # export PS1="${c_pur}\w $(git_branch)\n${c_res}\$ " ## This dont work :( PS1="${c_pur}\w \n${c_res}\$ " ## This dont work :( -export KLAYOUT_HOME=$PDK_ROOT/$PDK/libs.tech/klayout -export DESIGNS="/home/designer/shared" +# -------------------------------- +# USEFUL ENV VARIABLES AND ALIASES +# -------------------------------- alias ls="ls --color=auto -XF" alias grep="grep --color=auto" -alias xschem='xschem -b --rcfile $PDK_ROOT/$PDK/libs.tech/xschem/xschemrc' -alias xschemtcl='xschem --rcfile $PDK_ROOT/$PDK/libs.tech/xschem/xschemrc' - -git config --global --add safe.directory $DESIGNS \ No newline at end of file +git config --global --add safe.directory /home/designer/shared +git config --global --add safe.directory /workspaces/* diff --git a/stacks/chipathon-tools/scripts/install-open-pdks.sh b/stacks/chipathon-tools/scripts/install-open-pdks.sh index 67d5c25..b2f8bd9 100644 --- a/stacks/chipathon-tools/scripts/install-open-pdks.sh +++ b/stacks/chipathon-tools/scripts/install-open-pdks.sh @@ -17,10 +17,10 @@ volare enable "${OPEN_PDKS_VERSION}" --pdk gf180mcu rm -rf $PDK_ROOT/volare/gf180mcu/versions/*/gf180mcuA rm -rf $PDK_ROOT/volare/gf180mcu/versions/*/gf180mcuB -#rm -rf $PDK_ROOT/volare/gf180mcu/versions/*/gf180mcuC ## Some day... +rm -rf $PDK_ROOT/volare/gf180mcu/versions/*/gf180mcuC rm -rf $PDK_ROOT/gf180mcuA rm -rf $PDK_ROOT/gf180mcuB -rm -rf $PDK_ROOT/gf180mcuD +rm -rf $PDK_ROOT/gf180mcuC #################### # INSTALL SKY130 PDK @@ -28,8 +28,6 @@ rm -rf $PDK_ROOT/gf180mcuD volare enable "${OPEN_PDKS_VERSION}" --pdk sky130 -# ADD PCELL SUPPORT - # remove version sky130B to save space (efabless TO use mostly sky130A) rm -rf "$PDK_ROOT"/volare/sky130/versions/*/sky130B rm -rf "$PDK_ROOT"/sky130B diff --git a/stacks/chipathon-tools/scripts/patch-open-pdks-gf180.sh b/stacks/chipathon-tools/scripts/patch-open-pdks-gf180.sh index c535a9c..618261e 100644 --- a/stacks/chipathon-tools/scripts/patch-open-pdks-gf180.sh +++ b/stacks/chipathon-tools/scripts/patch-open-pdks-gf180.sh @@ -5,9 +5,9 @@ SCRIPT_DIR=$PWD # This files can be downloaded directly # - sky130A_mr.drc -# - gf180mcuC_mr.drc +# - gf180mcuD_mr.drc PRECHECK_REPO=https://raw.githubusercontent.com/efabless/mpw_precheck/main/checks/tech-files/ -PRECHECK_GF_FILE=gf180mcuC_mr.drc +PRECHECK_GF_FILE=gf180mcuD_mr.drc PRECHECK_SKY_FILE=sky130A_mr.drc sudo aur-install wget @@ -15,7 +15,7 @@ pip install docopt --upgrade --break-system-packages function gf180_patch_xschemrc() { - FILEPATH=$PDK_ROOT/gf180mcuC/libs.tech/xschem/xschemrc + FILEPATH=$PDK_ROOT/gf180mcuD/libs.tech/xschem/xschemrc ORIGINAL='append XSCHEM_LIBRARY_PATH :$env(PWD)' REPLACE='append XSCHEM_LIBRARY_PATH :$env(PDK_ROOT)/$env(PDK)/libs.tech/xschem' @@ -27,9 +27,9 @@ function gf180_patch_xschemrc() { } function gf180_patch_klayout_pcells() { - mv $KLAYOUT_HOME/pymacros $KLAYOUT_HOME/cells + mv $KLAYOUT_HOME/pymacros $KLAYOUT_HOME/cells mkdir $KLAYOUT_HOME/pymacros - mv $KLAYOUT_HOME/cells $KLAYOUT_HOME/pymacros + mv $KLAYOUT_HOME/cells $KLAYOUT_HOME/pymacros mv $KLAYOUT_HOME/tech/gf180mcu.lym $KLAYOUT_HOME/pymacros rm -rf .scripts/klayout @@ -64,12 +64,11 @@ function gf180_patch_klayout_gf_drc() { } function gf180_patch_klayout_precheck_drc() { - #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" + export KLAYOUT_HOME="$PDK_ROOT/gf180mcuD/libs.tech/klayout" gf180_patch_xschemrc gf180_patch_klayout_pcells gf180_patch_klayout_precheck_drc