b580b9d649
All checks were successful
release / build-base (push) Successful in 4m22s
release / build-digital-heavy (push) Successful in 21m22s
release / build-digital-ator (push) Successful in 21m42s
release / build-digital-icarus (push) Successful in 21m40s
release / build-analog-xk (push) Successful in 26m27s
release / build-analog-xm (push) Successful in 26m42s
release / build-heavy (push) Successful in 26m55s
release / build-analog-heavy (push) Successful in 27m9s
release / build-chipathon-tools (push) Successful in 16m4s
81 lines
2.3 KiB
Bash
81 lines
2.3 KiB
Bash
#!/bin/bash
|
|
set -ex
|
|
|
|
SCRIPT_DIR=$PWD
|
|
|
|
# This files can be downloaded directly
|
|
# - sky130A_mr.drc
|
|
# - gf180mcuD_mr.drc
|
|
PRECHECK_REPO=https://raw.githubusercontent.com/efabless/mpw_precheck/main/checks/tech-files/
|
|
PRECHECK_GF_FILE=gf180mcuD_mr.drc
|
|
PRECHECK_SKY_FILE=sky130A_mr.drc
|
|
|
|
sudo aur-install wget
|
|
pip install docopt --upgrade --break-system-packages
|
|
|
|
|
|
function gf180_patch_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'
|
|
sed -i "s\\$ORIGINAL\\$REPLACE\g" $FILEPATH
|
|
|
|
ORIGINAL='set 180MCU_MODELS ${PDK_ROOT}/models/ngspice'
|
|
REPLACE='set 180MCU_MODELS $env(PDK_ROOT)/$env(PDK)/libs.tech/ngspice'
|
|
sed -i "s\\$ORIGINAL\\$REPLACE\g" $FILEPATH
|
|
}
|
|
|
|
function gf180_patch_klayout_pcells() {
|
|
mv $KLAYOUT_HOME/pymacros $KLAYOUT_HOME/cells
|
|
mkdir $KLAYOUT_HOME/pymacros
|
|
mv $KLAYOUT_HOME/cells $KLAYOUT_HOME/pymacros
|
|
mv $KLAYOUT_HOME/tech/gf180mcu.lym $KLAYOUT_HOME/pymacros
|
|
|
|
rm -rf .scripts/klayout
|
|
}
|
|
|
|
function gf180_patch_klayout_dropdown() {
|
|
# 27:00 & 36:40
|
|
DROPDOWN_REPO="https://github.com/mabrains/globalfoundries-pdk-libs-gf180mcu_fd_pr"
|
|
DROPDOWN_DIRECTORY="gf_dropdown"
|
|
|
|
git clone $DROPDOWN_REPO $DROPDOWN_DIRECTORY
|
|
|
|
cp -r $DROPDOWN_DIRECTORY/rules/klayout/macros $KLAYOUT_HOME
|
|
|
|
rm -rf $DROPDOWN_DIRECTORY
|
|
}
|
|
|
|
function gf180_patch_klayout_gf_drc() {
|
|
# 27:00 & 36:40
|
|
GF_VERIFICATION_REPO=https://github.com/efabless/globalfoundries-pdk-libs-gf180mcu_fd_pv
|
|
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/klayout/drc/* $KLAYOUT_HOME/drc
|
|
cp -r $VERIFICATION_DIR/klayout/lvs/* $KLAYOUT_HOME/lvs
|
|
|
|
rm -rf $VERIFICATION_DIR
|
|
}
|
|
|
|
function gf180_patch_klayout_precheck_drc() {
|
|
wget -O $KLAYOUT_HOME/drc/rule_decks/$PRECHECK_GF_FILE $PRECHECK_REPO/$PRECHECK_GF_FILE
|
|
}
|
|
|
|
function gf180_patch() {
|
|
export KLAYOUT_HOME="$PDK_ROOT/gf180mcuD/libs.tech/klayout"
|
|
gf180_patch_xschemrc
|
|
gf180_patch_klayout_pcells
|
|
gf180_patch_klayout_precheck_drc
|
|
gf180_patch_klayout_dropdown
|
|
gf180_patch_klayout_gf_drc
|
|
}
|
|
|
|
gf180_patch
|
|
|
|
sudo aur-install gedit xterm gvim |