Sitar is a framework for modeling and parallel simulation of synchronous discrete-event systems.
It consists of a custom modeling language and a lightweight, C++ based simulation kernel.
- Linux (tested on Ubuntu 18/20/22)
- Python3
- SCons
- gcc (version >=4.5)
- OpenMP
-
Download or clone this repository, enter the repository and run the installation script by typing
./install.pyin your terminal. This should generate an executable calledsitar_translatorinside thetranslator/parserfolder. -
Add the following lines to your
~/.bashrcfile to use the sitar commands outside the installation folder. Replace<path>with absolute path of the installation folder.export LD_LIBRARY_PATH=<path-to-sitar>/translator/antlr3Cruntime/build/lib:${LD_LIBRARY_PATH} export PATH=<path-to-sitar>/scripts:${PATH}
- Refer to
/examples/READMEfor running examples. - Type
sitar -hat the terminal for command options. - (Optional) for enabling syntax highlighting inside Vim editor for sitar language, refer to
vim/README\
install.py-- Python script for installing Sitardocumentation-- User manual and technical documentationexamples-- Examples of sitar descriptionscore-- C++ code that forms the simulation kerneltranslator-- Code and grammar for the sitar language translatorcompiler-- Script for generating a simulation executable from C++ code auto-generated by sitarscripts-- Script that forms the "sitar" command at the terminalvim-- Syntax highlighting support for vim editor
Sitar is provided with an MIT-license. See LICENSE for more information.
The sitar translator uses AntlrV3 (C-runtime).
For the AntlrV3 licence, see translator/antlr3Cruntime/libantlr3c-3.4/COPYING
