Fixed custom container

This commit is contained in:
Aquiles Viza 2023-09-22 05:05:39 -03:00
parent 9d7bc55291
commit 8b8395a2f3
4 changed files with 61 additions and 45 deletions

3
.gitattributes vendored
View File

@ -3,9 +3,12 @@
.png filter=lfs diff=lfs merge=lfs -text .png filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text *.png filter=lfs diff=lfs merge=lfs -text
*.sh text eol=lf *.sh text eol=lf
*.py text eol=lf
*.bat text eol=crlf *.bat text eol=crlf
desktopinit text eol=lf desktopinit text eol=lf
klayout text eol=lf klayout text eol=lf
.bashrc text eol=lf
setwallpaper text eol=lf setwallpaper text eol=lf
startserver text eol=lf startserver text eol=lf
*.desktop text eol=lf *.desktop text eol=lf
xschemrc text eol=lf

View File

@ -33,7 +33,7 @@ SET CALL=call
%CALL% docker build --rm -t osicstacks-base-desktop -f base/desktop.Dockerfile . %CALL% docker build --rm -t osicstacks-base-desktop -f base/desktop.Dockerfile .
%CALL% docker build --rm -t osicstacks-base-web -f base/web.Dockerfile . %CALL% docker build --rm -t osicstacks-base-web -f base/web.Dockerfile .
%CALL% docker build --rm --build-arg BASE_IMG=osicstacks-base-web --target %STACK%-web -t %DOCKER_USER%/%STACK%:latest -f stacks/%STACK%.Dockerfile . %CALL% docker build --rm --build-arg BASE_IMG=osicstacks-base-web --target %STACK%-web -t %DOCKER_USER%/%STACK%:latest -f stacks/%STACK%.Dockerfile .
%CALL% docker build --rm --build-arg BASE_IMG=%DOCKER_USER%/%STACK%:latest -t %TAG% -f stacks/analog-tools/Dockerfile %CALL% docker build --rm --build-arg BASE_IMG=%DOCKER_USER%/%STACK%:latest -t %TAG% -f stacks/analog-tools/Dockerfile stacks/analog-tools/
GOTO end GOTO end
:end :end

View File

@ -2,7 +2,7 @@ ARG BASE_IMG=analog-xk
FROM $BASE_IMG as analog-tools FROM $BASE_IMG as analog-tools
# Add scripts # Add scripts
COPY scripts/* . COPY --chown=designer:designer --chmod=755 scripts/* .
RUN ./install-open-pdks.sh RUN ./install-open-pdks.sh

View File

@ -2,62 +2,75 @@
set -e set -e
export OPEN_PDKS_VERSION="dd7771c384ed36b91a25e9f8b314355fc26561be"
export SCRIPT_DIR=$PWD
if [ -d xschemrc ]; then if [ -d xschemrc ]; then
echo File xschemrc not found echo File xschemrc not found
return -1 return -1
fi fi
export OPEN_PDKS_VERSION="dd7771c384ed36b91a25e9f8b314355fc26561be" if [ -d $SCRIPT_DIR/iic-spice-model-red.py ]; then
export SCRIPT_DIR=. echo File iic-spice-model.red.py not found
return -1
####################
# INSTALL SKY130 PDK
####################
volare enable "${OPEN_PDKS_VERSION}" --pdk sky130
# remove version sky130B to save space (efabless TO use mostly sky130A)
rm -rf "$PDK_ROOT"/volare/sky130/versions/*/sky130B
rm -rf "$PDK_ROOT"/sky130B
if [ -d "$PDK_ROOT/sky130A" ]; then
# apply SPICE mode file reduction (for the variants that exist)
# add custom IIC bind keys to magicrc
cd "$PDK_ROOT/sky130A/libs.tech/ngspice" || exit 1
"$SCRIPT_DIR/iic-spice-model-red.py" sky130.lib.spice tt
"$SCRIPT_DIR/iic-spice-model-red.py" sky130.lib.spice ss
"$SCRIPT_DIR/iic-spice-model-red.py" sky130.lib.spice ff
# FIXME: Repair klayout tech file
sed -i 's/>sky130</>sky130A</g' "$PDK_ROOT/sky130A/libs.tech/klayout/tech/sky130A.lyt"
sed -i 's/sky130.lyp/sky130A.lyp/g' "$PDK_ROOT/sky130A/libs.tech/klayout/tech/sky130A.lyt"
sed -i '/<base-path>/c\ <base-path/>' "$PDK_ROOT/sky130A/libs.tech/klayout/tech/sky130A.lyt"
# shellcheck disable=SC2016
sed -i '/<original-base-path>/c\ <original-base-path>$PDK_ROOT/$PDK/libs.tech/klayout</original-base-path>' "$PDK_ROOT/sky130A/libs.tech/klayout/tech/sky130A.lyt"
fi fi
###################### ######################
# INSTALL GF180MCU PDK # INSTALL GF180MCU PDK
###################### ######################
volare enable "${OPEN_PDKS_VERSION}" --pdk gf180mcu export PDK=gf180mcu
if [ -d "$PDK_ROOT/sky130A" ]; then volare enable "${OPEN_PDKS_VERSION}" --pdk "${PDK}"
rm -rf $PDK_ROOT/volare/gf180mcu/versions/*/gf180mcuA rm -rf $PDK_ROOT/volare/gf180mcu/versions/*/gf180mcuA
rm -rf $PDK_ROOT/volare/gf180mcu/versions/*/gf180mcuB rm -rf $PDK_ROOT/volare/gf180mcu/versions/*/gf180mcuB
rm -rf $PDK_ROOT/volare/gf180mcu/versions/*/gf180mcuD rm -rf $PDK_ROOT/volare/gf180mcu/versions/*/gf180mcuD
rm -rf $PDK_ROOT/gf180mcuA rm -rf $PDK_ROOT/gf180mcuA
rm -rf $PDK_ROOT/gf180mcuB rm -rf $PDK_ROOT/gf180mcuB
rm -rf $PDK_ROOT/gf180mcuD rm -rf $PDK_ROOT/gf180mcuD
mv $KLAYOUT_HOME/pymacros temp export KLAYOUT_HOME="$PDK_ROOT/gf180mcuC/libs.tech/klayout"
mkdir $KLAYOUT_HOME/pymacros
mv temp $KLAYOUT_HOME/pymacros/cells
mv $KLAYOUT_HOME/tech/gf180mcu.lym $KLAYOUT_HOME/pymacros
mv xschemrc $PDK_ROOT/$PDK/libs.tech/xschem/xschemrc mv $KLAYOUT_HOME/pymacros temp
fi mkdir $KLAYOUT_HOME/pymacros
mv temp $KLAYOUT_HOME/pymacros/cells
mv $KLAYOUT_HOME/tech/gf180mcu.lym $KLAYOUT_HOME/pymacros
rm -rf $SCRIPT_DIR/iic-spice-model-red.py mv "$SCRIPT_DIR/xschemrc" $PDK_ROOT/gf180mcuC/libs.tech/xschem/xschemrc
rm -rf .scripts/klayout
####################
# INSTALL SKY130 PDK
####################
export PDK=sky130
volare enable "${OPEN_PDKS_VERSION}" --pdk "${PDK}"
# remove version sky130B to save space (efabless TO use mostly sky130A)
rm -rf "$PDK_ROOT"/volare/sky130/versions/*/sky130B
rm -rf "$PDK_ROOT"/sky130B
# apply SPICE mode file reduction (for the variants that exist)
# add custom IIC bind keys to magicrc
cd "$PDK_ROOT/sky130A/libs.tech/ngspice" || exit 1
"$SCRIPT_DIR/iic-spice-model-red.py" sky130.lib.spice tt
"$SCRIPT_DIR/iic-spice-model-red.py" sky130.lib.spice ss
"$SCRIPT_DIR/iic-spice-model-red.py" sky130.lib.spice ff
# FIXME: Repair klayout tech file
sed -i 's/>sky130</>sky130A</g' "$PDK_ROOT/sky130A/libs.tech/klayout/tech/sky130A.lyt"
sed -i 's/sky130.lyp/sky130A.lyp/g' "$PDK_ROOT/sky130A/libs.tech/klayout/tech/sky130A.lyt"
sed -i '/<base-path>/c\ <base-path/>' "$PDK_ROOT/sky130A/libs.tech/klayout/tech/sky130A.lyt"
# shellcheck disable=SC2016
sed -i '/<original-base-path>/c\ <original-base-path>$PDK_ROOT/$PDK/libs.tech/klayout</original-base-path>' "$PDK_ROOT/sky130A/libs.tech/klayout/tech/sky130A.lyt"
cd "$SCRIPT_DIR"
rm -rf "$SCRIPT_DIR/iic-spice-model-red.py"