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.py
in your terminal. This should generate an executable calledsitar_translator
inside thetranslator/parser
folder. -
Add the following lines to your
~/.bashrc
file 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/README
for running examples. - Type
sitar -h
at 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