thanks to greensocs for hosting svn repository. Insterested in consulting around Sampa or SystemC, some specific requirements? Go to contact area

What is SampaLib? News Documentation Releases Contact

What is SampaLib?

The Sampa library is a comprehensive C++ library and Lua  ESL toolset to simulate and analyze system on chip architectures through fast cycle accurate transactional level simulation. It includes:
The further releases shall bring more components, full scriptability and probably some graphical environment (for usecases and analysis) developped with QT and Qwt.


Small refresh
Not much work done on the project lately, but wanted to compile it on ubunto 11.10 and found that compilers are less permissive and that post++ has some fixes, so I've made a new release that shall make the initial build easy
Accelerating core model development?
Done some experiments with LuaJit 2.0 on a pure Lua initiator model, reached about 1250000 cycles/seconds. May think of integrating it in place of regular Lua using bitop instead of the hex patch, even if the bit span is limited.
Lost user interface!
Being young father is quite taking a lot time if you want to enjoy it, add a hard disk crash, a relocation to another country, a new job and you end up with not much progress in open source activities. Still as soon as I find time (and cables of backup harddisk, I'll start again working on the GUI!
Started work on user interface
Not much news lately, but I've starting working on a user interface for the analysis of the simulation traces. My newborn is happily taking much of my spare time, so it's difficult forecasting a release date... But I hope to have something to show before the end of year.



see here


see here

Library documentation

Doxygen user documentation (in progress)

White papers:

A Sampalib and SystemC comparison (pdf)


It is currently available under GPL v2



The releases can be found in sourceforge and in greensocs. The latest is also available here.

SVN Repository


They are sourcecode release, intended for linux environments. It is primary developped on ubuntu 64bits Feisty with gcc 4.1.2 on vmware.

Third part libraries included in package:

Third part libraries not included in package

Third part tools, used for documentation


edit the configuration according to your needs. These are located in this file: include/sampa/core/config.h
setup one environment variable
-- assuming cd sampa
export LUA_PATH="`pwd`/scripts/?.lua"
building all, including third part libs with patches
further compilations
make doc

A quick demo

source scripts/
source scripts/
same as previous demo, but with scripted top level

system architecture

channel trace comparison



Thierry Grellier or
Thierry Grellier is the original author of the library. He previously was working in Texas Instruments in OMAP architecture team, as a system engineer studying the system on chip performance, and later worked at Skype on SkypeKit.
Currently he has fun with Spoludo Ou
I'll be happy having some feedback on the interest on using or embedding a library such as Sampa and welcome any requirements.