Installer SystemC et TLM
Pour installer SystemC 2.3.3 (version la plus récente), vous pouvez les télécharger sur http://www.accellera.org/images/downloads/standards/systemc/systemc-2.3.3.tar.gz
Sur les machines de l'Ensimag
SystemC est installé dans /matieres/5MMMTSP/cours-tlm/systemc-2.3.3
.
On compile également une petite bibliothèque pour le support des bus, qui se trouve dans TPs/ensitlm
.
Cette bibliothèque, ainsi que le reste des TP, utilise un Makefile unique TPs/Makefile.common
qui contient en particulier les bons flags pour g++
.
Installer SystemC 2.3
En principe, il suffit de télécharger l'archive et d'appliquer le bon vieux configure/make/make install
.
Il faut juste s'assurer que le standard c++ utilisé pour compiler SystemC et les exemples sont biens les mêmes, sinon ça foire lors de l'édition de liens, et on se tire des balles.
Dans la suite on utilise la version 2017 du standard, car c'est ce que j'ai utilisé dans les Makefiles des exemples.
sudo mkdir -p /opt/systemc-2.3.3 # On rend l'utilisateur courant propriétaire du répertoire sudo chown $(id -un):$(id -gn) /opt/systemc-2.3.3 mkdir devel && cd devel wget http://www.accellera.org/images/downloads/standards/systemc/systemc-2.3.3.tar.gz tar xzvf systemc-2.3.3.tar.gz cd systemc-2.3.3 mkdir build cd build CXXFLAGS=-std=c++17 ../configure --prefix=/opt/systemc-2.3.3 make -j $(nproc) make install
On peut vérifier que tout s'est bien passé en regardant ce qui a été installé effectivement. On doit trouver les fichiers d'en-tête dans include/, et les bibliothèques dans lib-*/ (le nom du répertoire dépend de la plateforme sur laquelle on compile) :
petrot@tilleul[:|✔]% ls /opt/systemc-2.3.3/include sysc systemc systemc.h tlm tlm_core tlm.h tlm_utils petrot@tilleul[:|✔]% ls /opt/systemc-2.3.3/lib-* libsystemc-2.3.3.so libsystemc.a libsystemc.la libsystemc.so pkgconfig
Configuration
Pour utiliser les Makefiles des TPs et exemples, il vous reste à positionner la variable d'environnement $SYSTEMCROOT, qui doit pointer sur votre installation de SystemC.
Le plus simple est de se baser sur le fichier setup-ensimag.sh
fourni dans l'archive git en adaptant les chemins à votre configuration.