You are on page 1of 3

Instalacin Y Uso de SystemC

Ing. Jairo Andrs Caballero Pea


jacaballerop@unal.edu.co
Metodologas y Herramientas de Diseo Digital - 2016

Instalacin de SystemC
A continuacin se describe el procedimiento de instalacin de SystemC para SO Linux (Ubunto). No se
contempla la instalacin de GTKWave debido a que es un anexo propio de aplicacin.

1.) Desde una terminal (Ctrl + Alt + T ), se verifican e instalan el paquete de herramientas para trabajar
con C++. En (http://packages.ubuntu.com/precise/build-essential) se encuentra la lista de compiladores
y utilidades asociadas.

:~$ sudo apt-get install build-essential

Nota: Se necesita de internt sin Proxy.

2.) Se deben descargar las librerias de SystemC directamente desde la pgina de Accellera
(http://www.systemc.org/downloads/standards/systemc) aceptando las condiciones y licencias
correspondientes. Estas libreras aparecen como Core SystemC Language and Examples y SystemC
Regression Test Suite

3.) Ubicamos la librera de SystemC donde deseamos instalarla y desde la terminal nos dirigimos a esta
carpeta de ubicacin. Preferiblemente en el carpeta personal del usuario para as tener una ubicacin de
fcil acceso. Luego se descomprime por terminal como sigue a continuacin o por entorno grfico.

:~$ cd ~
:~$ mv systemc-2.3.1.tgz systemc-2.3.1.tar
:~$ tar xvf systemc-2.2.0.tar

Nota: Se debe tener clara la ubicacin de la carpeta donde se descomprimi (/home/$(USER)/systemc-


2.3.1)

4.) Se debe crear el directorio temporal objdir en el directorio descomprimido de SystemC, y se debe
crear con el mismo nombre de la versin de SystemC a instalar un directorio en el almacenamiento raiz
local del usario para el registro de instalacin y almacenamiento de parmetros prpios del usuario.

:~$ cd systemc-2.3.1.
:~$ sudo mkdir /usr/local/systemc-2.3.1
:~$ mkdir objdir
:~$ cd objdir
5.) Se realiza la configuracin e instalacin mediante el makefile geenerado en el carpeta temporal
/objdir.
:~$ ../configure
:~$ sudo make
Nota: En caso de generar errores o no aplicar los cambios con el bash configure ejecutar con las
siguientes restricciones donde se indica manualmente la ubicacin del almacenamiento local.

:~$ sudo ../configure -prefix=/usr/local/systemc-2.3.1


:~$ sudo make

6.) Verificacin de la instalacin y finalizacin de la instalacin.

:~$ sudo make check


:~$ sudo make install

Nota: En caso de presentar errores durante las pruebas se debe entrar a revisar el motivo del error y
corregirlo, puesto que en el make check compila y ejecuta diferentes ejemplos propios de Acellera.

Para mayor informacin de la instalacin se puede consultar el documento anexo a SystemC

:~$ cd ~/systemc-2.3.1
:~$ gedit INSTALL

Uso de SystemC
Como paso inicial se puede implementar el Hola Mundo en un archivo *.cpp presentado a
continuacin, el cual posee un modulo de SystemC sencillo y realiza el llamado directo del proceso
interno.

#include "systemc.h"

SC_MODULE (helloworld) {
SC_CTOR(helloworld) {

void sayhello(){
cout<<"Hello World 2016. \n";

}
};

int sc_main(int argc, char* arg[]) {


helloworld hello("HELLO");
hello.sayhello();
return (0);
}
Para la compilacin de este documento se puede emplear el siguiente comando donde es necesario
indicarle la ubicacin de SystemC desde la ubicacin actual del proyecto $(SYSTEMC). Este se
encuentra a modo de ejemplo.

:~$ g++ main.cpp -o executablemain -I. -I $(SYSTEMC)/include/ -L. -L $(SYSTEMC)/lib-$(ARCH)/


-lsystemc -lm -L. -L $(SYSTEMC)/lib-$(ARCH)/libsystemc.so -lm -pthread -Wl,-rpath -Wl,$
(SYSTEMC)/lib-$(ARCH)

Nota: Indicaciones de compilacin adicionales en http://www.ht-


lab.com/howto/sccygwin/sccygwin.html

Otra forma de compilacin puede ser aquella donde no se necesita la inclusin de la librera en cada
orden de compilacin. Entonces se puede agregar como una variable de entorno para que
automticamente encontre la librera. Para este procedimiento consultar
(https://vinaydvd.wordpress.com/2012/05/30/installing-systemc-in-ubuntu/).

Es posibles trabajar mediante un entorno de desarrollo tal como Eclipse en donde se agregar una nueva
librera a esta herramienta. Para mayor inforamcin sobre la asociacin de librerias consultar
(http://www.dti.dk/_root/media/27325_SystemC_Getting_Started_artikel.pdf)
(http://www.cs.ucr.edu/~vahid/sproj/SystemCLab/install.htm).