So I'm not a klayout user at all, so I'm hoping th...
# klayout
r
So I'm not a klayout user at all, so I'm hoping this is a simply mistake, but when opening
user_project_wrapper.gds
from the
results/klayout
directory, I see the
user_project_wrapper
that includes several lower-level macros. Fine. But I also see the lower-level macros opened separately in the same window. All of these pieces are somewhat on top of one-another and proportioned different... like the lower-level macros are using a different database unit value compared to
user_project_wrapper.gds
. Am I doing something obviously incorrect? Thanks.
t
You might need an update to magic before writing the GDS. I believe that I fixed the issue that causes the separate set of macro calls. The fix was to version 8.3.180. I recall there was some separate issue with klayout that causes the scaling issue, so you might need a klayout update, although it's possible that the scaling is just a weird side-effect of the subcell naming problem.
r
Okay, I'll look into both those things. This is the Magic version that is part of openlane v0.15 used for mpw2. Thanks
m
Also, if there are conflicting names in the macros (anywhere in the hierarchy), it will just use the last one.
a
@Russell Friesenhahn I don’t have this issue.
I have a script that installs all latest tools that works perfectly.
🎉 1
#!/bin/sh -f export SCRIPT_PATH=$PWD mkdir -p temp cd temp export START_PWD=$PWD echo "Installing dependencies." apt update -y apt upgrade -y apt install -y vim htop build-essential git cmake autoconf automake flex bison texinfo libx11-dev libxaw7-dev libreadline-dev m4 \ tcl-dev tk-dev libglu1-mesa-dev freeglut3-dev mesa-common-dev tcsh csh libx11-dev libcairo2-dev libncurses-dev \ python3 python3-pip libgsl-dev libgtk-3-dev clang gawk libffi-dev graphviz xdot pkg-config python3 libboost-system-dev \ libboost-python-dev libboost-filesystem-dev zlib1g-dev gengetopt help2man groff pod2pdf libtool octave liboctave-dev epstool transfig paraview \ libhdf5-dev libvtk7-dev libboost-all-dev libcgal-dev libtinyxml-dev qtbase5-dev libvtk7-qt-dev libopenmpi-dev \ xterm graphicsmagick ghostscript libtinyxml-dev libhdf5-serial-dev libcgal-dev vtk7 \ cython3 build-essential cython3 python3-numpy python3-matplotlib python3-scipy python3-h5py meld apt install -y tigervnc-common tigervnc-viewer python3-pip gnome-system-tools ffmpeg apt-get -y install gcc g++ gfortran make cmake bison flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool autoconf automake git echo "## Install Verilator" git clone https://github.com/verilator/verilator unset VERILATOR_ROOT cd verilator git pull # Make sure git repository is up-to-date git checkout v4.202 autoconf # Create ./configure script ./configure # Configure and create Makefile make -j$(nproc) # Build Verilator itself sudo make install cd $START_PWD echo "## Installing tools" echo "# Installing ngspice" wget -O ngspice-34.tar.gz https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/34/ngspice-34.tar.gz tar zxvf ngspice-34.tar.gz cd ngspice-34 mkdir release cd release ../configure --with-x --enable-xspice --enable-cider --enable-openmp --with-readlines=yes --disable-debug make -j$(nproc) sudo make install cd $START_PWD cd ngspice-34 mkdir build-lib cd build-lib ../configure --with-x --enable-xspice --enable-cider --enable-openmp --disable-debug --with-ngshared make -j$(nproc) sudo make install cd $START_PWD echo "# Installing ngspice complete." echo "# Installing magic" git clone https://github.com/RTimothyEdwards/magic.git cd magic ./configure make -j$(nproc) sudo make install cd $START_PWD echo "# Installing klayout" wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.1-1_amd64.deb dpkg -i ./klayout_0.27.1-1_amd64.deb apt-get install -f -y echo "# Installing netgen" git clone https://github.com/RTimothyEdwards/netgen.git cd netgen ./configure make -j$(nproc) sudo make install cd $START_PWD echo "# Installing xcircuit" wget http://opencircuitdesign.com/xcircuit/archive/xcircuit-3.10.30.tgz tar zxvf xcircuit-3.10.30.tgz cd xcircuit-3.10.30 ./configure && make -j$(nproc) && sudo make install cd $START_PWD echo "# Install Yoss" git clone https://github.com/YosysHQ/yosys.git cd yosys make config-gcc make -j$(nproc) sudo make install cd $START_PWD echo "# Install graywolf" git clone https://github.com/rubund/graywolf.git cd graywolf mkdir build cd build cmake .. make -j$(nproc) sudo make install cd $START_PWD echo "# Installing qrouter" git clone https://github.com/RTimothyEdwards/qrouter.git cd qrouter ./configure make -j$(nproc) sudo make install echo "# Installing qflow" git clone https://github.com/RTimothyEdwards/qflow.git cd qflow ./configure make -j$(nproc) sudo make install cd $START_PWD echo "# Installing gaw3" git clone https://github.com/StefanSchippers/xschem-gaw.git cd xschem-gaw ./configure make -j$(nproc) sudo make install cd $START_PWD echo "# Installing xschem" git clone https://github.com/StefanSchippers/xschem.git cd xschem ./configure make -j$(nproc) sudo make install cd $START_PWD #echo "## Installing EMS" ## git clone --recursive https://github.com/thliebig/openEMS-Project.git ## cd openEMS-Project ## sudo ./update_openEMS.sh ~/opt/openEMS --with-hyp2mat --with-CTB --with-MPI #echo "$PWD" # #git clone https://github.com/thliebig/openEMS-Project.git #cd openEMS-Project #git submodule init #git submodule update # #export OPENEMS=/opt/openems #sudo ./update_openEMS.sh $OPENEMS #cd CSXCAD/python; python3 setup.py build_ext -I$OPENEMS/include -L$OPENEMS/lib -R$OPENEMS/lib; sudo python3 setup.py install; cd ../.. #cd openEMS/python; python3 setup.py build_ext -I$OPENEMS/include -L$OPENEMS/lib -R$OPENEMS/lib; sudo python3 setup.py install; cd ../.. echo "## Installing Xyce" wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-12-12-1.tar.gz -O trilinos-release-12-12-1.tar.gz tar zxvf trilinos-release-12-12-1.tar.gz cd trilinos-release-12-12-1 mkdir parallel_build cd parallel_build cp $SCRIPT_PATH/cmake_init.sh chmod +x cmake_init.sh ./cmake_init.sh make -j$(nproc) sudo make install cd $START_PWD git clone https://github.com/Xyce/Xyce.git cd Xyce ./bootstrap mkdir build_dir cd build_dir ../configure CXXFLAGS="-O3" ARCHDIR="/opt/trilinos" CPPFLAGS="-I/usr/include/suitesparse" --enable-mpi CXX=mpicxx CC=mpicc F77=mpif77 --enable-stokhos --enable-amesos2 --prefix=/usr/local make -j$(nproc) sudo make install
1
🌍 1
You will need below in cmake_init.sh
#!/bin/sh SRCDIR=.. ARCHDIR=/opt/trilinos FLAGS="-O3 -fPIC" cmake \ -G "Unix Makefiles" \ -DCMAKE_C_COMPILER=mpicc \ -DCMAKE_CXX_COMPILER=mpic++ \ -DCMAKE_Fortran_COMPILER=mpif77 \ -DCMAKE_CXX_FLAGS="$FLAGS" \ -DCMAKE_C_FLAGS="$FLAGS" \ -DCMAKE_Fortran_FLAGS="$FLAGS" \ -DCMAKE_INSTALL_PREFIX=$ARCHDIR \ -DCMAKE_MAKE_PROGRAM="make" \ -DTrilinos_ENABLE_NOX=ON \ -DNOX_ENABLE_LOCA=ON \ -DTrilinos_ENABLE_EpetraExt=ON \ -DEpetraExt_BUILD_BTF=ON \ -DEpetraExt_BUILD_EXPERIMENTAL=ON \ -DEpetraExt_BUILD_GRAPH_REORDERINGS=ON \ -DTrilinos_ENABLE_TrilinosCouplings=ON \ -DTrilinos_ENABLE_Ifpack=ON \ -DTrilinos_ENABLE_Isorropia=ON \ -DTrilinos_ENABLE_AztecOO=ON \ -DTrilinos_ENABLE_Belos=ON \ -DTrilinos_ENABLE_Teuchos=ON \ -DTeuchos_ENABLE_COMPLEX=ON \ -DTrilinos_ENABLE_Amesos=ON \ -DAmesos_ENABLE_KLU=ON \ -DTrilinos_ENABLE_Amesos2=ON \ -DAmesos2_ENABLE_KLU2=ON \ -DAmesos2_ENABLE_Basker=ON \ -DTrilinos_ENABLE_Sacado=ON \ -DTrilinos_ENABLE_Stokhos=ON \ -DTrilinos_ENABLE_Kokkos=ON \ -DTrilinos_ENABLE_Zoltan=ON \ -DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF \ -DTrilinos_ENABLE_CXX11=ON \ -DTPL_ENABLE_AMD=ON \ -DAMD_LIBRARY_DIRS="/usr/lib" \ -DTPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \ -DTPL_ENABLE_BLAS=ON \ -DTPL_ENABLE_LAPACK=ON \ -DTPL_ENABLE_MPI=ON \ $SRCDIR
@mkk It seems that I didn’t share everything here
e
@Russell Friesenhahn Looks like I have the same issue and I know the reason! See my comment here: https://skywater-pdk.slack.com/archives/C016H8WJMBR/p1628582488060500