Skip to content

A framework for modeling and parallel simulation of synchronous discrete-event systems.

License

Notifications You must be signed in to change notification settings

sitar-sim/sitar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sitar V2.0

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.

Here's an example of a behavioral description in Sitar, the corresponding control flow and the simulation output:

Getting Started

Prerequisites

  • Linux (tested on Ubuntu 18/20/22)
  • Python3
  • SCons
  • gcc (version >=4.5)
  • OpenMP

Installation

  1. 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 called sitar_translator inside the translator/parser folder.

  2. 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}
    

Usage

  • 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\

This folder contains

  • install.py -- Python script for installing Sitar
  • documentation -- User manual and technical documentation
  • examples -- Examples of sitar descriptions
  • core -- C++ code that forms the simulation kernel
  • translator -- Code and grammar for the sitar language translator
  • compiler -- Script for generating a simulation executable from C++ code auto-generated by sitar
  • scripts -- Script that forms the "sitar" command at the terminal
  • vim -- Syntax highlighting support for vim editor

License

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

Authors