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

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:
- a simulation
kernel, similar to SystemC
- with a hot restart
capability that allows restarting a simulation from a checkpoint even
after some bug fixes,
- Lua
configuration.
-
a
protocol
layer, similar to OCP TL1 channels
-
some
component models
- initiators:
“processor”, periodic traffic
generator,
- targets:
fix latency target
- interconnect:
arbiter, router, bridge
- and tools
- generation:
full interconnect from specification
- analysis:
compare channel requests and responses
The further releases shall bring more components, full scriptability
and probably some graphical environment (for usecases and analysis)
developped with QT
and Qwt.
News
| 05/27/2008 | | 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. |
|
Documentation
Install
see here
Demo
see here
Library documentation
Doxygen user
documentation (in
progress)
White papers:
A
Sampalib and SystemC comparison (pdf)
License
It is currently available under GPL
v2.
Releases
Where?
The releases can be found in sourceforge
and in
greensocs.
The latest is also available here.
Requirements
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:
- Lua,
version 5.1.2, A patch is proposed to extend it with hex type
- Post++
is included in the package
Third part libraries not included in
package
- Boost library, version 1.33.1 or +. It is used for threads.
By default threads are not used, so that the library is optional. It
shall be present with your linux distribution.
Third part tools, used for
documentation
- Doxygen,
version 1.5.2 or +, it is used for documentation this version uses
- Graphviz,
it is used by doxygen to generate graphs
- mscgen,
version 0.6 or +, it is used by doxygen to generate message
sequence charts
Install
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
scripts/build.sh
further compilations
make
make doc
A quick demo
source
scripts/demo.sh
and
source scripts/sldemo.sh
same as previous demo, but with scripted top level

Contact
mail list:sampalib@groups.greensocs.com
 |
contact@sampalib.org
or thierry@sampalib.org
Thierry
Grellier is the original author of the library. He is currently working
in Texas Instruments in OMAP architecture team, as a system engineer
studying the system on chip performance.
I'll
be happy having some feedback on the interest on using or embedding a
library such as Sampa and welcome any requirements. |