diff --git a/doc/documents_systemc-ams/fdl_tutorial.pdf b/doc/documents_systemc-ams/fdl_tutorial.pdf
deleted file mode 100644
index 0c8a922a6f849c2608074293a5b1a3377dcfdaa7..0000000000000000000000000000000000000000
Binary files a/doc/documents_systemc-ams/fdl_tutorial.pdf and /dev/null differ
diff --git a/doc/documents_systemc_ams/Makefile b/doc/documents_systemc_ams/Makefile
new file mode 100755
index 0000000000000000000000000000000000000000..1acdba11e627452c67dc4201c5e7492ca246821a
--- /dev/null
+++ b/doc/documents_systemc_ams/Makefile
@@ -0,0 +1,25 @@
+# Top LaTeX document (without .tex extension)
+TOP		= user_guide.tex
+# Bibliography (if any)
+BIBLIO		= 
+
+SHELL		= /bin/bash
+
+# Figures directory
+FIGDIR		= fig
+
+# Maximum number of pdflatex compilations
+MAXPASSES	?= 5
+
+# Main, common, Makefile
+include ../mli.mk
+#include Makefile.inc
+
+# Main PDF depends on other PDFs generated from fig, dot, dia, gnuplot or
+# inkscape formats. The GENERATED make variable is computed automatically by
+# Makefile.inc, based on what is found in the FIGDIR directory.
+$(TOP).pdf: $(GENERATED) $(BIBLIO) $(wildcard $(FIGDIR)/*.JPG) $(wildcard $(FIGDIR)/*.jpg) $(wildcard $(FIGDIR)/*.png)
+
+# Specific dependencies
+$(TOP).pdf: $(wildcard *.tex)
+
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/Makefile b/doc/documents_systemc_ams/USERS_GUIDE/Makefile
new file mode 100755
index 0000000000000000000000000000000000000000..172db13d433e91c838b9074fcdc3d5f0a4a21a32
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/Makefile
@@ -0,0 +1,26 @@
+# Top LaTeX document (without .tex extension)
+TOP		= users_guide.tex
+# Bibliography (if any)
+BIBLIO		= 
+
+SHELL		= /bin/bash
+
+# Figures directory
+FIGDIR		= fig
+
+# Maximum number of pdflatex compilations
+MAXPASSES	?= 5
+
+# Main, common, Makefile
+include ../mli.mk
+#include Makefile.inc
+
+# Main PDF depends on other PDFs generated from fig, dot, dia, gnuplot or
+# inkscape formats. The GENERATED make variable is computed automatically by
+# Makefile.inc, based on what is found in the FIGDIR directory.
+$(TOP).pdf:
+	
+
+# Specific dependencies
+$(TOP).pdf: $(wildcard *.tex)
+
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/dirtree.sty b/doc/documents_systemc_ams/USERS_GUIDE/dirtree.sty
new file mode 100644
index 0000000000000000000000000000000000000000..d1e4d0331e1a82fab645e87ec491562c15be040c
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/dirtree.sty
@@ -0,0 +1,57 @@
+%%
+%% This is file `dirtree.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% dirtree.dtx  (with options: `latex-wrapper')
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% For the copyright see the source file.
+%% 
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from dirtree.sty.
+%% 
+%% For distribution of the original source see the terms
+%% for copying and modification in the file dirtree.dtx.
+%% 
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%%
+%% Package `dirtree.dtx'
+%% -----------------------------------------------
+%% Copyright (C) 2004-2009 Jean-C\^ome Charpentier
+%% -----------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% See CTAN archives in directory macros/latex/base/lppl.txt.
+%%
+%% CONTENTS:
+%%   This work consists of the files dirtree.ins and dirtree.dtx.
+%%   Derived files are dirtree.tex and dirtree.sty.
+%%
+%% DESCRIPTION:
+%%   dirtree is a package displaying directory trees.
+%%
+ \def\fileversion{0.32}
+ \def\filedate{2012/12/11}
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{dirtree}[\filedate\space v\fileversion\space
+                          package wrapper for dirtree]
+\newcommand*\DT@fromsty{}
+\input{dirtree.tex}
+\ProvidesFile{dirtree.tex}
+  [\filedate\space v\fileversion\space `dirtree' (jcc)]
+\endinput
+%%
+%% End of file `dirtree.sty'.
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/dirtree.tex b/doc/documents_systemc_ams/USERS_GUIDE/dirtree.tex
new file mode 100644
index 0000000000000000000000000000000000000000..373ac726f99e8331cc34c75b2fe3e5177323e570
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/dirtree.tex
@@ -0,0 +1,203 @@
+%%
+%% This is file `dirtree.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% dirtree.dtx  (with options: `tex')
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% For the copyright see the source file.
+%% 
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from dirtree.tex.
+%% 
+%% For distribution of the original source see the terms
+%% for copying and modification in the file dirtree.dtx.
+%% 
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%%
+%% Package `dirtree.dtx'
+%% -----------------------------------------------
+%% Copyright (C) 2004-2009 Jean-C\^ome Charpentier
+%% -----------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% See CTAN archives in directory macros/latex/base/lppl.txt.
+%%
+%% CONTENTS:
+%%   This work consists of the files dirtree.ins and dirtree.dtx.
+%%   Derived files are dirtree.tex and dirtree.sty.
+%%
+%% DESCRIPTION:
+%%   dirtree is a package displaying directory trees.
+%%
+ \def\fileversion{0.32}
+ \def\filedate{2012/12/11}
+\message{`dirtree' v\fileversion, \filedate\space (jcc)}
+\edef\DTAtCode{\the\catcode`\@}
+\catcode`\@=11
+\long\def\DT@loop#1\DT@repeat{%
+  \def\DT@iterate{#1\relax\expandafter\DT@iterate\fi}%
+  \DT@iterate
+  \let\DT@iterate\relax
+}
+\let\DT@repeat=\fi
+\expandafter\ifx\csname DT@fromsty\endcsname\relax
+  \def\@namedef#1{\expandafter\def\csname #1\endcsname}
+  \def\@nameuse#1{\csname #1\endcsname}
+  \long\def\@gobble#1{}
+\fi
+\def\@nameedef#1{\expandafter\edef\csname #1\endcsname}
+\newdimen\DT@offset \DT@offset=0.2em
+\newdimen\DT@width \DT@width=1em
+\newdimen\DT@sep \DT@sep=0.2em
+\newdimen\DT@all
+\DT@all=\DT@offset
+\advance\DT@all \DT@width
+\advance\DT@all \DT@sep
+\newdimen\DT@rulewidth \DT@rulewidth=0.4pt
+\newdimen\DT@dotwidth \DT@dotwidth=1.6pt
+\newdimen\DTbaselineskip \DTbaselineskip=\baselineskip
+\newcount\DT@counti
+\newcount\DT@countii
+\newcount\DT@countiii
+\newcount\DT@countiv
+\def\DTsetlength#1#2#3#4#5{%
+  \DT@offset=#1\relax
+  \DT@width=#2\relax
+  \DT@sep=#3\relax
+  \DT@all=\DT@offset
+  \advance\DT@all by\DT@width
+  \advance\DT@all by\DT@sep
+  \DT@rulewidth=#4\relax
+  \DT@dotwidth=#5\relax
+}
+\expandafter\ifx\csname DT@fromsty\endcsname\relax
+  \def\DTstyle{\tt}
+  \def\DTstylecomment{\rm}
+\else
+  \def\DTstyle{\ttfamily}
+  \def\DTstylecomment{\rmfamily}
+\fi
+\def\DTcomment#1{%
+  \kern\parindent\dotfill
+  {\DTstylecomment{#1}}%
+}
+\newdimen\DT@indent
+\newdimen\DT@parskip
+\newdimen\DT@baselineskip
+\def\dirtree#1{%
+  \DT@indent=\parindent
+  \parindent=\z@
+  \DT@parskip=\parskip
+  \parskip=\z@
+  \DT@baselineskip=\baselineskip
+  \baselineskip=\DTbaselineskip
+  \let\DT@strut=\strut
+  \def\strut{\vrule width\z@ height0.7\baselineskip depth0.3\baselineskip}%
+  \DT@counti=\z@
+  \let\next\DT@readarg
+  \next#1\@nil
+  \dimen\z@=\hsize
+  \advance\dimen\z@ -\DT@offset
+  \advance\dimen\z@ -\DT@width
+  \setbox\z@=\hbox to\dimen\z@{%
+    \hsize=\dimen\z@
+    \vbox{\@nameuse{DT@body@1}}%
+  }%
+  \dimen\z@=\ht\z@
+  \advance\dimen0 by\dp\z@
+  \advance\dimen0 by-0.7\baselineskip
+  \ht\z@=0.7\baselineskip
+  \dp\z@=\dimen\z@
+  \par\leavevmode
+  \kern\DT@offset
+  \kern\DT@width
+  \box\z@
+  \endgraf
+  \DT@countii=\@ne
+  \DT@countiii=\z@
+  \dimen3=\dimen\z@
+  \@namedef{DT@lastlevel@1}{-0.7\baselineskip}%
+  \loop
+  \ifnum\DT@countii<\DT@counti
+    \advance\DT@countii \@ne
+    \advance\DT@countiii \@ne
+    \dimen\z@=\@nameuse{DT@level@\the\DT@countii}\DT@all
+    \advance\dimen\z@ by\DT@offset
+    \advance\dimen\z@ by-\DT@all
+    \leavevmode
+    \kern\dimen\z@
+    \DT@countiv=\DT@countii
+    \count@=\z@
+    \DT@loop
+      \advance\DT@countiv \m@ne
+      \ifnum\@nameuse{DT@level@\the\DT@countiv} >
+        \@nameuse{DT@level@\the\DT@countii}\relax
+      \else
+        \count@=\@ne
+      \fi
+    \ifnum\count@=\z@
+    \DT@repeat
+    \edef\DT@hsize{\the\hsize}%
+    \count@=\@nameuse{DT@level@\the\DT@countii}\relax
+    \dimen\z@=\count@\DT@all
+    \advance\hsize by-\dimen\z@
+    \setbox\z@=\vbox{\@nameuse{DT@body@\the\DT@countii}}%
+    \hsize=\DT@hsize
+    \dimen\z@=\ht\z@
+    \advance\dimen\z@ by\dp\z@
+    \advance\dimen\z@ by-0.7\baselineskip
+    \ht\z@=0.7\baselineskip
+    \dp\z@=\dimen\z@
+    \@nameedef{DT@lastlevel@\the\DT@countii}{\the\dimen3}%
+    \advance\dimen3 by\dimen\z@
+    \advance\dimen3 by0.7\baselineskip
+    \dimen\z@=\@nameuse{DT@lastlevel@\the\DT@countii}\relax
+    \advance\dimen\z@ by-\@nameuse{DT@lastlevel@\the\DT@countiv}\relax
+    \advance\dimen\z@ by0.3\baselineskip
+    \ifnum\@nameuse{DT@level@\the\DT@countiv} <
+        \@nameuse{DT@level@\the\DT@countii}\relax
+      \advance\dimen\z@ by-0.5\baselineskip
+    \fi
+    \kern-0.5\DT@rulewidth
+    \hbox{\vbox to\z@{\vss\hrule width\DT@rulewidth height\dimen\z@}}%
+    \kern-0.5\DT@rulewidth
+    \kern-0.5\DT@dotwidth
+    \vrule width\DT@dotwidth height0.5\DT@dotwidth depth0.5\DT@dotwidth
+    \kern-0.5\DT@dotwidth
+    \vrule width\DT@width height0.5\DT@rulewidth depth0.5\DT@rulewidth
+    \kern\DT@sep
+    \box\z@
+    \endgraf
+  \repeat
+  \parindent=\DT@indent
+  \parskip=\DT@parskip
+  \baselineskip=\DT@baselineskip
+  \let\strut\DT@strut
+}
+\def\DT@readarg.#1 #2. #3\@nil{%
+  \advance\DT@counti \@ne
+  \@namedef{DT@level@\the\DT@counti}{#1}%
+  \@namedef{DT@body@\the\DT@counti}{\strut{\DTstyle{#2}\strut}}%
+  \ifx\relax#3\relax
+    \let\next\@gobble
+  \fi
+  \next#3\@nil
+}
+\catcode`\@=\DTAtCode\relax
+\endinput
+%%
+%% End of file `dirtree.tex'.
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/document_ams.tex b/doc/documents_systemc_ams/USERS_GUIDE/document_ams.tex
new file mode 100644
index 0000000000000000000000000000000000000000..9e7da8be0cbcbf9b387ffa7ad1439254b6006b63
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/document_ams.tex
@@ -0,0 +1,602 @@
+%\setcounter{secnumdepth}{0}
+%\begin{appendix}
+
+\setcounter{section}{0}
+%\renewcommand{\thesection}{\Alph{section}}
+%\newcounter{AppendixCounter}
+%\setcounter{AppendixCounter}{1}
+%\renewcommand{\theAppendixCounter}{\Alph{AppendixCounter}}
+%\phantomsection
+%\addcontentsline{toc}{section}{Appendix~\theAppendixCounter: Source codes}
+%\section*{Appendix~\theAppendixCounter: Source codes}
+
+\section{Getting started}
+
+\subsection{Virtual Machine}
+
+In the \textit{Virtual Machine} version, tested under VirtualBox, TTool, as well as SoClib and MutekH
+%and SystemC-AMS 
+are preinstalled.
+You will require to fetch SystemC-AMS from the Accelera website, which requires registration:
+
+\texttt{www.accellera.org}
+
+Figure \ref{tree:vm} shows the relevant part of the Virtual Machine directory tree.
+The Virtual Machine uses bash and automatically configures all paths on invoking the script \texttt{systemc-env.sh}.
+
+\begin{figure}
+\dirtree{%
+.1 \$HOME/TTool/.
+.2 MPSoC/.
+.2 SysCAMSGeneratedCode/.
+.1 bin/.
+.2 systemc-env.sh.
+.2 .soclib/.
+.3 global.conf.
+.1 .bashrc.
+}
+  \caption{Virtual machine directory tree.}
+  \label{tree:vm}
+\end{figure}
+
+\subsection{Configuration under Linux}
+The following subsection describes an installation under Linux \footnote{Tested under Scientific Linux 6}. 
+Before installing TTool, a \texttt{global.config} file should be created under \texttt{\$HOME/.soclib/}. This file can found in Listing~\ref{code:global_conf_file}\footnote{
+The file is provided in the Virtual Machine version.}.
+
+In order to use TTool and SystemC-AMS for co-simulation,
+you need to install SystemC-AMS on your machine.
+SoCLib and MutekH are provided as part of the TTool free software distribution.
+
+SystemC-AMS is free but requires registration and is available at the following url:
+
+\texttt{www.accellera.org}
+
+Then, you require the systemc-env.sh file (by Torsten Maehne)
+This file can found in Listing~\ref{code:systemc-env} to set up the paths for compilation
+\footnote{
+The file is provided in the Virtual Machine version, in the bin directory.}.
+
+
+\begin{figure}[h]
+ % \begin{minted}[linenos, bgcolor=light-gray, fontsize=\scriptsize]{python}
+\begin{verbatim}
+# -*- python -*-
+import os
+syscams = os.getenv('SYSTEMC_AMS')
+assert syscams, ValueError("Must set $SYSTEMC_AMS")
+sysc = os.getenv('SYSTEMC')
+assert sysc, ValueError("Must set $SYSTEMC")
+
+config.systemc_ams = Config(
+        base = config.systemc,
+        cflags = ['-Iinclude', 
+              '-I'+sysc+'/include', 
+              '-I'+syscams+'/include'
+          ], 
+        libs = ['-Wl,-rpath='+sysc+'/lib-linux64', '-L'+sysc+'/lib-linux64', 
+            '-Wl,-rpath='+syscams+'/lib-linux64', '-L'+syscams+'/lib-linux64',
+        '-lsystemc-ams', '-lsystemc', '-lm' 
+        ],
+        )
+config.ams = Config(
+    base = config.default,
+    systemc = config.systemc_ams,
+    repos = "./obj/soclib-cc",
+    )
+config.default = config.ams
+\end{verbatim}
+%  \end{minted}
+  \caption{Code for the \texttt{soclib.conf} Configuration file.}
+  \label{code:soclib_conf_file}
+\end{figure}
+\newpage
+\begin{figure}[H]
+ % \begin{minted}[linenos, bgcolor=light-gray, fontsize=\scriptsize]{python}
+\begin{verbatim}
+   # -*- python -*-
+
+# SOCLIB environment definition
+def mkname():
+	try:
+		import os
+		import pwd
+		return pwd.getpwuid(os.getuid())[0]
+	except OSError:
+		try:
+			import os
+			return os.environ["LOGNAME"]
+		except KeyError:
+			return 'unknown'
+
+config.toolchain_64 = Toolchain(
+      parent        = config.toolchain,
+      max_processes = 3,
+      cflags        = config.toolchain.cflags+['-m64'],
+      )
+
+config.systemc_22_64 = Library(
+      parent = config.systemc,
+      dir    = "/opt/systemcams/systemc-2.3.1/",
+      cflags = config.systemc.cflags,
+      os     = "linux64",
+      )
+
+config.systemc_ams = Library(
+        parent = config.systemc,
+        dir    = "/opt/systemcams/systemc-ams-2.1",
+        cflags = ['-Iinclude', 
+              '-I/opt/systemcams/systemc-ams-2.1/include'
+          ], 
+        libs = ['-Wl,-rpath=/opt/systemcams/systemc-2.3.1/lib-linux64',
+        '-L/opt/systemcams/systemc-2.3.1/lib-linux64', 
+        '-Wl,-rpath=/opt/systemcams/systemc-ams-2.1/lib-linux64',
+        '-L/opt/systemcams/systemc-ams-2.1/lib-linux64',
+        '-lsystemc-ams', '-lsystemc', '-lm' 
+        ],
+        )
+
+# Definition of a new build environments, which can be referenced with 'soclib-cc -t'
+
+# SystemC 64bits environment
+config.systemc_64 = BuildEnv(
+      parent = config.build_env,
+      repos = "/home/%s/tmp/soclib_repos_64"%mkname(),
+      toolchain = config.toolchain_64,
+      libraries = [config.systemc_22_64, config.systemc_ams],
+      )
+
+config.default = config.systemc_64
+   
+      
+\end{verbatim}
+%  \end{minted}
+  \caption{Code for the \texttt{global.conf} Configuration file of SoCLib for TTool.}
+  \label{code:global_conf_file}
+\end{figure}
+
+\newpage
+\begin{figure}[h]
+%  \begin{minted}[linenos, bgcolor=light-gray, fontsize=\scriptsize]{cpp}
+\begin{verbatim}
+#!/bin/bash
+########################################################################
+# systemc-env.sh: Set up the environment for SystemC
+########################################################################
+# Author:  Torsten MAEHNE <Torsten.Maehne@lip6.fr>
+# Created: 2014-01-30
+########################################################################
+#
+# This shell script prepares the shell environment for building or
+# using the SystemC libraries. You can either source it from the command
+# line or in your .bashrc:
+#
+# . ./systemc-env.sh [--build-version=2.2|2.3.0|2.3.1]
+#                    [--build-type=Debug|Release] \
+#                    [-h|--help] \
+#                    [-v|--version] \
+#
+########################################################################
+
+########################################################################
+# Print help message
+########################################################################
+function systemc_environment_help_message() {
+    cat <<EOF
+This script should be sourced to prepare your environment for SystemC:
+. $0 [--build-version=2.2|2.3.0|2.3.1] [--build-type=Debug|Release]
+EOF
+}
+
+########################################################################
+# Print version message
+########################################################################
+function systemc_environment_version_message() {
+    cat <<EOF
+systemc-env.sh: Set up the environment for SystemC
+Author:  Torsten MAEHNE <Torsten.Maehne@lip6.fr>
+Version: unreleased
+EOF
+}
+\end{verbatim}
+%\end{minted}
+\end{figure}
+
+\begin{figure}[htb]
+%\begin{minted}[linenos, bgcolor=light-gray, fontsize=\scriptsize, firstnumber=40]{cpp}
+\begin{verbatim}
+########################################################################
+# Function to manipulate the path variable
+########################################################################
+path_append ()  { path_remove $1; export PATH="$PATH:$1"; }
+path_prepend () { path_remove $1; export PATH="$1:$PATH"; }
+path_remove ()  { export PATH=`echo -n $PATH | awk -v RS=: -v ORS=: '$0 != "'$1'"' | sed 's/:$//'`; }
+
+# Default SystemC version (either 2.2, 2.3.0, or 2.3.1)
+SYSTEMC_VERSION=2.3.1
+# Default SystemC build type (either Release or Debug)
+SYSTEMC_BUILD_TYPE=Release
+# Process the command line arguments
+for i in $*
+do
+    case $i in
+        --build-version=*)
+            SYSTEMC_VERSION=${i#*=}
+            ;;
+    	--build-type=*)
+	    SYSTEMC_BUILD_TYPE=${i#*=}
+	    ;;
+        -h | --help)
+            systemc_environment_help_message
+            exit 0
+            ;;
+        -v | --version)
+            systemc_environment_version_message
+            exit 0
+            ;;
+    	*)
+            # unknown option
+            echo "Error: Unknown option \"$i\"" 1>&2
+            exit 1
+            ;;
+    esac
+done
+
+case $SYSTEMC_BUILD_TYPE in
+    Debug)
+        SYSTEMC_BUILD_SUFFIX=dbg
+    ;;
+    Release)
+        SYSTEMC_BUILD_SUFFIX=rel
+    ;;
+    *)
+        echo "Error: Unknown build type \"$BUILD_TYPE\". Use either \"Debug\” or \"Release\"." 1>&2
+esac
+
+case $SYSTEMC_VERSION in
+    2.3.1)
+        export BOOST_ROOT=/usr
+        export SYSTEMC_ARCH=linux64
+        export TARGET_ARCH=        
+ 	    export SYSTEMC_ROOT=/opt/systemcams/systemc-2.3.1 
+        export SYSTEMC_HOME=$SYSTEMC_ROOT
+ 	    export SYSTEMC_AMS_HOME=/opt/systemcams/systemc-ams-2.1      
+  	    export SYSTEMC_INCLUDE_DIRS="-I$SYSTEMC_ROOT/include -I$SYSTEMC_AMS_HOME/include"
+        export SCV_HOME=$SYSTEMC_ROOT
+        export TLM_HOME=$SYSTEMC_ROOT
+        export SYSTEMC_LIBRARY_DIRS="-Wl,-rpath=$SYSTEMC_HOME/lib-$SYSTEMC_ARCH
+        -L$SYSTEMC_HOME/lib-$SYSTEMC_ARCH -Wl,-rpath=$SYSTEMC_AMS_HOME/lib-$SYSTEMC_ARCH
+        -L$SYSTEMC_AMS_HOME/lib-$SYSTEMC_ARCH"
+	    export PATH=$PATH:/opt/soclib/utils/bin:/opt/mipsel-unknown-elf/bin
+        ;;
+    *)
+        echo "Error: Unknown SystemC version \"$SYSTEMC_VERSION\". 1>&2
+        ;;
+esac
+
+export SYSTEMC=$SYSTEMC_HOME
+export TLM2=$TLM_HOME
+export SYSTEMC_AMS=$SYSTEMC_AMS_HOME
+\end{verbatim}
+%\end{minted}
+  \caption{Code for \texttt{systemc-env.sh}}
+  \label{code:systemc-env}
+\end{figure}
+Finally, you need to work under bash and set up your \texttt{.bashrc} as follows.
+As an example, the \texttt{.bashrc} file in the Virtual machine looks as follows, you might have to adapt it to your system configuration (Listing~\ref{code:bashrc}).
+\begin{figure}[tb]
+\begin{verbatim}
+# .bashrc
+# Source global definitions
+ if [ -f /etc/bashrc ]; then . /etc/bashrc; fi
+
+# User specific aliases and functions
+export PATH=$PATH:$HOME/bin:$HOME/TTool/MPSoC/soclib/utils/bin
+export PATH=$PATH:/opt/mutekh/bin
+export PATH=$PATH:/opt/jdk1.8.0_73/bin
+export PATH=$PATH:$HOME/cxtools/gcc_mips/obj/bin/
+export LD_LIBRARY_PATH=$HOME/TTool/MPSoC/mutekh/lib
+\end{verbatim}
+  \caption{Example for \texttt{.bashrc}}
+  \label{code:bashrc}
+\end{figure}
+
+\newpage
+\subsection{Installing and executing TTool}
+In order to install and execute TTool, run the following commands under the \texttt{\$HOME/TTool/} directory:
+
+\begin{verbatim}
+> make ttool
+> make install
+> ./ttool.exe
+\end{verbatim}
+
+After opening TTool, go to File>New Model. Right click on the design area and select ``New SystemC-AMS Block Diagram''. A new SystemC-AMS panel will open. Right click on the panel and select New SystemC-AMS Diagram.
+A new SystemC-AMS Component Diagram panel will open. In the same way, several SystemC-AMS Component Diagrams can be created inside the SystemC-AMS panel.
+
+\textbf{Remark:} It is also possible to compile and run TTool under gradle (recommended if unitary tests should be run). This is not part of the Virtual Machine implementation; the proceding is explained on the TTool web site.
+
+\section{TTool's usage scenario}
+\label{sec:appendix-usage-scenario}
+
+For this usage scenario, the TDF model shown in Figure~\ref{fig:8.usage_scenario_tdf_model} will be modeled and simulated in TTool. Module \textbf{A} will write a value of 2 to module \textbf{B}. Module \textbf{B} will read that value, multiply it by the last value received from the GPIO2VCI component, and transmit the result to the GPIO2VCI component which will be connected to the SoCLib interconnect component of an SoC platform. 
+
+
+\begin{figure}[h]
+    \centering
+    \includegraphics[width=0.8\textwidth]{fig/usage_scenario/tdf_cluster.pdf}
+    \caption{TDF Cluster model}
+    \label{fig:8.usage_scenario_tdf_model}
+\end{figure}
+
+
+\begin{figure}[h]
+    \centering
+    \includegraphics[width=0.7\textwidth]{fig/usage_scenario/tdf_cluster_creation.png}
+    \caption{TDF Cluster creation in the SystemC-AMS Component Diagram panel.}
+    \label{fig:8.tdf_cluster_creation}
+\end{figure}
+
+Inside the SystemC-AMS Component Diagram panel TDF clusters can be created. To create a TDF cluster click on the ``Cluster'' button, number 1 of Figure~\ref{fig:8.tdf_cluster_creation}, and click anywhere inside the SystemC-AMS Component Diagram panel to place the TDF Cluster block. Double-click to change the name of the TDF cluster. The size of the TDF cluster can be adjusted. 
+
+To add TDF module blocks, click on the ``TDF Block'' button, number 2 of Figure~\ref{fig:8.tdf_cluster_creation}, and click anywhere inside the TDF Cluster block to place the TDF Module block. To add a DE module block follow the same procedure, just start by clicking on the ``DE Block'' button, number 3 of Figure~\ref{fig:8.tdf_cluster_creation}. To add a GPIO2VCI block, click on the ``GPIO2VCI block'' button, number 4 of Figure~\ref{fig:8.tdf_cluster_creation}. GPIO2VCI blocks should be placed outside of the TDF Cluster block.
+
+
+The properties of the TDF module blocks can be set by double-clicking the block. A new window will open, as shown in Figures~\ref{fig:8.block_attributes_window1} to \ref{fig:8.block_attributes_window3}. In the Attributes panel the name and module timestep (Tm) including time units can be set, as Figure~\ref{fig:8.block_attributes_window1} shows. In the Parameters panel, seen in Figure~\ref{fig:8.block_attributes_window2}, the parameters of a TDF module such as its internal variables or template parameters can be also set up. In the Process Code panel, the \texttt{processing()} function of the module can be set, as Figure~\ref{fig:8.block_attributes_window3} shows. Finally, if constructor code needs to be added, it can be done in the Constructor Code panel. The attributes of the DE module blocks can be modified in the same way. The GPIO2VCI block has no attributes to be modified. 
+
+\begin{figure}[h]
+    \centering     
+         \includegraphics[width=0.6\textwidth, ]{fig/usage_scenario/block_attributes_window1.png}
+         \caption{Attributes panel}
+         \label{fig:8.block_attributes_window1}
+     \end{figure}
+
+  \begin{figure}[h]
+         \centering
+         \includegraphics[width=0.6\textwidth, ]{fig/usage_scenario/block_attributes_window2.png}
+         \caption{Parameters panel}
+         \label{fig:8.block_attributes_window2}
+     \end{figure}
+    
+
+\begin{figure}[h]
+         \centering
+         \includegraphics[width=0.6\textwidth, ]{fig/usage_scenario/block_attributes_window3.png}
+         \caption{Process Code panel}
+         \label{fig:8.block_attributes_window3}
+\end{figure}
+
+\begin{figure}[h]
+    \centering
+    \includegraphics[width=0.45\textwidth]{fig/usage_scenario/port_attributes.png}
+    \caption{Setting port attributes.}
+    \label{fig:8.port_attributes}
+\end{figure}
+
+When the required modules have been created they need to be connected through their ports. The TDF ports and converter ports can be added to the TDF module blocks. Click on the ``TDF port'' button, number 5 of Figure~\ref{fig:8.tdf_cluster_creation}, to add a TDF port. Click on the ``Converter port'' button, number 6 of Figure~\ref{fig:8.tdf_cluster_creation}, to add a TDF converter port. DE ports can be added to the DE blocks and to the GPIO2VCI block by clicking on the DE port button, number 7 of Figure~\ref{fig:8.tdf_cluster_creation}. The attributes of the ports can be modified by double-clicking a port, as shown in Figure~\ref{fig:8.port_attributes}. The name, timestep (Tp) along with the time units, rate, delay, type and origin of the port can be modified. Note that if a TDF module or a DE module will be connected to the GPIO2VCI component, the type \texttt{sc\_uint<32>} should be selected as shown in Figure~\ref{fig:8.port_attributes}.
+For DE ports, the port can be added to the sensitivity list of the module by enabling the Sensitive field and selecting if the port will be sensitive to a positive or negative edge of the incoming signal or \texttt{null} for any incoming signal change.
+To connect the blocks, click the ``Connector'' button, number 8 of  Figure~\ref{fig:8.tdf_cluster_creation}, and then click an output port to connect it with an input port. 
+
+Once a TDF cluster model has been created. The next step is to validate the correctness of the model. This is done by clicking on the ``Generate SystemC-AMS code'' button, as shown in number 9 from Figure~\ref{fig:8.tdf_cluster_creation}. This will open a new window, where validation of the model and code generation can be made. Click on the ``Start'' button to start the validation of the model, as shown in Figure~\ref{fig:8.validate_model1}. The Validation panel will display a message stating if there is an error with the model and make suggestions on how to fix it. If the model is valid, then a success message will be displayed and the Generate Code panel will open, as shown in Figure~\ref{fig:8.validate_model2}. Click on the ``Start'' button again to generate the SystemC-AMS code for the model. 
+
+\begin{figure}[h]
+  
+         \centering
+         \includegraphics[width=0.6\textwidth]{fig/usage_scenario/validate_model1.png}
+         \caption{Validation panel}
+         \label{fig:8.validate_model1}
+     \end{figure}
+
+\begin{figure}[h]
+         \centering
+         \includegraphics[width=0.6\textwidth]{fig/usage_scenario/validate_model2.png}
+         \caption{Generate Code panel}
+         \label{fig:8.validate_model2}
+     \end{figure}
+   
+In parallel, the Software Design and the Deployment Diagrams can be created. Right click on the tabs section of the design area and select ``New Design'' to create a new Software Design panel. A Block diagram can be created there, as shown in Figure~\ref{fig:8.usage_scenario_block_diagram}. Click on the ``Block'' button, number 1 of Figure~\ref{fig:8.usage_scenario_block_diagram}, to add a new block. Note that a new panel is created automatically, with the name of the block. Go to the \textbf{Block0} panel. Here, state machine diagrams that allow to design the software can be created, as shown in Figure~\ref{fig:8.usage_scenario_fsm_diagram}. For this model, one state will be added by clicking on the ``State'' button, number 1 of Figure~\ref{fig:8.usage_scenario_fsm_diagram}, and placing it in the panel. 
+A stop block can be added by clicking the ``Stop'' button, number 2 of Figure~\ref{fig:8.usage_scenario_fsm_diagram}. Finally the states should be connected by clicking the ``Connect'' button, number 3 of Figure~\ref{fig:8.usage_scenario_fsm_diagram}.
+
+\begin{figure}[h]
+    \centering
+    \includegraphics[width=0.6\textwidth]{fig/usage_scenario/usage_scenario_block_diagram.png}
+    \caption{Software design Block Diagram panel.}
+    \label{fig:8.usage_scenario_block_diagram}
+\end{figure}
+
+\begin{figure}[h]
+    \centering
+    \includegraphics[width=0.6\textwidth]{fig/usage_scenario/usage_scenario_fsm_diagram.png}
+    \caption{Software design State Machine Diagram panel.}
+    \label{fig:8.usage_scenario_fsm_diagram}
+\end{figure}
+
+By double-clicking the state block, C code can be entered manually in the Prototyping tab. Here is where the functions to communicate to the GPIO2VCI component can be added as shown in Figure~\ref{fig:8.usage_scenario_state_block_code}. For the software of this model, a value of 5 will be written to the GPIO2VCI component. This value will be transmitted to the TDF cluster components. Then the output from the TDF cluster will be read and printed to the TTY component of the model. The code is shown in Listing~\ref{code:8.usage_scenario_state_block_code}. 
+
+
+\begin{figure}[htb]
+    \centering
+    \includegraphics[width=0.45\textwidth]{fig/usage_scenario/usage_scenario_state_block_code.png}
+    \caption{State block Prototyping panel .}
+    \label{fig:8.usage_scenario_state_block_code}
+\end{figure}
+
+\begin{figure}[htb]
+\begin{verbatim}
+tmp = read_gpio2vci("TDF_Cluster");
+printf("Value read from TDF Cluster: %d\n", tmp);
+write_gpio2vci(5, "TDF_Cluster");
+tmp = read_gpio2vci("TDF_Cluster");
+printf("Value read from TDF Cluster: %d\n", tmp);
+\end{verbatim}
+  \caption{State block code.}
+  \label{code:8.usage_scenario_state_block_code}
+\end{figure}
+
+Note that the code is using a variable \texttt{tmp}. To create the variable in the Block Diagram panel, double click \textbf{Block0} to open the attributes window for the block, as shown in Figure~\ref{fig:8.block0_attributes}. In the Attributes panel, new variables can be added by giving an identifier name, an initial value and a type.
+
+\begin{figure}[h]
+    \centering
+    \includegraphics[width=0.45\textwidth]{fig/usage_scenario/block0_attributes.png}
+    \caption{Block diagram's Block attributes.}
+    \label{fig:8.block0_attributes}
+\end{figure}
+
+Once that the software design is complete, the MPSoC model needs to be created in the Deployment Diagram. Here, the user can insert SoCLib components and the TDF clusters. To insert a CPU click the ``CPU'' button, number 1 of Figure~\ref{fig:8.dd_creation}. Double click the CPU block and setup the necessary attributes.
+To add a RAM memory click on the ``RAM'' button, number 2 of Figure~\ref{fig:8.dd_creation}. Double click the RAM block and set up its attributes. 
+To add a TTY console click on the ``TTY'' button, number 3 of Figure~\ref{fig:8.dd_creation}. Finally an interconnect component needs to be added, by clicking the ``VGMN'' button, number 4 of Figure~\ref{fig:8.dd_creation}. To map the software blocks from the Block Diagram into a specific CPU, click the ``Map and AVATAR block'' button, number 5 of Figure~\ref{fig:8.dd_creation}, and place it under the CPU. Double click the block inside the CPU and select the name of the block that is mapped to that CPU. 
+
+
+\begin{figure}[h]
+         \centering
+         \includegraphics[width=0.85\textwidth]{fig/usage_scenario/dd_creation.png}
+         \caption{Adding SystemC-AMS Clusters to the Deployment Diagram.}
+         \label{fig:8.dd_creation}
+\end{figure}
+
+In order to include the TDF clusters into the MPSoC model, they need to be added as SystemC-AMS Cluster blocks in the Deployment Diagram. To add a new SystemC-AMS Cluster block, click on the ``Cluster'' button, number 6 of Figure~\ref{fig:8.dd_creation}, and place the block in the Deployment Diagram panel. The name of the SystemC-AMS Cluster block should be the same name provided in the SystemC-AMS Component diagram. All the blocks should be connected to a SoCLib interconnect component using a connector, number 7 of Figure~Figure~\ref{fig:8.dd_creation}. Once the necessary SystemC-AMS Cluster blocks have been added, the topcell from the Deployment Diagram model can be generated. In the Deployment Diagram Panel, click on the ``Syntax analysis'' button, number 8 of Figure~\ref{fig:8.dd_creation}. This will open a new window to verify the syntax of the model, as shown in Figure~\ref{fig:8.dd_syntax}. Click on the ``Check syntax'' button. If there are any syntax errors, a message will be displayed, otherwise we can proceed to the generation of the topcell. 
+
+\begin{figure}[h]
+         \centering
+         \includegraphics[width=0.5\textwidth]{fig/usage_scenario/dd_syntax.png}
+         \caption{Check syntax window.}
+         \label{fig:8.dd_syntax}
+\end{figure}
+
+\begin{figure}[H]
+         \centering
+         \includegraphics[width=0.5\textwidth]{fig/usage_scenario/topcell_code_generation1.png}
+         \caption{Code generation window.}
+         \label{fig:8.topcell_code_generation1}
+\end{figure}
+
+Click on the ``Generate Deploy SoCLib'' button in the Deployment Diagram panel, number 9 of Figure~\ref{fig:8.dd_creation}. A new window will be opened where the topcell code can be generated, compiled and executed. In Figure~\ref{fig:8.topcell_code_generation1}, the Generate Code panel is shown, where several option can be chosen, including the tracing capabilities and debugging information. Click ``Start'' to generate the topcell \texttt{top.cc} code and the software code. Then in the Compile panel, click ``Start'' to compile the code. Finally in the Execute panel, click ``Start'' to begin the simulation of the virtual prototype of the model.
+
+Figure~\ref{fig:8.model_sim_output} shows the TTY console from the model. In the last lines, the values being read from the TDF cluster are printed. The first value is 0, since nothing have been written to the TDF cluster. The last value is 10, since a value of 5 was written to the TDF cluster, and it is being multiplied by the value 2 generated from the TDF module \textbf{A}.
+\begin{figure}[H]
+         \centering
+         \includegraphics[width=0.7\textwidth]{fig/usage_scenario/model_sim_output.png}
+         \caption{Simulation output from the TTY component of the model.}
+         \label{fig:8.model_sim_output}
+\end{figure}
+
+
+
+\newpage
+\clearpage
+\section{Directory tree of source code and generated files}
+\label{sec:appendix-dir-tree}
+
+In this section, the directory tree of all source files modified for this project and all the generated files is shown. Listing~\ref{tree:generated_source_code} shows the location of the automatically generated files from TTool. The SystemC-AMS generated files for the TDF clusters are stored under the \texttt{generated\_CPP/} directory, and the generated files for the TDF modules are stored under the \texttt{generated\_H/} directory. The generated source code files for the software of the virtual prototype are stored under the \texttt{generated\_src/} directory. The generated topcell is stored in the \texttt{generated\_topcell/} directory.
+
+\begin{figure}[h]
+\dirtree{%
+.1 \$HOME/TTool/.
+.2 SysCAMSGenerationCode/.
+.3 generated\_CPP/.
+.4 *\_tdf.h.
+.3 generated\_H/.
+.4 *\_tdf.h.
+.2 MPSoC/.
+.3 generated\_src/.
+.4 main.c.
+.4 Block0.c.
+.3 generated\_topcell/.
+.4 top.cc.
+}
+  \caption{Generated code files directories.}
+  \label{tree:generated_source_code}
+\end{figure}
+
+The GPIO2VCI component was created under the \texttt{connectivity\_component/} directory, as shown in Listing~\ref{tree:gpio2vci_dir}
+
+\begin{figure}[h]
+\dirtree{%
+.1 \$HOME/TTool/MPSoC/soclib/soclib/module/connectivity\_component/gpio2vci/caba/.
+.2 metadata/.
+.3 gpio2vci.sd.
+.3 source/include/.
+.4 gpio2vci.h.
+.3 source/src/.
+.4 gpio2vci.cpp.
+}
+  \caption{GPIO2VCI component directories.}
+  \label{tree:gpio2vci_dir}
+\end{figure}
+
+\newpage
+Listing~\ref{tree:ttool_java_files} shows the java files that were modified or created as part of the integration of the SystemC-AMS modules and SoCLib modules into TTool.
+
+\begin{figure}[htb]
+\dirtree{%
+.1 \$HOME/TTool/src/main/java/.
+.2 ui/.
+.3 window/.
+.4 JDialogSysCAMSExecutableCodeGeneration.java.
+.4 JDialogSysCAMSBlockDE.java.
+.4 JDialogSysCAMSBlockTDF.java.
+.4 JDialogSysCAMSPortConverter.java.
+.4 JDialogSysCAMSPortDE.java.
+.4 JDialogSysCAMSPortTDF.java.
+.3 AvatarDeploymentPanelTranslator.java.
+.2 syscamstranslator/.
+.3 toSysCAMSCluster/.
+.4 ClusterCode.java.
+.4 Header.java.
+.4 PrimitiveCode.java.
+.4 TopCellGeneratorCluster.java.
+.3 SysCAMSTBlockTDF.java.
+.3 SysCAMSSpecification.java.
+.3 SysCAMSTPortDE.java.
+.3 SysCAMSTPortTDF.java.
+.3 SysCAMSTPortConverter.java.
+.3 SysCAMSValidateException.java.
+.2 ddtranslatorSoclib/.
+.3 toSoclib/.
+.4 Gpio2VciAddress.java.
+.4 TaskFileSoclib.java.
+.4 TasksAndMainGenerator.java.
+.3 toTopCell/.
+.4 Declaration.java.
+.4 Header.java.
+.4 MappingTable.java.
+.4 NetList.java.
+.4 Platforminfo.java.
+.4 Signal.java.
+.4 TopCellGenerator.java.
+.3 AvatarAmsCluster.java.
+.3 AvatarddSpecification.java.
+}
+  \caption{Java files created or modified for the integration of SystemC-AMS and SoCLib modules.}
+  \label{tree:ttool_java_files}
+\end{figure}
+
+\newpage
+The \texttt{libsyscams} library created to provide interface functions for communication with the GPIO2VCI component is shown under Listing~\ref{tree:libsyscams}.
+
+\begin{figure}[htb]
+\dirtree{%
+.1 \$HOME/TTool/MPSoC/mutekh/libsyscams/.
+.2 gpio2vci\_address.c.
+.2 gpio2vci\_address.h.
+.2 gpio2vci\_iface.c.
+.2 gpio2vci\_iface.h.
+.2 libsyscams.config.
+.2 Makefile.
+}
+  \caption{\texttt{libsyscams} library source files.}
+  \label{tree:libsyscams}
+\end{figure}
+
+Listing~\ref{tree:other_files} shows other files that were modified as part of the integration tasks.
+
+\begin{figure}[H]
+\dirtree{%
+.1 \$HOME/TTool/MPSoC/.
+.2 Makefile.forsoclib.
+.2 generated\_topcell/.
+.3 config\_noproc.
+}
+  \caption{Other modified files for the integration tasks.}
+  \label{tree:other_files}
+\end{figure}
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/block0_attributes.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/block0_attributes.png
new file mode 100644
index 0000000000000000000000000000000000000000..40b8538b06d77b7aafa68599a28ec94f3d6ed5d2
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/block0_attributes.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/block_attributes_window1.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/block_attributes_window1.png
new file mode 100644
index 0000000000000000000000000000000000000000..1861807a4b36e865de3fe7015adcbb91294160c8
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/block_attributes_window1.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/block_attributes_window2.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/block_attributes_window2.png
new file mode 100644
index 0000000000000000000000000000000000000000..76f819838f07cdcb0b501ec675ebf81d0f0cbd0c
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/block_attributes_window2.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/block_attributes_window3.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/block_attributes_window3.png
new file mode 100644
index 0000000000000000000000000000000000000000..207ddd59ae5eaea60c232734d33fcd6c71fbf08e
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/block_attributes_window3.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/dd_creation.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/dd_creation.png
new file mode 100644
index 0000000000000000000000000000000000000000..0bdf5ecb8bc1bad2a93da13f1703514a23237134
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/dd_creation.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/dd_syntax.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/dd_syntax.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f93df70469ee5bc99dba26cbfdbfddc8c541c94
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/dd_syntax.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/model_sim_output.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/model_sim_output.png
new file mode 100644
index 0000000000000000000000000000000000000000..648a8ec76900dedcc980353de5218def71595838
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/model_sim_output.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/port_attributes.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/port_attributes.png
new file mode 100644
index 0000000000000000000000000000000000000000..d544c18abf9a5f1babd084e5de77cf5a4b6fe8cc
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/port_attributes.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/tdf_cluster.pdf b/doc/documents_systemc_ams/USERS_GUIDE/fig/tdf_cluster.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..91d95ba2c2b68b28f1220d3b45a30c19f9a7dd5b
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/tdf_cluster.pdf differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/tdf_cluster_creation.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/tdf_cluster_creation.png
new file mode 100644
index 0000000000000000000000000000000000000000..55559cb3e273ea1706c92e2e9074f24936713586
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/tdf_cluster_creation.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/topcell_code_generation1.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/topcell_code_generation1.png
new file mode 100644
index 0000000000000000000000000000000000000000..5368371a373d3f0d2bba238a09b8a4e50ef543b3
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/topcell_code_generation1.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/usage_scenario_block_diagram.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/usage_scenario_block_diagram.png
new file mode 100644
index 0000000000000000000000000000000000000000..d49728c5c910cb5ad946d21cee72f707927c96dd
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/usage_scenario_block_diagram.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/usage_scenario_fsm_diagram.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/usage_scenario_fsm_diagram.png
new file mode 100644
index 0000000000000000000000000000000000000000..b517563280806358971f7e4c6e45081a114e3621
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/usage_scenario_fsm_diagram.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/usage_scenario_state_block_code.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/usage_scenario_state_block_code.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b1ad4779b42d2133ea7058ec2ed4b4e76ffd3a3
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/usage_scenario_state_block_code.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/validate_model1.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/validate_model1.png
new file mode 100644
index 0000000000000000000000000000000000000000..73ec2e2eccd329ac430df2388fcbd579af6542ab
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/validate_model1.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/fig/validate_model2.png b/doc/documents_systemc_ams/USERS_GUIDE/fig/validate_model2.png
new file mode 100644
index 0000000000000000000000000000000000000000..869b480fd888c5154a83eac546610d157f006ad7
Binary files /dev/null and b/doc/documents_systemc_ams/USERS_GUIDE/fig/validate_model2.png differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/floatflt.sty b/doc/documents_systemc_ams/USERS_GUIDE/floatflt.sty
new file mode 100644
index 0000000000000000000000000000000000000000..4396042f3e18429e649e81caaac090c67610e40c
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/floatflt.sty
@@ -0,0 +1,348 @@
+%%
+%% This is file `floatflt.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% floatflt.dtx  (with options: `paketkod')
+%% 
+%% Copyright (c) 1994-1998 by Mats Dahlgren <matsd@sssk.se>.
+%% All rights reserved.  See the file `floatflt.ins' for information
+%% on how you may (re-)distribute the `floatflt' package files.
+%% You are not allowed to make any changes to this file without
+%% explicit permission from the author.
+%% 
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+\ProvidesPackage{floatflt}[1997/07/16 v. 1.31]
+\newcounter{OptionTest}
+\setcounter{OptionTest}{0}
+\DeclareOption{rflt}{\setcounter{OptionTest}{1}}
+\DeclareOption{lflt}{\setcounter{OptionTest}{2}}
+\DeclareOption{vflt}{\setcounter{OptionTest}{0}}
+\DeclareOption*{\OptionNotUsed}
+\ProcessOptions
+\newbox\figbox
+\newbox\tabbox
+\newbox\pagebox
+\newcount\ffigcount
+\newcount\ftabcount
+\newcount\fftest
+\newcount\hangcount
+\newcount\nosuccesstryfig
+\newcount\nosuccesstrytab
+\newdimen\figgutter   \figgutter=1truepc
+\newdimen\tabgutter   \tabgutter=1truepc
+\newdimen\htdone      \htdone=0pt
+\newdimen\pageht
+\newdimen\startpageht
+\newdimen\tabbredd
+\newdimen\floatfltwidth
+\newdimen\fltitemwidth
+\newif\iftryingfig     \tryingfigfalse
+\newif\iftryingtab     \tryingtabfalse
+\newif\ifdoingfig      \doingfigfalse
+\newif\ifdoingtab      \doingtabfalse
+\newif\iffigprocessing \figprocessingfalse
+\newif\iftabprocessing \tabprocessingfalse
+\newif\ifpageafterfig  \pageafterfigfalse
+\newif\ifpageaftertab  \pageaftertabfalse
+\newif\ifoddpages
+\newif\ifoutput
+\newtoks\outputpretest
+\newenvironment{floatingfigure}[2][v]%
+{\@tfor \@tempa :=#1\do
+         {\if\@tempa r\global\oddpagestrue\fi
+          \if\@tempa l\global\oddpagesfalse\fi
+          \if\@tempa p%
+              \ifodd\c@page\global\oddpagestrue
+                \else\global\oddpagesfalse\fi
+          \fi
+          \if\@tempa v%
+             \ifnum\theOptionTest=0
+                 \ifodd\c@page\global\oddpagestrue
+                   \else\global\oddpagesfalse\fi
+             \else
+                  \ifodd\theOptionTest\global\oddpagestrue
+                    \else\global\oddpagesfalse\fi
+             \fi
+          \fi
+         }
+ \expandafter\ifx\csname oldoutput\endcsname\relax% ref. TeXbook Ex.7.7
+    \PackageError{floatflt}{The `floatflt' package is not initialized}
+     {Try to reinstall the `floatflt' package.\MessageBreak
+      Type `x' to quit or <Return> to try to go on.}\@@end\fi
+ \global\everypar={\tryfig\oldeverypar}% must be set globally!
+ \global\advance\ffigcount by 1
+ \iffigprocessing
+    {\count0=\ffigcount\advance\count0 by -1
+     \PackageWarningNoLine{floatflt}{Floating figures \the\count0\space%
+       \space and \the\ffigcount\space colliding}%
+    }%
+ \fi
+ \iftabprocessing \PackageWarningNoLine{floatflt}{Floating figure %
+   \the\ffigcount\space and floating table \the\ftabcount\space colliding}
+ \fi
+ \def\@captype{figure}
+ \global\setlength{\floatfltwidth}{#2}
+ \global\figprocessingtrue
+ \global\setbox\figbox=\vbox\bgroup% begin of figbox
+                               \hrule height 0pt width #2 depth 0pt%
+                               \hsize=#2%
+}
+{
+\egroup
+\figinsert\par%
+}
+\newenvironment{floatingtable}[2][v]%
+{\@tfor \@tempa :=#1\do
+         {\if\@tempa r\global\oddpagestrue\fi
+          \if\@tempa l\global\oddpagesfalse\fi
+          \if\@tempa p%
+              \ifodd\c@page\global\oddpagestrue
+                \else\global\oddpagesfalse\fi
+          \fi
+          \if\@tempa v%
+             \ifnum \theOptionTest=0
+                 \ifodd\c@page\global\oddpagestrue
+                   \else\global\oddpagesfalse\fi
+             \else
+                  \ifodd\theOptionTest\global\oddpagestrue
+                    \else\global\oddpagesfalse\fi
+             \fi
+          \fi
+         }
+\expandafter\ifx\csname oldoutput\endcsname\relax% ref. TeXbook Ex.7.7
+     \PackageError{floatflt}{The `floatflt' package is not initialized}
+     {Try to reinstall the `floatflt' package.\MessageBreak
+      Type `x' to quit or <Return> to try to go on.}\@@end\fi
+\global\setbox\tabbox=\vbox\bgroup\hrule height 0pt width 0pt depth 0pt%
+   \hsize=0pt\egroup
+ \global\everypar={\trytab\oldeverypar}
+ \global\advance\ftabcount by 1
+ \iftabprocessing
+    {\count0=\ftabcount\advance\count0 by -1
+     \PackageWarningNoLine{floatflt}{Floating tables \the\count0\space%
+            \space and \the\ftabcount \space colliding}%
+    }
+ \fi
+ \iftabprocessing \PackageWarningNoLine{floatflt}{Floating table %
+   \the\ffigcount\space and floating figure \the\ftabcount\space colliding}
+ \fi
+ \settowidth{\tabbredd}{#2}
+ \global\setlength{\floatfltwidth}{\tabbredd}
+ \def\@captype{table}
+ \global\tabprocessingtrue
+ \global\setbox\tabbox=\vbox\bgroup% begin of tabbox
+                              \hrule height 0pt width\tabbredd depth 0pt%
+                               \hsize=\tabbredd
+\noindent\ifnum\ftabcount >1\ifoddpages\else\hspace*{-12pt}\fi\fi%
+#2\vspace{0.2\baselineskip}%
+}
+{
+\egroup% end of \tabbox
+\tabinsert\par%
+}
+\AtBeginDocument{%
+\edef\oldoutput{\the\output}%
+\output={\the\outputpretest%
+           \ifoutput\oldoutput\fi}
+\outputpretest={\outputtrue}
+\edef\oldeverypar{\the\everypar}
+}
+\def\dofigtest{%
+   \ifnum\outputpenalty=-10005
+     \setbox\pagebox=\vbox{\unvbox255}%
+     \global\pageht=\ht\pagebox
+     \global\outputfalse
+     \unvbox\pagebox
+   \else
+     \global\outputtrue
+     \ifdoingfig
+         \global\pageafterfigtrue
+     \fi
+   \fi}%
+\def\dotabtest{%
+   \ifnum\outputpenalty=-10005
+     \setbox\pagebox=\vbox{\unvbox255}%
+     \global\pageht=\ht\pagebox
+     \global\outputfalse
+     \unvbox\pagebox
+   \else
+     \global\outputtrue
+     \ifdoingtab
+         \global\pageaftertabtrue
+     \fi
+   \fi}%
+\def\tryfig{%
+      \iftryingfig
+       {\everypar={\relax}\setbox0=\lastbox%
+       \parindent=\wd0 \parskip=0pt \par%
+       \penalty-10005 \leavevmode}%
+       \dimen0=\vsize%
+       \advance\dimen0 by -\pageht%
+       \advance\dimen0 by -2\baselineskip%
+       \ifdim\dimen0>\ht\figbox%
+         \dimen0=0.3\baselineskip
+         \vrule depth \dimen0 width 0pt
+         \vadjust{\kern -\dimen0%
+         \vtop to \dimen0{%
+             \baselineskip=\dimen0%
+             \vss \vbox to 1ex{%
+             \ifoddpages%
+               \hbox to \hsize{\hss\copy\figbox}%
+             \else% leftsetting
+               \hbox to \hsize{\copy\figbox\hss}%
+             \fi% \ifodd\count0
+             \vss}\null}}%
+       \global\tryingfigfalse%
+       \global\doingfigtrue
+       \global\startpageht=\pageht
+       \global\htdone=0pt
+       \dohangf
+       \ifnum\nosuccesstryfig>0%
+         \typeout{floatflt Message: Flt. fig. \the\ffigcount\space set on page
+             \the\count0, shifted \the\nosuccesstryfig\space par(s) forward.}%
+       \else
+         \typeout{Package floatflt Message: Floating figure \the\ffigcount
+              \space set on page \the\count0}%
+       \fi
+     \else
+       \global\advance\nosuccesstryfig by 1
+     \fi
+     \else%
+     \ifdoingfig
+       {\everypar={\relax}\setbox0=\lastbox
+       \parindent=\wd0 \parskip=0pt \par
+         \penalty-10005 \leavevmode}%
+    \global\htdone=\pageht
+    \global\advance\htdone by -\startpageht
+    \ifpageafterfig
+      \global\doingfigfalse
+    \else
+      \dimen0=\ht\figbox%
+      \advance\dimen0 by 0.5\baselineskip%
+      \ifdim\htdone<\dimen0%
+         \dohangf
+      \else
+         \global\doingfigfalse
+      \fi
+    \fi
+    \ifdoingfig\relax\else\global\figprocessingfalse\fi
+  \else
+    \global\outputpretest={\outputtrue}%
+  \fi
+\fi
+}
+\def\trytab{%
+      \iftryingtab%
+       {\everypar={\relax}\setbox0=\lastbox%
+       \parindent=\wd0 \parskip=0pt \par%
+       \penalty-10005 \leavevmode}%
+       \dimen0=\vsize%
+       \advance\dimen0 by -\pageht%
+       \advance\dimen0 by -2\baselineskip%
+       \ifdim\dimen0>\ht\tabbox%
+         \dimen0=0.3\baselineskip
+         \vrule depth \dimen0 width 0pt
+         \vadjust{\kern -\dimen0%
+         \vtop to \dimen0{%
+             \baselineskip=\dimen0%
+             \vss \vbox to 1ex{%
+              \ifoddpages%
+               \hbox to \hsize{\hss\copy\tabbox}%
+             \else% leftsetting
+               \hbox to \hsize{\copy\tabbox\hss}%
+             \fi% \ifodd\count0
+             \vss}\null}}%
+       \global\tryingtabfalse%
+       \global\doingtabtrue
+       \global\startpageht=\pageht
+       \global\htdone=0pt
+       \dohangt
+       \ifnum\nosuccesstrytab>0%
+         \typeout{floatflt Message: Flt. tab. \the\ftabcount\space set on page
+             \the\count0, shifted \the\nosuccesstrytab\space par(s) forward.}%
+       \else
+         \typeout{Package floatflt Message: Floating table \the\ftabcount\space
+                  set on page \the\count0}%
+       \fi
+     \else
+       \global\advance\nosuccesstrytab by 1
+     \fi
+     \else
+     \ifdoingtab
+       {\everypar={\relax}\setbox0=\lastbox
+       \parindent=\wd0 \parskip=0pt \par
+         \penalty-10005 \leavevmode}%
+    \global\htdone=\pageht
+    \global\advance\htdone by -\startpageht
+    \ifpageaftertab
+      \global\doingtabfalse
+    \else
+      \dimen0=\ht\tabbox%
+      \advance\dimen0 by 0.5\baselineskip%
+      \ifdim\htdone<\dimen0%
+         \dohangt
+      \else
+         \global\doingtabfalse
+      \fi
+    \fi
+    \ifdoingtab\relax\else\global\tabprocessingfalse\fi
+  \else
+    \global\outputpretest={\outputtrue}%
+  \fi
+\fi
+}
+\def\figinsert{%
+   \global\nosuccesstryfig=0%
+   \global\outputpretest={\dofigtest}%
+   \global\tryingfigtrue \global\doingfigfalse%
+   \global\pageafterfigfalse}%
+\def\tabinsert{%
+   \global\nosuccesstrytab=0%
+   \global\outputpretest={\dotabtest}%
+   \global\tryingtabtrue \global\doingtabfalse%
+   \global\pageaftertabfalse}%
+\def\dohangf{%
+   \dimen0=\ht\figbox%
+   \advance\dimen0 by -\htdone%
+   \advance\dimen0 by 1.49\baselineskip%
+   \hangcount=\dimen0%
+   \divide\hangcount by \baselineskip%
+   \dimen0=\wd\figbox%
+   \advance\dimen0 by \figgutter%
+   \ifoddpages%
+     \global\hangafter=-\hangcount% placing right
+     \global\hangindent=-\dimen0%
+   \else% \ifleftsetting
+     \global\hangafter=-\hangcount% placing left
+     \global\hangindent=\dimen0%
+   \fi
+}
+\def\dohangt{%
+   \dimen0=\ht\tabbox%
+   \advance\dimen0 by -\htdone%
+   \advance\dimen0 by 1.49\baselineskip%
+   \hangcount=\dimen0%
+   \divide\hangcount by \baselineskip%
+   \dimen0=\wd\tabbox%
+   \advance\dimen0 by \tabgutter%
+   \ifoddpages%
+     \global\hangafter=-\hangcount% placing right
+     \global\hangindent=-\dimen0%
+   \else% \ifleftsetting
+     \global\hangafter=-\hangcount% placing left
+     \global\hangindent=\dimen0%
+   \fi
+}
+\newcommand{\fltitem}[2][0pt]{\setlength{\fltitemwidth}{\linewidth}%
+  \addtolength{\fltitemwidth}{-\floatfltwidth}%
+  \addtolength{\fltitemwidth}{-0.5em}%
+  \item \parbox[t]{\fltitemwidth}{#2}\\[#1]}
+\newcommand{\fltditem}[3][0pt]{\setlength{\fltitemwidth}{\linewidth}%
+  \addtolength{\fltitemwidth}{-\floatfltwidth}%
+  \addtolength{\fltitemwidth}{-0.5em}%
+  \item[#2] \parbox[t]{\fltitemwidth}{#3}\\[#1]}
+\endinput
+%%
+%% End of file `floatflt.sty'.
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/listing.sty b/doc/documents_systemc_ams/USERS_GUIDE/listing.sty
new file mode 100644
index 0000000000000000000000000000000000000000..3592501e5b7d12b4fc26a56a87921d267674e15f
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/listing.sty
@@ -0,0 +1,132 @@
+%%----------------------------------------------------------------------
+%% listing.sty
+%
+% LaTeX package for typesetting listings. 
+% Documentation at end of file after \endinput.
+%
+% Requires LaTeX2e (or newer).
+%
+%
+% (C) Copyright 1994, 1996, 1999 by:
+%
+% Matthew Hebley, Volker Kuhlmann
+% University of Canterbury
+% EEE Dept
+% Christchurch, New Zealand
+% E-Mail: v.kuhlmann@elec.canterbury.ac.nz
+%         (Matthew is no longer available for contact, email or otherwise)
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License, distributed from CTAN
+% archives as macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+%
+%
+% HISTORY:
+%
+% 1.2   25 May 1999	Re-published under the LPPL. No other change.
+% 1.1   07 Feb 96	Added setting of \thelisting with the book and
+%			report document classes.
+% 1.0   19 Aug 94	Created.
+%
+%%----------------------------------------------------------------------
+
+\def\filename{listing}
+\def\fileversion{V1.2}
+\def\filedate{1999/05/25}
+
+
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\ProvidesPackage{\filename}[\filedate]
+\typeout{Package `\filename', \fileversion, <\filedate>}
+
+
+\newcounter{listing}
+\setcounter{listing}{0}
+
+\newenvironment{listing}{%
+   \newcommand{\@captype}{listing}%
+   \@ifundefined{@bigcaptionflag}{}{%
+      \def\@makecaption##1##2{%
+         \vskip \abovecaptionskip 
+         \@listingsection*{##1:~##2}% 
+         \vskip \belowcaptionskip 
+         }
+      }
+   }%
+   {}
+
+\newcommand{\listingname}{Listing}
+\newcommand{\listlistingname}{List of Listings}
+
+\newcommand{\ext@listing}{lol}
+\newcommand{\fnum@listing}{\listingname ~\thelisting }
+\newcommand{\l@listing}{\@dottedtocline {1}{1.5em}{2.3em}}
+\newcommand{\listoflistings}{%
+   \@listingsection*{\listlistingname 
+      \@mkboth{\uppercase{\listlistingname}}%
+         {\uppercase{\listlistingname}}}%
+   \@starttoc {lol}%
+   }
+\@ifundefined{chapter}{%
+   \newcommand\@listingsection{\section}%
+   }{%
+   \newcommand\@listingsection{\chapter}%
+   \renewcommand\thelisting{\thechapter.\arabic{listing}}%
+   }
+   
+\DeclareOption{bigcaptions}{%
+   \def\@bigcaptionflag{}
+}
+
+\ProcessOptions
+
+ 
+\endinput
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Load with:
+
+	\usepackage{listing}
+or
+	\usepackage[bigcaptions]{listing}
+
+
+Package option:
+
+bigcaptions	If present, captions appear as for sections
+		(or chapters when using the "book" or "report" 
+		classes).
+		If not present, captions appear as for captions
+		in the figure or table environment.
+
+
+Available control sequences:
+
+\begin{listing}		A new environment for listings is provided.
+			Unlike figure and table, listing is NOT
+			a floating environment.
+
+\caption		As usual. (only inside listing!)
+\label			As usual. (only inside listing; after \caption!)
+\ref			As usual.
+\listoflistings		As for \listoftables, \listoffigures.
+\listingname		Produces the "Listing" text for the caption.
+\listlistingname	Produces the "List of Listings" text.
+
+
+A *.lol file is produced similar to *.lot, *.lof files.
+
+Does not change \@makecaption (unless option "bigcaptions" is used),
+so packages that change the layout of \caption still work.
+listing.sty works together with hangcaption.sty.
+
+	``Documentation is like sex.
+	  If it is good, it is REALLY good, 
+	  and if it is bad, it is better than nothing!''
+
+						[Gabe Helou]
+
+%% EOF listing.sty
+%%----------------------------------------------------------------------
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/refs.bib b/doc/documents_systemc_ams/USERS_GUIDE/refs.bib
new file mode 100644
index 0000000000000000000000000000000000000000..15cd4341da89566b4b5f1b87e94e513b06735f4e
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/refs.bib
@@ -0,0 +1,277 @@
+@incollection{ parviainen2009,
+	title = "{Model-Driven Development. Processes and practices.}",
+	author = "Parviainen, Päivi and Takalo, Juha and Teppola, Susanna and Tihinen, Maarit",
+	series = "VVT Working Papers",
+	number = "114",
+	publisher = "VTT Technical Research Centre of Finland",
+	month =  feb,
+	year = "2009",
+	ISBN = "978-951-38-7175-8",
+	ISSN = "1459-7683"
+}
+
+@incollection{ duby2003,
+	title = "{Accelerating Embedded Software Development with a Model Driven Architecture.}",
+	author = "Carolyn K. Duby",
+	publisher = "Pahtfinder Solutions",
+	institution = "Pahtfinder Solutions",
+	month = sep,
+	year = "2003"
+}
+
+@misc{ apvrille,
+	title = "{TTool, an open-source toolkit for the modeling and verification of embedded systems.}",
+	author = "Ludovic Apvrille",
+	url = "http://ttool.telecom-paristech.fr/",
+	howpublished={\url{http://ttool.telecom-paristech.fr/}},
+	note = "As of: October 4, 2018"
+}
+
+@inproceedings{genius2016,
+	title = "{Virtual Yet Precise Prototyping: An Automotive Case Study.}",
+	author = "Daniela Genius and Ludovic Apvrille",
+	booktitle = "Proceedings of the 8th European Congress on Embedded Real Time Software and Systems (ERTS 2016)",
+	pages = "691--700",
+	organization = "8th European Congress on Embedded Real Time Software and Systems.",
+	month = jan,
+	year = "2016",
+	address = "TOULOUSE, France."
+	
+}
+
+@misc{soclib,
+	title = "{SoCLib.}",
+	url = "http://www.soclib.fr/",
+	howpublished={\url{http://www.soclib.fr/}},
+	note = "As of: October 4, 2018"
+}
+
+@misc{systemc,
+	title = "{SystemC.}",
+	author = "Accellera Systems Initiative",
+	url = "http://www.accellera.org/downloads/standards/systemc",
+	howpublished={\url{http://www.accellera.org/downloads/standards/systemc}},
+	note = "As of: October 4, 2018"
+}
+
+@ARTICLE{systemc-lrm,
+author={},
+journal="{IEEE Std 1666-2011 (Revision of IEEE Std 1666-2005)}",
+title="{IEEE Standard for Standard SystemC Language Reference Manual}",
+year={2012},
+volume={},
+number={},
+pages={1-638},
+keywords={ANSI standards;C++ language;IEEE standards;IEEE standard;ANSI standard C++ class library;SystemC class library;IEEE standards;Computer languages;Programming;Electronic design automation and methodology;Discrete event simulation;Hardware design languages;System-on-a-chip;Embedded software;C++;computer languages;digital systems;discrete event simulation;electronic design automation;electronic system level;electronic systems;embedded software;fixed-point;hardware description language;hardware design;hardware verification;IEEE 1666;SystemC;system modeling;system-on-chip;transaction level},
+doi={10.1109/IEEESTD.2012.6134619},
+ISSN={},
+month=jan
+}
+
+@misc{mutekh,
+	title = "{MutekH.}",
+	author = "Alexandre Becoulet",
+	url = "http://www.mutekh.org/",
+	howpublished={\url{http://www.mutekh.org/}},
+	note = "As of: October 25, 2018"
+}
+
+@techreport{vsistd,
+	title = "{Virtual  Component  Interface  Standard (OCB 2 2.0).}",
+	author = "VSI Alliance",
+	institution = "VSI Alliance",
+	month = aug,
+	year = "2000"
+}
+
+@unpublished{irinalee,
+	title = "{TTool/SystemC AMS : Interface Graphique et Génération de Plateforme.}",
+	author = "Irina Lee",
+	school = "Université Pierre et Marie Curie",
+	year = "2018",
+	note = "Master 1 Project. (Unpublished). Université Pierre et Marie Curie"
+}
+
+@unpublished{mod_esy_ttool,
+	title = "{Modeling Heterogeneous Embedded Systems with TTool.}",
+	author = "Daniela Genius and Marie-Minerve Louërat and François Pêcheux and Ludovic Apvrille and Haralampos Stratigopoulos",
+	year = "2018",
+	month = mar,
+	note = " DUHDe 2018 - 5th Workshop on Design Automation for Understanding Hardware Designs. (Unpublished)"
+}
+
+
+@manual{syscamslrm,
+    author = "Martin Barnasconi and Karsten Einwich and Christoph Grimm and Torsten Maehne and Alain Vachoux",
+    title = "{Standard SystemC AMS extensions 2.0 Language Reference Manual.}",
+    organization = "Accellera Systems Initiative ",
+    month = mar,
+    year = 2013
+}
+
+@manual{syscamsguide,
+    author = "Martin Barnasconi and Christoph Grimm and Markus Damm and Karsten Einwich and Marie-Minerve Louërat and Torsten Maehne and François Pecheux and Alain Vachoux",
+    title = "{SystemC AMS extensions User’s Guide.}",
+    organization = "Open SystemC Initiative (OSCI)",
+    month = mar,
+    year = 2010
+}
+
+@manual{tlm_lrm,
+    author = "John Aynsley",
+    title = "{OSCI TLM - 2.0 Language Reference Manual.}",
+    organization = "Open SystemC Initiative (OSCI)",
+    month = jul,
+    year = 2009
+}
+
+@INPROCEEDINGS{dammgrimm2008,
+author={Markus Damm and Christoph Grimm and Jan Haase and Andreas Herrholz and Wolfgang Nebel},
+booktitle={2008 Forum on Specification, Verification and Design Languages},
+title="{Connecting SystemC-AMS models with OSCI TLM 2.0 models using temporal decoupling}",
+year={2008},
+volume={},
+number={},
+pages={25-30},
+keywords={electronic engineering computing;embedded systems;simulation languages;SystemC-AMS models;OSCI TLM 2.0 models;temporal decoupling;system modelling language;embedded systems;computation models;Converters;Time domain analysis;Time varying systems;Computational modeling;Digital signal processing;Kernel;Synchronization},
+doi={10.1109/FDL.2008.4641416},
+ISSN={},
+month=sep
+}
+
+@INPROCEEDINGS{andradecedric2015,
+author={Liliana Andrade and Torsten Maehne and Alain Vachoux and Cédric Ben Aoun and François Pêcheux and Marie-Minerve Louërat},
+booktitle={2015 Design, Automation Test in Europe Conference Exhibition (DATE)},
+title="{Pre-simulation symbolic analysis of synchronization issues between discrete event and timed data flow models of computation}",
+year={2015},
+volume={},
+number={},
+pages={1671-1676},
+keywords={computerised instrumentation;discrete event simulation;embedded systems;Petri nets;sensors;symbol manipulation;synchronisation;vibrations;presimulation symbolic analysis;synchronization issues;discrete event models of computation;timed data flow models of computation;SystemC AMS extensions;heterogeneous modeling;MoC;discrete time domains;DT;continuous time domains;CT;multirate data flow parts;timed data flow models;coloured Petri net equivalent;CPN;symbolic execution algorithm;DE-TDF synchronization issues;vibration sensor model;digital front end;Synchronization;Computational modeling;Delays;Data models;Ports (Computers);Schedules;Tin;synchronization;multi-domain simulation;SystemC Analog/Mixed-Signal (AMS) extensions;Discrete Event (DE);Discrete Time (DT);Timed Data Flow (TDF);Coloured Petri Net (CPN);Model of Computation (MoC)},
+doi={10.7873/DATE.2015.0758},
+ISSN={1530-1591},
+month=mar
+}
+
+@phdthesis{andrade2016,
+    title = "{Principles and implementation of a generic synchronization interface between SystemC AMS models of computation for the virtual prototyping of multi-disciplinary systems.}",
+    author = "Liliana Andrade",
+    school = "Université Pierre et Marie Curie", 
+    year = "2016"
+}
+
+@phdthesis{benaoun2017,
+    title = "{Principles and Realization of a Virtual Prototyping Environment for Composable Heterogeneous Systems.}",
+    author = "Cédric Ben Aoun",
+    school = "Université Pierre et Marie Curie", 
+    year = "2017"
+}
+
+@misc{hinception,
+	title = "{CATRENE (CA701) H-INCEPTION. Heterogeneous Inception.}",
+	url = "https://www-soc.lip6.fr/trac/hinception",
+	howpublished={\url{https://www-soc.lip6.fr/trac/hinception}},
+	year = "2015",
+	note = "As of: October 5, 2018"
+}
+
+@book{cpn2009,
+    title = "{Coloured Petri Nets. Modelling and Validation of Concurrent Systems.}",
+    author = "Kurt Jensen and Lars M. Kristensen",
+    publisher = "Springer",
+    year = "2009"
+}
+
+@inbook{timed-cpn2009,
+    title = "{Coloured Petri Nets. Modelling and Validation of Concurrent Systems.}",
+    author = "Kurt Jensen and Lars M. Kristensen",
+    chapter = "10. Timed Coloured Petri Nets",
+    pages = "231--255",
+    publisher = "Springer",
+    year = "2009"
+}
+
+@INPROCEEDINGS{sdf-petrinets,
+author={ José-Inácio Rocha and Luís Gomes and Octávio Páscoa Dias },
+booktitle={2011 9th IEEE International Conference on Industrial Informatics},
+title="{Dataflow model property verification using Petri net translation techniques}",
+year={2011},
+volume={},
+number={},
+pages={783-788},
+keywords={data flow computing;data flow graphs;formal verification;Petri nets;resource allocation;scheduling;dataflow model property verification;Petri net translation;dataflow process networks;data-dominated intensive systems;synchronous dataflows;scheduler information;resource allocation;Petri nets;Mathematical model;Equations;Analytical models;Frequency domain analysis;Digital signal processing;Biological system modeling},
+doi={10.1109/INDIN.2011.6034993},
+ISSN={1935-4576},
+month=jul
+}
+
+@ARTICLE{sdf_schedule,
+author={ Edward Ashford Lee and David G. Messerschmitt },
+journal="{IEEE Transactions on Computers}",
+title="{Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing}",
+year={1987},
+volume={C-36},
+number={1},
+pages={24-35},
+keywords={Signal processing;Topology;Schedules;Programming;Processor scheduling;Digital signal processing;Runtime;Block diagram;computation graphs;data flow digital signal processing;hard real-time systems;multiprocessing;Petri nets;static scheduling;synchronous data flow},
+doi={10.1109/TC.1987.5009446},
+ISSN={0018-9340},
+month=jan
+}
+
+@ARTICLE{sdf,
+author={Edward Ashford Lee and David G. Messerschmitt},
+journal="{Proceedings of the IEEE}",
+title="{Synchronous data flow}",
+year={1987},
+volume={75},
+number={9},
+pages={1235-1245},
+keywords={Digital signal processing;Signal processing;Hardware;Flow graphs;Processor scheduling;Runtime;Scheduling algorithm;Software systems;Assembly systems;Microcomputers},
+doi={10.1109/PROC.1987.13876},
+ISSN={0018-9219},
+month=sep
+}
+
+@misc{soclib_CABA_rules,
+	title = "{Writing efficient Cycle-Accurate, Bit-Accurate SystemC simulation models for SoCLib.}",
+	author ={Alain Greiner},
+	month = sep,
+	year = {2017},
+	url = "http://www.soclib.fr/trac/dev/wiki/WritingRules/Caba",
+	howpublished={\url{http://www.soclib.fr/trac/dev/wiki/WritingRules/Caba}},
+	note = "As of: October 16, 2018"
+}
+
+@misc{soclib_documentation,
+	title = "{SoCLib tools documentation.}",
+	url = "http://www.soclib.fr/doc/",
+	howpublished={\url{http://www.soclib.fr/doc/}},
+	note = "As of: October 18, 2018"
+}
+
+@ARTICLE{de_moc,
+author={Edward Ashford Lee},
+journal="{Annals of Software Engineering}",
+title="{Modeling concurrent real-time processes using discrete events}",
+year={1999},
+volume={7},
+number={1-4},
+pages={25-45},
+month= oct
+}
+
+@misc{echopen,
+title="{EchOpen project: Designing an Open Source and Low-Cost Echo-Stethoscope}",
+url = "http://www.echopen.org/",
+howpublished={\url{http://www.echopen.org/}},
+note = "As of: November 05, 2018"
+}
+
+@misc{edwards,
+title="{Dataflow Languages. [PowerPoint presentation] 2001}",
+author = {Stephen A. Edwards},
+url = "http://www.cs.columbia.edu/~sedwards/classes/2001/w4995-02/presentations/dataflow.pdf",
+howpublished={\url{http://www.cs.columbia.edu/~sedwards/classes/2001/w4995-02/presentations/dataflow.pdf}},
+note = "As of: November 05, 2018"
+}
\ No newline at end of file
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/titlepage.tex b/doc/documents_systemc_ams/USERS_GUIDE/titlepage.tex
new file mode 100644
index 0000000000000000000000000000000000000000..704f6ae198bf5d2e456c6b337d45b9a44fa8d43f
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/titlepage.tex
@@ -0,0 +1,33 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{titlepage}
+\setcounter{page}{-1}
+\begin{center}
+
+%\includegraphics*[scale=2.5]{img/TUKL_LOGO.pdf}\\[3ex]
+
+%\textsc{\Large University of Kaiserslautern}\\[1.5ex]
+%Department of Electrical Engineering and Information Technology\\[1.5ex]
+%Microelectronic Systems Design Research Group \\[3ex]
+
+\vfill
+\vfill
+
+\textsc{\Huge TTool-AMS}\\[6ex]
+\centerline{\Large Integration of SystemC-AMS Simulation Platforms into TTool}
+\vspace{20pt}
+
+\vfill
+\vfill
+
+ \begin{tabular}{rl}\hline\\
+         Author:                   & \quad Rodrigo Cortés Porto (University of Kaiserslautern) \\[1.5ex]
+ Co-Authors:                    & \quad Dr. D. Genius (Sorbonne University, LIP6)\\[1.5ex]
+ & \quad Irina Lee (Sorbonne University, Master SESI)\\[1.5ex]
+                            & \quad Prof. L. Apvrille (Télécom Paris) \\[1.5ex]\\\hline
+ \end{tabular}
+\end{center}
+ 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}%
+    
+\end{titlepage}
+
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/tocloft.sty b/doc/documents_systemc_ams/USERS_GUIDE/tocloft.sty
new file mode 100644
index 0000000000000000000000000000000000000000..0f5f2e0c5a68674ed4a61f89259427d9b331b625
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/tocloft.sty
@@ -0,0 +1,633 @@
+%%
+%% This is file `tocloft.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tocloft.dtx  (with options: `usc')
+%% 
+%%  Copyright 1998, 1999 Peter R. Wilson
+%% 
+%%  This program is provided under the terms of the
+%%  LaTeX Project Public License distributed from CTAN
+%%  archives in directory macros/latex/base/lppl.txt.
+%% 
+%% Author: Peter Wilson (CUA and NIST)
+%%         now at: peter.r.wilson@boeing.com
+%% 
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tocloft}[1999/09/19 v1.0 parameterised ToC, etc., typesetting]
+\RequirePackage{stdclsdv}
+\providecommand{\PRWPackageNote}[2]{%
+  \GenericWarning{%
+    (#1)\@spaces\@spaces\@spaces\@spaces
+  }{%
+   Package #1 Note: #2%
+   }%
+}
+\providecommand{\PRWPackageNoteNoLine}[2]{%
+  \PRWPackageNote{#1}{#2\@gobble}%
+}
+\ifSCDnodivs
+  \PackageWarning{tocloft}%
+    {I don't recognize any sectional divisions so I'll do nothing}
+  \renewcommand{\SCDquit}{\endinput}
+\fi
+\SCDquit
+\ifSCDknownclass\else
+  \PackageWarning{tocloft}%
+    {I don't recognize the class but I'll do my best}
+  \ifSCDnodivs
+    \PackageWarning{tocloft}%
+      {I don't recognize any sectional divisions so I'll do nothing}
+    \renewcommand{\SCDquit}{\endinput}
+  \else
+    \ifSCDchapter
+      \PRWPackageNoteNoLine{tocloft}{The document class has chapter divisions}
+    \else
+      \ifSCDsection
+        \PRWPackageNoteNoLine{tocloft}{The document class has section divisions}
+      \else
+        \PackageWarning{tocloft}%
+          {The class has neither chapters nor sections, so I'll do nothing}
+        \renewcommand{\SCDquit}{\endinput}
+      \fi
+    \fi
+  \fi
+\fi
+\SCDquit
+\newif\if@cfttocbibind
+\AtBeginDocument{%
+  \@ifpackageloaded{tocbibind}{\@cfttocbibindtrue}{\@cfttocbibindfalse}
+  \if@cfttocbibind
+    \@ifpackagelater{tocbibind}{1998/11/16}{}{%
+      \PackageWarning{tocloft}{%
+You are using a version of the tocbibind package\MessageBreak
+that is not compatible with tocloft.\MessageBreak
+The results may be surprising.\MessageBreak
+Consider installing the current version of tocbibind.}}
+  \fi
+}
+\newif\if@cftnctoc\@cftnctocfalse
+\DeclareOption{titles}{\@cftnctoctrue}
+\ProcessOptions\relax
+\newcommand{\cftmarktoc}{%
+  \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}
+\newcommand{\cftmarklof}{%
+  \@mkboth{\MakeUppercase\listfigurename}{\MakeUppercase\listfigurename}}
+\newcommand{\cftmarklot}{%
+  \@mkboth{\MakeUppercase\listtablename}{\MakeUppercase\listtablename}}
+\newcommand{\@cfttocstart}{%
+  \ifSCDchapter
+    \if@twocolumn
+      \@restonecoltrue\onecolumn
+    \else
+      \@restonecolfalse
+    \fi
+  \fi}
+\newcommand{\@cfttocfinish}{%
+  \ifSCDchapter
+    \if@restonecol\twocolumn\fi
+  \fi}
+\newcommand{\@cftdobibtoc}{%
+  \if@dotoctoc
+    \if@bibchapter
+      \addcontentsline{toc}{chapter}{\contentsname}
+    \else
+      \addcontentsline{toc}{\@tocextra}{\contentsname}
+    \fi
+  \fi}
+\AtBeginDocument{%
+\if@cftnctoc\else
+  \renewcommand{\tableofcontents}{%
+    \@cfttocstart
+    \par
+    \begingroup
+      \parindent\z@ \parskip\z@
+      \@cftmaketoctitle
+      \if@cfttocbibind
+        \@cftdobibtoc
+      \fi
+      \@starttoc{toc}%
+    \endgroup
+    \@cfttocfinish}
+\fi
+}
+\newcommand{\@cftmaketoctitle}{%
+  \vspace*{\cftbeforetoctitleskip}
+  \interlinepenalty\@M
+  {\cfttoctitlefont\contentsname}{\cftaftertoctitle}
+  \cftmarktoc
+  \par\nobreak
+  \vskip \cftaftertoctitleskip
+  \@afterheading}
+\newlength{\cftbeforetoctitleskip}
+\newlength{\cftaftertoctitleskip}
+\ifSCDchapter
+  \setlength{\cftbeforetoctitleskip}{50pt}
+  \setlength{\cftaftertoctitleskip}{40pt}
+\else
+  \setlength{\cftbeforetoctitleskip}{3.5ex \@plus 1ex \@minus .2ex}
+  \setlength{\cftaftertoctitleskip}{2.3ex \@plus.2ex}
+\fi
+\ifSCDchapter
+  \newcommand{\cfttoctitlefont}{\normalfont\Huge\bfseries}
+\else
+  \newcommand{\cfttoctitlefont}{\normalfont\Large\bfseries}
+\fi
+\newcommand{\cftaftertoctitle}{}
+\newcommand{\cftsetpnumwidth}[1]{\renewcommand{\@pnumwidth}{#1}}
+\newcommand{\cftsetrmarg}[1]{\renewcommand{\@tocrmarg}{#1}}
+\newcommand{\cftdot}{.}
+\newcommand{\@cftdotfill}[1]{%
+  \leaders\hbox{$\m@th\mkern #1 mu\hbox{\cftdot}\mkern #1 mu$}\hfill}
+\newcommand{\cftdotsep}{4.5}
+\newcommand{\cftnodots}{10000}
+\newcommand{\cftparfillskip}{\parfillskip=0pt plus1fil}
+\renewcommand{\numberline}[1]{%
+  \hb@xt@\@tempdima{#1\@cftasnum\hfil}\@cftasnumb}
+\newcommand{\@cftasnum}{}
+\newcommand{\@cftasnumb}{}
+\newif\if@cftdopart
+\ifSCDpart
+\renewcommand*{\l@part}[2]{%
+  \@cftdopartfalse
+  \ifnum \c@tocdepth >-2\relax
+    \ifSCDchapter
+      \@cftdoparttrue
+    \fi
+    \ifnum \c@tocdepth >\m@ne
+      \ifSCDchapter\else
+        \@cftdoparttrue
+      \fi
+    \fi
+  \fi
+  \if@cftdopart
+    \ifSCDchapter
+      \addpenalty{-\@highpenalty}%
+    \else
+      \addpenalty\@secpenalty
+    \fi
+    \addvspace{\cftbeforepartskip}%
+    \@tempdima \cftpartnumwidth\relax
+    \let\@cftasnum \cftpartaftersnum
+    \let\@cftasnumb \cftpartaftersnumb
+    \begingroup
+      \parindent \z@ \rightskip \@pnumwidth
+      \parfillskip -\@pnumwidth
+      {\leavevmode
+      {\cftpartfont #1}{\cftpartleader}
+        {\hb@xt@\@pnumwidth{\hss {\cftpartpagefont #2}}}\cftpartafterpnum}\par
+      \nobreak
+      \ifSCDchapter
+        \global\@nobreaktrue
+        \everypar{\global\@nobreakfalse\everypar{}}%
+      \else
+        \if@compatibility
+          \global\@nobreaktrue
+          \everypar{\global\@nobreakfalse\everypar{}}%
+        \fi
+      \fi
+    \endgroup
+  \fi}
+\fi
+\newlength{\cftbeforepartskip}
+  \setlength{\cftbeforepartskip}{2.25em \@plus\p@}
+\newlength{\cftpartnumwidth}
+  \setlength{\cftpartnumwidth}{3em}
+\newcommand{\cftpartfont}{\large\bfseries}
+\newcommand{\cftpartaftersnum}{}
+\newcommand{\cftpartaftersnumb}{}
+\newcommand{\cftpartleader}{\large\bfseries\@cftdotfill{\cftpartdotsep}}
+\newcommand{\cftpartdotsep}{\cftnodots}
+\newcommand{\cftpartpagefont}{\large\bfseries}
+\newcommand{\cftpartafterpnum}{}
+\ifSCDchapter
+\renewcommand*{\l@chapter}[2]{%
+  \ifnum \c@tocdepth >\m@ne
+    \addpenalty{-\@highpenalty}%
+    \vskip \cftbeforechapskip
+    {\leftskip \cftchapindent\relax
+     \rightskip \@tocrmarg
+     \parfillskip -\rightskip
+     \parindent \cftchapindent\relax\@afterindenttrue
+     \interlinepenalty\@M
+     \leavevmode
+     \@tempdima \cftchapnumwidth\relax
+     \let\@cftasnum \cftchapaftersnum
+     \let\@cftasnumb \cftchapaftersnumb
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+     {\cftchapfont #1}\nobreak
+     {\cftchapleader}
+     \nobreak
+     \hb@xt@\@pnumwidth{\hfil\cftchappagefont #2}\cftchapafterpnum\par}%
+  \fi}
+\fi
+\newlength{\cftbeforechapskip}
+  \setlength{\cftbeforechapskip}{1.0em \@plus\p@}
+\newlength{\cftchapindent}
+  \setlength{\cftchapindent}{0em}
+\newlength{\cftchapnumwidth}
+  \setlength{\cftchapnumwidth}{1.5em}
+\newcommand{\cftchapfont}{\bfseries}
+\newcommand{\cftchapaftersnum}{}
+\newcommand{\cftchapaftersnumb}{}
+\newcommand{\cftchapleader}{\bfseries\@cftdotfill{\cftchapdotsep}}
+\newcommand{\cftchapdotsep}{\cftnodots}
+\newcommand{\cftchappagefont}{\bfseries}
+\newcommand{\cftchapafterpnum}{}
+\renewcommand*{\l@section}[2]{%
+  \ifnum \c@tocdepth >\z@
+    \ifSCDchapter
+      \vskip \cftbeforesecskip
+    \else
+      \addpenalty\@secpenalty
+      \addvspace{\cftbeforesecskip}
+    \fi
+    {\leftskip \cftsecindent\relax
+     \rightskip \@tocrmarg
+     \parfillskip -\rightskip
+     \parindent \cftsecindent\relax\@afterindenttrue
+     \interlinepenalty\@M
+     \leavevmode
+     \@tempdima \cftsecnumwidth\relax
+     \let\@cftasnum \cftsecaftersnum
+     \let\@cftasnumb \cftsecaftersnumb
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+     {\cftsecfont #1}\nobreak
+     {\cftsecleader}
+     \nobreak
+     \hb@xt@\@pnumwidth{\hfil\cftsecpagefont #2}\cftsecafterpnum\par}%
+  \fi}
+\newlength{\cftbeforesecskip}
+\ifSCDchapter
+  \setlength{\cftbeforesecskip}{\z@ \@plus.2\p@}
+\else
+  \setlength{\cftbeforesecskip}{1.0em \@plus\p@}
+\fi
+\newlength{\cftsecindent}
+\ifSCDchapter
+  \setlength{\cftsecindent}{1.5em}
+\else
+  \setlength{\cftsecindent}{0em}
+\fi
+\newlength{\cftsecnumwidth}
+\ifSCDchapter
+  \setlength{\cftsecnumwidth}{2.3em}
+\else
+  \setlength{\cftsecnumwidth}{1.5em}
+\fi
+\ifSCDchapter
+  \newcommand{\cftsecfont}{\normalfont}
+\else
+  \newcommand{\cftsecfont}{\bfseries}
+\fi
+\newcommand{\cftsecaftersnum}{}
+\newcommand{\cftsecaftersnumb}{}
+\ifSCDchapter
+  \newcommand{\cftsecleader}{\normalfont\@cftdotfill{\cftsecdotsep}}
+\else
+  \newcommand{\cftsecleader}{\bfseries\@cftdotfill{\cftsecdotsep}}
+\fi
+\ifSCDchapter
+  \newcommand{\cftsecdotsep}{\cftdotsep}
+\else
+  \newcommand{\cftsecdotsep}{\cftnodots}
+\fi
+\ifSCDchapter
+  \newcommand{\cftsecpagefont}{\normalfont}
+\else
+  \newcommand{\cftsecpagefont}{\bfseries}
+\fi
+\newcommand{\cftsecafterpnum}{}
+\renewcommand*{\l@subsection}[2]{%
+  \ifnum \c@tocdepth >\@ne
+    \vskip \cftbeforesubsecskip
+    {\leftskip \cftsubsecindent\relax
+     \rightskip \@tocrmarg
+     \parfillskip -\rightskip
+     \parindent \cftsubsecindent\relax\@afterindenttrue
+     \interlinepenalty\@M
+     \leavevmode
+     \@tempdima \cftsubsecnumwidth\relax
+     \let\@cftasnum \cftsubsecaftersnum
+     \let\@cftasnumb \cftsubsecaftersnumb
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+     {\cftsubsecfont #1}\nobreak
+     {\cftsubsecleader}
+     \nobreak
+     \hb@xt@\@pnumwidth{\hfil\cftsubsecpagefont #2}\cftsubsecafterpnum\par}%
+  \fi}
+\newlength{\cftbeforesubsecskip}
+  \setlength{\cftbeforesubsecskip}{\z@ \@plus.2\p@}
+\newlength{\cftsubsecindent}
+\ifSCDchapter
+  \setlength{\cftsubsecindent}{3.8em}
+\else
+  \setlength{\cftsubsecindent}{1.5em}
+\fi
+\newlength{\cftsubsecnumwidth}
+\ifSCDchapter
+  \setlength{\cftsubsecnumwidth}{3.2em}
+\else
+  \setlength{\cftsubsecnumwidth}{2.3em}
+\fi
+\newcommand{\cftsubsecfont}{\normalfont}
+\newcommand{\cftsubsecaftersnum}{}
+\newcommand{\cftsubsecaftersnumb}{}
+\newcommand{\cftsubsecleader}{\normalfont\@cftdotfill{\cftsubsecdotsep}}
+\newcommand{\cftsubsecdotsep}{\cftdotsep}
+\newcommand{\cftsubsecpagefont}{\normalfont}
+\newcommand{\cftsubsecafterpnum}{}
+\renewcommand*{\l@subsubsection}[2]{%
+  \ifnum \c@tocdepth >\tw@
+    \vskip \cftbeforesubsubsecskip
+    {\leftskip \cftsubsubsecindent\relax
+     \rightskip \@tocrmarg
+     \parfillskip -\rightskip
+     \parindent \cftsubsubsecindent\relax\@afterindenttrue
+     \interlinepenalty\@M
+     \leavevmode
+     \@tempdima \cftsubsubsecnumwidth\relax
+     \let\@cftasnum \cftsubsubsecaftersnum
+     \let\@cftasnumb \cftsubsubsecaftersnumb
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+     {\cftsubsubsecfont #1}\nobreak
+     {\cftsubsubsecleader}
+     \nobreak
+     \hb@xt@\@pnumwidth{\hfil\cftsubsubsecpagefont #2}\cftsubsubsecafterpnum\par}%
+  \fi}
+\newlength{\cftbeforesubsubsecskip}
+  \setlength{\cftbeforesubsubsecskip}{\z@ \@plus.2\p@}
+\newlength{\cftsubsubsecindent}
+\ifSCDchapter
+  \setlength{\cftsubsubsecindent}{7.0em}
+\else
+  \setlength{\cftsubsubsecindent}{3.8em}
+\fi
+\newlength{\cftsubsubsecnumwidth}
+\ifSCDchapter
+  \setlength{\cftsubsubsecnumwidth}{4.1em}
+\else
+  \setlength{\cftsubsubsecnumwidth}{3.2em}
+\fi
+\newcommand{\cftsubsubsecfont}{\normalfont}
+\newcommand{\cftsubsubsecaftersnum}{}
+\newcommand{\cftsubsubsecaftersnumb}{}
+\newcommand{\cftsubsubsecleader}{\normalfont\@cftdotfill{\cftsubsubsecdotsep}}
+\newcommand{\cftsubsubsecdotsep}{\cftdotsep}
+\newcommand{\cftsubsubsecpagefont}{\normalfont}
+\newcommand{\cftsubsubsecafterpnum}{}
+\renewcommand*{\l@paragraph}[2]{%
+  \ifnum \c@tocdepth >3\relax
+    \vskip \cftbeforeparaskip
+    {\leftskip \cftparaindent\relax
+     \rightskip \@tocrmarg
+     \parfillskip -\rightskip
+     \parindent \cftparaindent\relax\@afterindenttrue
+     \interlinepenalty\@M
+     \leavevmode
+     \@tempdima \cftparanumwidth\relax
+     \let\@cftasnum \cftparaaftersnum
+     \let\@cftasnumb \cftparaaftersnumb
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+     {\cftparafont #1}\nobreak
+     {\cftparaleader}
+     \nobreak
+     \hb@xt@\@pnumwidth{\hfil\cftparapagefont #2}\cftparaafterpnum\par}%
+  \fi}
+\newlength{\cftbeforeparaskip}
+  \setlength{\cftbeforeparaskip}{\z@ \@plus.2\p@}
+\newlength{\cftparaindent}
+\ifSCDchapter
+  \setlength{\cftparaindent}{10em}
+\else
+  \setlength{\cftparaindent}{7.0em}
+\fi
+\newlength{\cftparanumwidth}
+\ifSCDchapter
+  \setlength{\cftparanumwidth}{5em}
+\else
+  \setlength{\cftparanumwidth}{4.1em}
+\fi
+\newcommand{\cftparafont}{\normalfont}
+\newcommand{\cftparaaftersnum}{}
+\newcommand{\cftparaaftersnumb}{}
+\newcommand{\cftparaleader}{\normalfont\@cftdotfill{\cftparadotsep}}
+\newcommand{\cftparadotsep}{\cftdotsep}
+\newcommand{\cftparapagefont}{\normalfont}
+\newcommand{\cftparaafterpnum}{}
+\renewcommand*{\l@subparagraph}[2]{%
+  \ifnum \c@tocdepth >4\relax
+    \vskip \cftbeforesubparaskip
+    {\leftskip \cftsubparaindent\relax
+     \rightskip \@tocrmarg
+     \parfillskip -\rightskip
+     \parindent \cftsubparaindent\relax\@afterindenttrue
+     \interlinepenalty\@M
+     \leavevmode
+     \@tempdima \cftsubparanumwidth\relax
+     \let\@cftasnum \cftsubparaaftersnum
+     \let\@cftasnumb \cftsubparaaftersnumb
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+     {\cftsubparafont #1}\nobreak
+     {\cftsubparaleader}
+     \nobreak
+     \hb@xt@\@pnumwidth{\hfil\cftsubparapagefont #2}\cftsubparaafterpnum\par}%
+  \fi}
+\newlength{\cftbeforesubparaskip}
+  \setlength{\cftbeforesubparaskip}{\z@ \@plus.2\p@}
+\newlength{\cftsubparaindent}
+\ifSCDchapter
+  \setlength{\cftsubparaindent}{12em}
+\else
+  \setlength{\cftsubparaindent}{10em}
+\fi
+\newlength{\cftsubparanumwidth}
+\ifSCDchapter
+  \setlength{\cftsubparanumwidth}{6em}
+\else
+  \setlength{\cftsubparanumwidth}{5em}
+\fi
+\newcommand{\cftsubparafont}{\normalfont}
+\newcommand{\cftsubparaaftersnum}{}
+\newcommand{\cftsubparaaftersnumb}{}
+\newcommand{\cftsubparaleader}{\normalfont\@cftdotfill{\cftsubparadotsep}}
+\newcommand{\cftsubparadotsep}{\cftdotsep}
+\newcommand{\cftsubparapagefont}{\normalfont}
+\newcommand{\cftsubparaafterpnum}{}
+\newcommand{\@cftdobiblof}{%
+  \if@dotoclof
+    \if@bibchapter
+      \addcontentsline{toc}{chapter}{\listfigurename}
+    \else
+      \addcontentsline{toc}{\@tocextra}{\listfigurename}
+    \fi
+  \fi}
+\AtBeginDocument{
+\if@cftnctoc\else
+\renewcommand{\listoffigures}{%
+  \@cfttocstart
+  \par
+  \begingroup
+    \parindent\z@ \parskip\z@
+    \@cftmakeloftitle
+    \if@cfttocbibind
+      \@cftdobiblof
+    \fi
+    \@starttoc{lof}%
+  \endgroup
+  \@cfttocfinish}
+\fi
+}
+\newcommand{\@cftmakeloftitle}{%
+  \vspace*{\cftbeforeloftitleskip}
+  \interlinepenalty\@M
+  {\cftloftitlefont\listfigurename}{\cftafterloftitle}
+  \cftmarklof
+  \par\nobreak
+  \vskip \cftafterloftitleskip
+  \@afterheading}
+\newlength{\cftbeforeloftitleskip}
+\newlength{\cftafterloftitleskip}
+\ifSCDchapter
+  \setlength{\cftbeforeloftitleskip}{50pt}
+  \setlength{\cftafterloftitleskip}{40pt}
+\else
+  \setlength{\cftbeforeloftitleskip}{3.5ex \@plus 1ex \@minus .2ex}
+  \setlength{\cftafterloftitleskip}{2.3ex \@plus.2ex}
+\fi
+\ifSCDchapter
+  \newcommand{\cftloftitlefont}{\normalfont\Huge\bfseries}
+\else
+  \newcommand{\cftloftitlefont}{\normalfont\Large\bfseries}
+\fi
+\newcommand{\cftafterloftitle}{}
+\renewcommand*{\l@figure}[2]{%
+    \vskip \cftbeforefigskip
+    {\leftskip \cftfigindent\relax
+     \rightskip \@tocrmarg
+     \parfillskip -\rightskip
+     \parindent \cftfigindent\relax\@afterindenttrue
+     \interlinepenalty\@M
+     \leavevmode
+     \@tempdima \cftfignumwidth\relax
+     \let\@cftasnum \cftfigaftersnum
+     \let\@cftasnumb \cftfigaftersnumb
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+     {\cftfigfont #1}\nobreak
+     {\cftfigleader}
+     \nobreak
+     \hb@xt@\@pnumwidth{\hfil\cftfigpagefont #2}\cftfigafterpnum\par}%
+  }
+\newlength{\cftbeforefigskip}
+  \setlength{\cftbeforefigskip}{\z@ \@plus.2\p@}
+\newlength{\cftfigindent}
+  \setlength{\cftfigindent}{1.5em}
+\newlength{\cftfignumwidth}
+  \setlength{\cftfignumwidth}{2.3em}
+\newcommand{\cftfigfont}{\normalfont}
+\newcommand{\cftfigaftersnum}{}
+\newcommand{\cftfigaftersnumb}{}
+\newcommand{\cftfigleader}{\normalfont\@cftdotfill{\cftfigdotsep}}
+\newcommand{\cftfigdotsep}{\cftdotsep}
+\newcommand{\cftfigpagefont}{\normalfont}
+\newcommand{\cftfigafterpnum}{}
+\newcommand{\@cftdobiblot}{%
+  \if@dotoclot
+    \if@bibchapter
+      \addcontentsline{toc}{chapter}{\listtablename}
+    \else
+      \addcontentsline{toc}{\@tocextra}{\listtablename}
+    \fi
+  \fi}
+\AtBeginDocument{
+\if@cftnctoc\else
+\renewcommand{\listoftables}{%
+  \@cfttocstart
+  \par
+  \begingroup
+    \parindent\z@ \parskip\z@
+    \@cftmakelottitle
+    \if@cfttocbibind
+      \@cftdobiblot
+    \fi
+    \@starttoc{lot}%
+  \endgroup
+  \@cfttocfinish}
+\fi
+}
+\newcommand{\@cftmakelottitle}{%
+  \vspace*{\cftbeforelottitleskip}
+  \interlinepenalty\@M
+  {\cftlottitlefont\listtablename}{\cftafterlottitle}
+  \cftmarklot
+  \par\nobreak
+  \vskip \cftafterlottitleskip
+  \@afterheading}
+\newlength{\cftbeforelottitleskip}
+\newlength{\cftafterlottitleskip}
+\ifSCDchapter
+  \setlength{\cftbeforelottitleskip}{50pt}
+  \setlength{\cftafterlottitleskip}{40pt}
+\else
+  \setlength{\cftbeforelottitleskip}{3.5ex \@plus 1ex \@minus .2ex}
+  \setlength{\cftafterlottitleskip}{2.3ex \@plus.2ex}
+\fi
+\ifSCDchapter
+  \newcommand{\cftlottitlefont}{\normalfont\Huge\bfseries}
+\else
+  \newcommand{\cftlottitlefont}{\normalfont\Large\bfseries}
+\fi
+\newcommand{\cftafterlottitle}{}
+\renewcommand*{\l@table}[2]{%
+    \vskip \cftbeforetabskip
+    {\leftskip \cfttabindent\relax
+     \rightskip \@tocrmarg
+     \parfillskip -\rightskip
+     \parindent \cfttabindent\relax\@afterindenttrue
+     \interlinepenalty\@M
+     \leavevmode
+     \@tempdima \cfttabnumwidth\relax
+     \let\@cftasnum \cfttabaftersnum
+     \let\@cftasnumb \cfttabaftersnumb
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+     {\cfttabfont #1}\nobreak
+     {\cfttableader}
+     \nobreak
+     \hb@xt@\@pnumwidth{\hfil\cfttabpagefont #2}\cfttabafterpnum\par}%
+  }
+\newlength{\cftbeforetabskip}
+  \setlength{\cftbeforetabskip}{\z@ \@plus.2\p@}
+\newlength{\cfttabindent}
+  \setlength{\cfttabindent}{1.5em}
+\newlength{\cfttabnumwidth}
+  \setlength{\cfttabnumwidth}{2.3em}
+\newcommand{\cfttabfont}{\normalfont}
+\newcommand{\cfttabaftersnum}{}
+\newcommand{\cfttabaftersnumb}{}
+\newcommand{\cfttableader}{\normalfont\@cftdotfill{\cfttabdotsep}}
+\newcommand{\cfttabdotsep}{\cftdotsep}
+\newcommand{\cfttabpagefont}{\normalfont}
+\newcommand{\cfttabafterpnum}{}
+\newcommand{\cftchapterprecis}[1]{%
+  \cftchapterprecishere{#1}
+  \cftchapterprecistoc{#1}}
+\newcommand{\cftchapterprecishere}[1]{%
+  \vspace*{-2\baselineskip}
+  \begin{quote}\textit{#1}\end{quote}}
+\newcommand{\cftchapterprecistoc}[1]{\addtocontents{toc}{%
+  {\leftskip \cftchapindent\relax
+   \advance\leftskip \cftchapnumwidth\relax
+   \rightskip \@tocrmarg\relax
+   \textit{#1}\protect\par}}}
+\newcommand{\cftlocalchange}[3]{%
+  \addtocontents{#1}{\protect\cftsetpnumwidth{#2} \protect\cftsetrmarg{#3}}}
+\newcommand{\cftaddtitleline}[4]{%
+  \addtocontents{#1}{\protect\contentsline{#2}{#3}{#4}}}
+\newcommand{\cftaddnumtitleline}[5]{%
+  \addtocontents{#1}%
+    {\protect\contentsline{#2}{\protect\numberline{#3}{\protect\ignorespaces #4}}{#5}}}
+\endinput
+%%
+%% End of file `tocloft.sty'.
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/trfsigns.sty b/doc/documents_systemc_ams/USERS_GUIDE/trfsigns.sty
new file mode 100644
index 0000000000000000000000000000000000000000..32f1934a3bb5ab7b0644261fae655524ee1e7300
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/trfsigns.sty
@@ -0,0 +1,131 @@
+%%
+%% This is file `trfsigns.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% trfsigns.dtx  (with options: `package')
+%% 
+%% Copyright (C) 1998-1999 by Kai Rascher. All rights reserved.
+%% 
+%% 
+%% This file is part of the trfsigns package
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% You are not allowed to change this file.  You may however copy this file
+%% to a file with a different name and then change the copy.
+%% 
+%% You are NOT ALLOWED to distribute this file alone.  You are NOT ALLOWED
+%% to take money for the distribution or use of this file (or a changed
+%% version) except for a nominal charge for copying etc.
+%% 
+%% You are allowed to distribute this file under the condition that it is
+%% distributed together with all files mentioned below.
+%% 
+%% If you receive only some of these files from someone, complain!
+%% 
+%% Error Reports in case of UNCHANGED versions to
+%% 
+%%                           Kai Rascher
+%%                           Am Remenhof 17a
+%%                           38104 Braunschweig
+%%                           Germany
+%%                  E-Mail:  <rascher@ifn.ing.tu-bs.de>
+%% 
+%% File: trfsigns.dtx Copyright (C) 1999 Kai Rascher
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{trfsigns}
+\newcommand{\laplace}{\mbox{\setlength{\unitlength}{0.1em}%
+                            \begin{picture}(20,10)%
+                              \put(2,3){\circle{4}}%
+                              \put(4,3){\line(1,0){13}}%
+                              \put(18,3){\circle*{4}}%
+                            \end{picture}%
+                           }%
+                     }%
+\newcommand{\Laplace}{\mbox{\setlength{\unitlength}{0.1em}%
+                            \begin{picture}(20,10)%
+                              \put(2,3){\circle*{4}}%
+                              \put(3,3){\line(1,0){13}}%
+                              \put(18,3){\circle{4}}%
+                            \end{picture}%
+                           }%
+                     }%
+\newcommand{\fourier}{\mbox{\setlength{\unitlength}{0.1em}%
+                            \begin{picture}(20,10)%
+                              \put(2,3){\circle{4}}%
+                              \put(4,3){\line(1,0){12}}%
+                            \end{picture}%
+                           }%
+                      }%
+\newcommand{\Fourier}{\mbox{\setlength{\unitlength}{0.1em}%
+                            \begin{picture}(20,10)%
+                              \put(16,3){\line(-1,0){12}}%
+                              \put(18,3){\circle{4}}%
+                            \end{picture}%
+                           }%
+                      }%
+\newcommand{\dfourier}{\mbox{\setlength{\unitlength}{0.1em}%
+                             \begin{picture}(20,10)%
+                               \put(2,3){\circle{4}}%
+                               \put(4,3){\line(1,0){4.75}}%
+                               \multiput(8.625,3.15)(0.25,0.25){11}{%
+                                 \makebox(0,0){\rm\tiny .}}%
+                             \end{picture}%
+                            }%
+                      }%
+\newcommand{\Dfourier}{\mbox{\setlength{\unitlength}{0.1em}%
+                             \begin{picture}(20,10)%
+                               \multiput(11.375,3.15)(-0.25,0.25){11}{%
+                                 \makebox(0,0){\rm\tiny .}}%
+                               \put(16,3){\line(-1,0){4.75}}%
+                               \put(18,3){\circle{4}}%
+                             \end{picture}%
+                            }%
+                      }%
+\newcommand{\dft}[1]{\mbox{\setlength{\unitlength}{0.1em}%
+                           \begin{picture}(20,10)%
+                             \put(0,1){\line(0,1){4}}%
+                             \put(0,3){\line(1,0){17}}%
+                             \put(8.5,1){%
+                               \makebox(0,0)[t]{\footnotesize $#1$}}%
+                           \end{picture}%
+                          }%
+                    }%
+\newcommand{\DFT}[1]{\mbox{\setlength{\unitlength}{0.1em}%
+                           \begin{picture}(20,10)%
+                             \put(20,1){\line(0,1){4}}%
+                             \put(20,3){\line(-1,0){17}}%
+                             \put(11.5,1){%
+                               \makebox(0,0)[t]{\footnotesize $#1$}}%
+                           \end{picture}%
+                          }%
+                    }%
+\newcommand{\ztransf}{\mbox{\setlength{\unitlength}{0.1em}%
+                            \begin{picture}(20,10)%
+                              \put(2,3){\circle{4}}%
+                              \put(4,3){\line(1,0){4.75}}%
+                              \multiput(8.625,3.15)(0.25,0.25){11}{%
+                                \makebox(0,0){\rm\tiny .}}%
+                              \put(17,3){\line(-1,0){5.75}}%
+                              \put(18,3){\circle*{4}}%
+                            \end{picture}%
+                           }%
+                      }%
+\newcommand{\Ztransf}{\mbox{\setlength{\unitlength}{0.1em}%
+                            \begin{picture}(20,10)%
+                              \put(2,3){\circle*{4}}%
+                              \put(3,3){\line(1,0){5.75}}%
+                              \multiput(11.375,3.15)(-0.25,0.25){11}{%
+                                \makebox(0,0){\rm\tiny .}}%
+                              \put(16,3){\line(-1,0){4.75}}%
+                              \put(18,3){\circle{4}}%
+                            \end{picture}%
+                           }%
+                      }%
+\newcommand{\e}{\ensuremath{\mathrm{e\;\!}}}
+\newcommand{\im}{\ensuremath{\mathrm{j}}}
+\endinput
+%%
+%% End of file `trfsigns.sty'.
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/trsym.sty b/doc/documents_systemc_ams/USERS_GUIDE/trsym.sty
new file mode 100644
index 0000000000000000000000000000000000000000..30cee97b2d0c3077a7dc12b0153c1fcfc914cac9
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/trsym.sty
@@ -0,0 +1,40 @@
+%%
+%% This is file `trsym.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% trsym.dtx  (with options: `package')
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% For the copyright see the source file.
+%% 
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from trsym.sty.
+%% 
+%% For distribution of the original source see the terms
+%% for copying and modification in the file trsym.dtx.
+%% 
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+\def\trsymfileversion{1.0}
+\def\trsymfiledate{2000/06/25}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{trsym}
+   [\trsymfiledate v\trsymfileversion transformation symbol font]
+\DeclareSymbolFont{transfsymbol}{U}{trsy}{m}{n}
+
+\DeclareMathSymbol{\TransformHoriz}{\mathrel}{transfsymbol}{0}
+\DeclareMathSymbol{\InversTransformHoriz}{\mathrel}{transfsymbol}{1}
+\DeclareMathSymbol{\TransformVert}{\mathrel}{transfsymbol}{2}
+\DeclareMathSymbol{\InversTransformVert}{\mathrel}{transfsymbol}{3}
+
+
+
+
+\endinput
+%%
+%% End of file `trsym.sty'.
diff --git a/doc/documents_systemc-ams/TTool_AMS_Doc.pdf b/doc/documents_systemc_ams/USERS_GUIDE/users_guide.pdf
similarity index 67%
rename from doc/documents_systemc-ams/TTool_AMS_Doc.pdf
rename to doc/documents_systemc_ams/USERS_GUIDE/users_guide.pdf
index eb4c2e70d51cf76a32c7c0068f26217e2f2db65c..a041d9cc4c083fe769cd9758ba6e14747ad76567 100644
Binary files a/doc/documents_systemc-ams/TTool_AMS_Doc.pdf and b/doc/documents_systemc_ams/USERS_GUIDE/users_guide.pdf differ
diff --git a/doc/documents_systemc_ams/USERS_GUIDE/users_guide.tex b/doc/documents_systemc_ams/USERS_GUIDE/users_guide.tex
new file mode 100644
index 0000000000000000000000000000000000000000..3b6267d5066dc4e2a3c420b0a3131a7cc4c8b5b5
--- /dev/null
+++ b/doc/documents_systemc_ams/USERS_GUIDE/users_guide.tex
@@ -0,0 +1,135 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Inlucudings:                      %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%{{{%
+\documentclass[11pt,english,a4paper,chapterprefix]{scrartcl}
+\usepackage[T1]{fontenc}
+\usepackage[bigcaptions]{listing}
+\usepackage[utf8]{inputenc}
+\usepackage[small,bf,hang]{caption}
+\usepackage[english]{babel}
+%\usepackage{epsfig}
+\usepackage{wrapfig}
+%\usepackage{caption}
+\usepackage{psfrag}
+\usepackage[rflt]{floatflt}
+\usepackage[usenames]{color}
+\usepackage{graphicx}
+\emergencystretch = 10pt
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{setspace}
+\usepackage{algpseudocode}
+\usepackage{listing}
+\usepackage{listings}
+\usepackage{trsym}
+\usepackage{trfsigns}
+\usepackage{minted}
+\usepackage{dirtree}
+\setcounter{secnumdepth}{5}
+\setcounter{tocdepth}{5} 
+\numberwithin{equation}{section}
+\numberwithin{figure}{section}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}%
+% New Commands and Configurations:  %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%{{{%
+%\setkomafont{section}{\Large\rmfamily}
+%\setkomafont{subsection}{\large\rmfamily}
+%\setkomafont{subsubsection}{\normalsize\rmfamily}
+\setkomafont{paragraph}{\footnotesize}
+\numberwithin{table}{section}
+\numberwithin{listing}{section}
+\setlength\textheight{24cm}
+\definecolor{orange}{rgb}{1 , 0.5 , 0}
+\definecolor{blue}{rgb}{0, 0 , 1}
+\definecolor{green}{rgb}{0, 1 ,0}
+\newcommand{\cb}{\textcolor{blue}}
+\newcommand{\subsubsubsection}{\paragraph}
+\newcommand{\subsubsubsubsection}{\subparagraph}
+\clubpenalty = 10000
+\widowpenalty = 10000
+\displaywidowpenalty = 10000
+\parindent0pt % No Indent
+\setlength{\parskip}{1em}
+%\makenomenclature
+% Document Head
+\begin{document}
+%\restylefloat{figure}
+%\pagestyle{fancy}
+%\rhead{} 
+
+\definecolor{light-gray}{gray}{0.90}
+
+\newminted{perl}{linenos, bgcolor=light-gray, fontsize=\scriptsize}
+\newminted{cpp}{bgcolor=light-gray, fontsize=\scriptsize}
+\newminted{tcl}{bgcolor=light-gray, fontsize=\scriptsize}
+\newminted{sh}{bgcolor=light-gray, fontsize=\scriptsize}
+\newminted{basemake}{bgcolor=light-gray, fontsize=\scriptsize}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}%
+% fancy nomenclautur:
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%{{{%
+%\setlength{\nomlabelwidth}{.20\hsize}
+%\renewcommand{\nomlabel}[1]{#1 \dotfill}
+
+%<*sample05>
+\def\@@@nomenclature[#1]#2#3{%
+ \def\@tempa{#2}\def\@tempb{#3}%
+ \protected@write\@nomenclaturefile{}%
+  {\string\nomenclatureentry{#1\nom@verb\@tempa @[{\nom@verb\@tempa}]%
+    |nompageref{\begingroup\nom@verb\@tempb\protect\nomeqref{\theequation}}}%
+    {\thepage}}%
+ \endgroup
+ \@esphack}
+%\def\nompageref#1#2{%
+%  \if@printpageref\pagedeclaration{#2}\else\null\fi
+%  \linebreak#1\nomentryend\endgroup}
+\def\pagedeclaration#1{\dotfill\nobreakspace ~#1}
+%\def\nomentryend{.}
+\def\nomlabel#1{\textbf{#1}\hfil}
+\makeatletter 
+\renewcommand*\dotfill{\leavevmode% 
+  \leaders\hbox{$\m@th 
+  \mkern \@dotsep mu\hbox{.}\mkern \@dotsep 
+  mu$}\hfill\kern\z@} 
+\makeatother
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}%
+% Abbr Commands!
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%{{{%
+\newcommand{\abbr}[2]{\textit{#2} (#1)\nomenclature{#1}{#2 \nomrefpage}}
+\newcommand{\shortabbr}[2]{\nomenclature{#1}{#2 \nomrefpage}}
+\newcommand{\revabbr}[2]{#1 (\textit{#2})\nomenclature{#1}{#2 \nomrefpage}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}%
+% Titlepage                         %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%{{{%
+\input{titlepage}
+\newpage
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}%
+% Table of Contents                 %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%{{{%
+\tableofcontents
+\thispagestyle{empty}
+\addtocontents{toc}{\protect\thispagestyle{empty}}
+\newpage
+\setcounter{page}{1}
+\newpage
+%\setcounter{page}{1}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}%
+% Chapters                          %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%{{{%
+
+
+
+\newpage
+\clearpage
+
+%clear headers
+%\fancyhead{}
+%\fancyfoot{}
+%\fancyfoot[CO, CE] {\thepage}
+
+\input{document_ams}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}%
+\end{document}
diff --git a/doc/documents_systemc_ams/mli.mk b/doc/documents_systemc_ams/mli.mk
new file mode 100644
index 0000000000000000000000000000000000000000..5807035c36d1c472c73539605dd9734fb3831ee4
--- /dev/null
+++ b/doc/documents_systemc_ams/mli.mk
@@ -0,0 +1,397 @@
+###########################################################
+#                 COPYRIGHT                               #
+#                 ---------                               #
+#                                                         #
+# See Copyright Notice in COPYING and license in LICENSE. #
+###########################################################
+
+###################################################
+# Default values of most important make variables #
+###################################################
+
+# mli needs bash
+SHELL		?= /bin/bash
+# Default max number of compilations
+MAXPASSES	?= 30
+# List of figures source directories
+FIGDIR		?= fig
+# Build directory
+BUILDDIR	?= build
+# Verbosity (0: min...)
+V		?= 0
+# Tools
+# LaTeX compilation
+LATEX		?= $(shell which pdflatex 2> /dev/null)
+LATEXFLAGS	?= -shell-escape -halt-on-error -interaction=batchmode -output-directory=$(BUILDDIR)
+# BibTex
+BIBTEX		?= $(shell which bibtex 2> /dev/null)
+BIBTEXFLAGS	?=
+# Xfig to LaTeX/PDF
+FIG2DEV		?= $(shell which fig2dev 2> /dev/null)
+FIG2DEVFLAGS	?=
+# Graphviz to PDF
+DOT		?= $(shell which dot 2> /dev/null)
+DOTFLAGS	?= -Tpdf
+# EPS to PDF
+EPSTOPDF	?= $(shell which epstopdf 2> /dev/null)
+EPSTOPDFFLAGS	?=
+# DIA to EPS
+DIA		?= $(shell which dia 2> /dev/null)
+DIAFLAGS	?= -t eps-pango
+# Gnuplot to PDF
+GNUPLOT		?= $(shell which gnuplot 2> /dev/null)
+GNUPLOTFLAGS	?=
+# SVG to PDF
+SVGTOPDF	?= $(shell which inkscape 2> /dev/null)
+SVGTOPDFFLAGS	?=
+
+#########################################################
+# Normally you shouldn't have to change anything below. #
+# Unless you know what you are doing, of course.        #
+#########################################################
+
+# Verbosity
+MAXV			:= 2
+
+ifeq ($(V),0)
+
+Q	:= @
+ECHO	:= @echo
+P	:= &> /dev/null
+
+else ifeq ($(V),1)
+
+Q	:=
+ECHO	:= @echo -e '\n************************************************************************' && echo
+P	:= &> /dev/null
+
+else
+
+Q	:=
+ECHO	:= @echo -e '\n************************************************************************' && echo
+P	:=
+
+endif
+
+# Files, path...
+TEXTOPS		= $(shell grep -l '[^%]*\\begin{document}' *.tex)
+PDFTARGETS	= $(patsubst %.tex,$(BUILDDIR)/%.pdf,$(TEXTOPS))
+TARGETS		= $(patsubst %.tex,%,$(TEXTOPS))
+TEXFILES	= $(wildcard *.tex)
+
+# Aux files
+TO_STOP_SUFFIXES	= aux bcf fls idx ind lof lot out toc
+TO_CLEAN_SUFFIXES	= $(TO_STOP_SUFFIXES) log bbl blg nav snm vrb
+TO_CLEAN_FILES		= $(foreach t,$(TARGETS),$(foreach s,$(TO_CLEAN_SUFFIXES),$(BUILDDIR)/$(t).$(s) $(BUILDDIR)/$(t).$(s).1))
+
+# Figures build files
+FIGURES	= $(XFIGPDFS) $(XFIGPDFTS) $(DOTPDFS) $(EPSPDFS) $(DIAEPSS) $(DIAPDFS) $(GNUPLOTPDFS) $(SVGPDFS)
+
+.PRECIOUS: $(FIGURES)
+
+define HELP_message
+Main goals:
+  help					print this help (default goal)
+  foo (or BUILDDIR/foo.pdf)		build the BUILDDIR/foo.pdf document
+  all					build all documents
+  clean					delete generated files except PDFs of documents
+  ultraclean				delete all generated files (but not the build directory)
+
+Main make variables (current value):
+  SHELL					must be bash ($(SHELL))
+  MAXPASSES				max number of compilations ($(MAXPASSES))
+  FIGDIR				figures source directory ($(FIGDIR))
+  BUILDDIR				build directory ($(BUILDDIR))
+  V					verbosity - 0...$(MAXV) ($(V))
+Please see mli.mk for other customizable variables.
+
+Buildable documents:
+  $(sort $(TARGETS))
+
+Please report bugs or suggestions of improvements to:
+  Renaud Pacalet <renaud.pacalet@telecom-paristech.fr>
+endef
+export HELP_message
+
+define MAXPASSES_message
+Sorry, $(MAXPASSES) passes were not sufficient to build the document. Keeping
+two last versions of each generated files. Comparing them may help
+understanding the problem:
+  diff $(BUILDDIR)/foo.aux $(BUILDDIR)/foo.aux.1
+Alternately, you can also try to increase the maximum number of passes:
+  make MAXPASSES=5 foo
+or the verbosity level:
+  make V=0...$(MAXV) foo
+endef
+export MAXPASSES_message
+
+# Targets
+help:
+	@echo "$$HELP_message"
+
+debug: 
+	echo $(PDFTARGETS)
+
+all: $(PDFTARGETS)
+
+$(TARGETS): %: $(BUILDDIR)/%.pdf
+
+$(PDFTARGETS) $(FIGURES): | $(BUILDDIR)
+
+##################
+# xfig to PDFTEX #
+##################
+
+define FIG2DEVNOTFOUND_message
+Could not find fig2dev. Cannot produce the pdf from fig sources. Please install
+fig2dev and point your PATH to the fig2dev executable. Alternately you can also
+pass the fig2dev variable wen invoking make:
+  make FIG2DEV=/opt/bin/fig2dev foo
+endef
+export FIG2DEVNOTFOUND_message
+
+# xfig to PDF (figure without text) and LaTeX (text and included PDF)
+define XFIGTOPDF_rule
+
+$(BUILDDIR)/$(2)-fig.pdf: $(1)/$(2).fig
+ifeq ($(FIG2DEV),)
+	@echo "$$FIG2DEVNOTFOUND_message"
+else
+	$(ECHO) "[FIG2DEV]	$$< -> $$@"
+	$(Q)$(FIG2DEV) $(FIG2DEVFLAGS) -L pdftex $$< $$@ $(P)
+endif
+
+$(BUILDDIR)/$(2)-fig.pdf_t: $(1)/$(2).fig $(BUILDDIR)/$(2)-fig.pdf
+ifeq ($(FIG2DEV),)
+	@echo "$$FIG2DEVNOTFOUND_message"
+else
+	$(ECHO) "[FIG2DEV]	$$< -> $$@"
+	$(Q)$(FIG2DEV) $(FIG2DEVFLAGS) -L pdftex_t -p $(BUILDDIR)/$(2)-fig.pdf $$< $$@ $(P)
+endif
+
+XFIGPDFS	+= $(BUILDDIR)/$(2)-fig.pdf
+XFIGPDFTS	+= $(BUILDDIR)/$(2)-fig.pdf_t
+
+endef
+
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.fig,%,$(wildcard $(d)/*.fig)),$(eval $(call XFIGTOPDF_rule,$(d),$(f)))))
+
+#########################
+# dot (graphviz) to PDF #
+#########################
+
+define DOTNOTFOUND_message
+Could not find dot. Cannot produce the PDF from dot sources. Please install dot
+and point your PATH to the dot executable. Alternately you can also pass the dot
+variable wen invoking make:
+  make DOT=/opt/bin/dot foo
+endef
+export DOTNOTFOUND_message
+
+define DOTTOPDF_rule
+
+$(BUILDDIR)/$(2)-dot.pdf: $(1)/$(2).dot
+ifeq ($(DOT),)
+	@echo "$$DOTNOTFOUND_message"
+else
+	$(ECHO) '[DOT]		$$< -> $$@'
+	$(Q)$(DOT) $(DOTFLAGS) -o$$@ $$< $(P)
+endif
+
+DOTPDFS	+= $(BUILDDIR)/$(2)-dot.pdf
+
+endef
+
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.dot,%,$(wildcard $(d)/*.dot)),$(eval $(call DOTTOPDF_rule,$(d),$(f)))))
+
+##############
+# EPS to PDF #
+##############
+
+define EPSTOPDFNOTFOUND_message
+Could not find epstopdf. Cannot produce the PDF from eps sources. Please install epstopdf
+and point your PATH to the epstopdf executable. Alternately you can also pass the epstopdf
+variable wen invoking make:
+  make EPSTOPDF=/opt/bin/epstopdf foo
+endef
+export EPSTOPDFNOTFOUND_message
+
+define EPSTOPDF_rule
+
+$(BUILDDIR)/$(2).eps.pdf: $(1)/$(2).eps
+ifeq ($(EPSTOPDF),)
+	@echo "$$EPSTOPDFNOTFOUND_message"
+else
+	$(ECHO) '[EPSTOPDF]	$$< -> $$@'
+	$(Q)$(EPSTOPDF) $(EPSTOPDFFLAGS) --outfile=$$@ $$< $(P)
+endif
+
+EPSPDFS	+= $(BUILDDIR)/$(2)-eps.pdf
+
+endef
+
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.eps,%,$(filter-out $(DIAEPSS),$(wildcard $(d)/*.eps))),$(eval $(call EPSTOPDF_rule,$(d),$(f)))))
+
+######################
+# dia to EPS and PDF #
+######################
+
+define DIANOTFOUND_message
+Could not find dia. Cannot produce the PDF from dia sources. Please install dia
+and point your PATH to the dia executable. Alternately you can also pass the dia
+variable wen invoking make:
+  make DIA=/opt/bin/dia foo
+endef
+export DIANOTFOUND_message
+
+# dia to EPS and then to PDF
+define DIATOPDF_rule
+
+$(BUILDDIR)/$(2)-dia.eps: $(1)/$(2).dia
+ifeq ($(DIA),)
+	@echo "$$DIANOTFOUND_message"
+else
+	$(ECHO) '[DIA]		$$< -> $$@'
+	$(Q)$(DIA) $(DIAFLAGS) -e $$@ $$< $(P)
+endif
+
+$(BUILDDIR)/$(2)-dia.pdf: $(BUILDDIR)/$(2)-dia.eps
+ifeq ($(EPSTOPDF),)
+	@echo "$$EPSTOPDFNOTFOUND_message"
+else
+	$(ECHO) '[DIAEPSTOPDF]	$$< -> $$@'
+	$(Q)$(EPSTOPDF) $(EPSTOPDFFLAGS) --outfile=$$@ $$< $(P)
+endif
+
+DIAEPSS	+= $(BUILDDIR)/$(2)-dia.eps
+DIAPDFS	+= $(BUILDDIR)/$(2)-dia.pdf
+
+endef
+
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.dia,%,$(wildcard $(d)/*.dia)),$(eval $(call DIATOPDF_rule,$(d),$(f)))))
+
+##################
+# gnuplot to PDF #
+##################
+
+define GNUPLOTNOTFOUND_message
+Could not find gnuplot. Cannot produce the PDF from gnuplot sources. Please install
+gnuplot and point your PATH to the gnuplot executable. Alternately you can
+also pass the GNUPLOT variable wen invoking make:
+  make GNUPLOT=/opt/bin/gnuplot foo
+endef
+export GNUPLOTNOTFOUND_message
+
+define GNUPLOTTOPDF_rule
+
+$(BUILDDIR)/$(2)-gnuplot.pdf: $(1)/$(2).gnuplot
+ifeq ($(GNUPLOT),)
+	@echo "$$GNUPLOTNOTFOUND_message"
+else
+	$(ECHO) '[GNUPLOT]	$$< -> $$@'
+	$(Q)$(GNUPLOT) $(GNUPLOTFLAGS) -e "set output '| ps2pdf - $$@'" $$< $(P)
+endif
+
+GNUPLOTPDFS	+= $(BUILDDIR)/$(2)-gnuplot.pdf
+
+endef
+
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.gnuplot,%,$(wildcard $(d)/*.gnuplot)),$(eval $(call GNUPLOTTOPDF_rule,$(d),$(f)))))
+
+##############
+# SVG to PDF #
+##############
+
+define SVGTOPDFNOTFOUND_message
+Could not find $(SVGTOPDF). Cannot produce the PDF from svg sources. Please install
+$(SVGTOPDF) and point your PATH to the $(SVGTOPDF) executable. Alternately you can
+also pass the SVGTOPDF variable wen invoking make:
+  make SVGTOPDF=/opt/bin/inkscape foo
+endef
+export SVGTOPDFNOTFOUND_message
+
+define SVGTOPDF_rule
+
+$(BUILDDIR)/$(2)-svg.pdf: $(1)/$(2).svg
+ifeq ($(SVGTOPDF),)
+	@echo "$$SVGTOPDFNOTFOUND_message"
+else
+	$(ECHO) '[SVGTOPDF]	$$< -> $$@'
+	$(Q)$(SVGTOPDF) $(SVGTOPDFFLAGS) $$< --export-pdf=$$@ $(P)
+endif
+
+SVGPDFS	+= $(BUILDDIR)/$(2)-svg.pdf
+
+endef
+
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.svg,%,$(wildcard $(d)/*.svg)),$(eval $(call SVGTOPDF_rule,$(d),$(f)))))
+
+define LATEX_run
+.PHONY: $(1)_latex
+
+$(1)_latex:
+	$(ECHO) '[LATEX #$$(N)]	$(1).tex -> $(BUILDDIR)/$(1).pdf'
+	$(Q)$(LATEX) $(LATEXFLAGS) $(1) $(P)
+endef
+$(foreach doc,$(TARGETS),$(eval $(call LATEX_run,$(doc))))
+
+define BIBTEX_run
+.PHONY: $(1)_bibtex
+
+$(1)_bibtex:
+	$(ECHO) '[BIBTEX]	$(BUILDDIR)/$(1).aux -> $(BUILDDIR)/$(1).bbl'
+	-$(Q)$(BIBTEX) $(BUILDDIR)/$(1) $(P)
+endef
+$(foreach doc,$(TARGETS),$(eval $(call BIBTEX_run,$(doc))))
+
+$(PDFTARGETS): $(BUILDDIR)/%.pdf: %.tex
+	@f=$(patsubst %.tex,%,$<) && \
+	for (( i = 1; i <= $(MAXPASSES); i += 1 )); do \
+		stop=1 && \
+		for e in $(TO_STOP_SUFFIXES); do \
+			if [ -f $(BUILDDIR)/$$f.$$e ]; then \
+				cp -f $(BUILDDIR)/$$f.$$e $(BUILDDIR)/$$f.$$e.1; \
+			fi; \
+		done && \
+		$(MAKE) --no-print-directory N=$$i $*_latex && \
+		if [ $$i -eq 1 -a -f $(BUILDDIR)/$$f.aux ] && egrep -q '(\\citation)|(\\bibdata)|(\\bibstyle)' $(BUILDDIR)/$$f.aux; then \
+			stop=0 && \
+			$(MAKE) --no-print-directory $*_bibtex; \
+		fi && \
+		for e in $(TO_STOP_SUFFIXES); do \
+			if [ -f $(BUILDDIR)/$$f.$$e ]; then \
+				if [ ! -f $(BUILDDIR)/$$f.$$e.1 ]; then \
+					stop=0; \
+				elif ! diff --brief $(BUILDDIR)/$$f.$$e $(BUILDDIR)/$$f.$$e.1 &> /dev/null; then \
+					stop=0; \
+				fi; \
+			fi; \
+		done && \
+		if [ $$stop -eq 1 ]; then \
+			break; \
+		fi && \
+		if [ $$i -lt $(MAXPASSES) ]; then \
+			for e in $(TO_STOP_SUFFIXES); do \
+				if [ -f $(BUILDDIR)/$$f.$$e ]; then \
+					cp -f $(BUILDDIR)/$$f.$$e $(BUILDDIR)/$$f.$$e.1; \
+				fi; \
+			done; \
+		fi; \
+	done && \
+	if [ $$i -gt $(MAXPASSES) ]; then \
+		echo "$$MAXPASSES_message" && \
+		exit -1; \
+	fi && \
+	rm -f $(BUILDDIR)/*.1
+
+$(BUILDDIR):
+	$(ECHO) '[MKDIR]		$(BUILDDIR)'
+	$(Q)mkdir -p $(BUILDDIR)
+
+clean:
+	$(ECHO) '[RM]		figures and temporary files'
+	$(Q)rm -f $(FIGURES) $(TO_CLEAN_FILES)
+
+ultraclean: clean
+	$(ECHO) '[RM]		$(PDFTARGETS)'
+	$(Q)rm -f $(PDFTARGETS)