Christoph Maier
03/10/2024, 12:04 AMLucas Daudt Franck
03/10/2024, 2:40 AM# XSCHEM
sudo apt install git -y
sudo apt update
sudo apt upgrade -y
mkdir $HOME/Analog
cd $HOME/Analog
git clone <https://github.com/StefanSchippers/xschem.git> xschem-src
cd xschem-src
sudo apt install flex -y
sudo apt install bison -y
sudo apt install libx11-dev -y
sudo apt install tk8.6-dev -y
sudo apt install libxpm-dev -y
sudo apt install libcairo2-dev -y
sudo apt install libjpeg-dev -y
sudo apt install libx11-xcb-dev -y
sudo apt install libxrender-dev -y
sudo apt install tcl8.6-dev -y
sudo apt install gawk -y
sudo apt install tcl-tclreadline -y
su
./configure
make
make install
su your_username
sudo apt install xterm -y
sudo apt install vim-gtk3 -y
cd $HOME
xschem
# MAGIC
cd $HOME/Analog
git clone <git://opencircuitdesign.com/magic>
cd magic
sudo apt install m4 -y
sudo apt install python3 -y
sudo apt install mesa-common-dev -y
sudo apt install libglu1-mesa-dev -y
sudo apt install libncurses-dev -y
su
./configure
make
make install
su your_username
cd $HOME
magic
# NGSPICE
cd $HOME/Analog
git clone <git://git.code.sf.net/p/ngspice/ngspice> ngspice-ngspice
cd ngspice-ngspice
mkdir release
sudo apt install adms -y
sudo apt install autoconf -y
sudo apt install libtool -y
sudo apt install automake -y
sudo apt install libxaw7-dev -y
sudo apt install libxmu-dev -y
sudo apt install libxext-dev -y
sudo apt install libxft-dev -y
sudo apt install fontconfig -y
sudo apt install freetype* -y
sudo apt install libreadline6-dev -y
su
./autogen.sh --adms
cd release
../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-predictor --enable-osdi --enable-openmp
make
make install
su your_username
mkdir $HOME/.xschem/simulations
cd $HOME/.xschem/simulations
echo "set ngbehavior=hsa" >> .spiceinit
echo "set ng_nomodcheck" >> .spiceinit
cd $HOME
ngspice
# OPENPDKS
cd $HOME/Analog
git clone <git://opencircuitdesign.com/open_pdks>
cd open_pdks/
su
./configure --enable-sky130-pdk --enable-sram-sky130
make
make install
make distclean
su your_username
cd $HOME
# NETGEN
cd $HOME/Analog
git clone <git://opencircuitdesign.com/netgen>
cd netgen/
su
./configure
make
make install
su your_username
cd $HOME
netgen
sudo apt update
sudo apt upgrade -y
sudo apt autoremove --purge -y
Tim Edwards
03/10/2024, 3:09 AMTim Edwards
03/10/2024, 3:10 AMsudo apt install adms
is not used because ngspice no longer supports it. It can be removed.Christoph Maier
03/10/2024, 4:03 AM#define hicum0numStates 0
and generate an error
In file included from hicum0.c:8:
hicum0defs.h:2899:25: error: expected identifier before numeric constant
2899 | #define hicum0numStates 0
| ^
hicum0defs.h:3025:5: note: in expansion of macro 'hicum0numStates'
3025 | hicum0numStates
| ^~~~~~~~~~~~~~~
make[5]: *** [Makefile:490: hicum0.lo] Error 1
make[4]: *** [Makefile:396: all] Error 2
make[3]: *** [Makefile:578: all-recursive] Error 1
make[2]: *** [Makefile:401: all-recursive] Error 1
make[1]: *** [Makefile:1480: all-recursive] Error 1
make: *** [Makefile:506: all-recursive] Error 1
(for example)
Once the header exists, on can just eliminate the #define …numStates 0 line, but the compiler crashes for each of the autogenerated devices.
Not having to deal with this kind of obfuscation layer crap is the primary reason to stick to analog design …Christoph Maier
03/10/2024, 5:03 AMTim Edwards
03/10/2024, 3:56 PMChristoph Maier
03/10/2024, 4:56 PMChristoph Maier
03/10/2024, 5:15 PM