Tejas Architectural Simulator

The Tejas architectural simulator can be used to simulate complex multicore processors, memory hierarchies, and complex NOCs. It has already been used in numerous research papers, and has been used to teach a class in high performance computer architecture with 100 students for the last two years. Unlike other simulators it is written in Java, and it uses Java's unique features to provide a very user friendly environment. Experimental versions of Tejas include a GPU simulator, a Java byte code simulator, and a parallel version of Tejas. For getting access to the experimental versions, or for contributing to the project, please get in touch with Prof. Smruti Sarangi.
Download link

ARM Simulator : EmuArm

EmuArm (version 0.2) : Software, Manual
EmuArm is a graphical ARM ISA emulator. It can be used to write, execute, and debug simple programs written in the ARM assembly language.

File Systems

UsiFe (GPL v2 License): Software
This is a flexible file system that runs on Linux. It allows intra file encryption. It is possible to selectively encrypt/decrypt parts of a file and then display them based on the keys that the user has. The file system has a built in programming interface that patches standard file system calls to incoroporate the extra encryption information. The package contains a user manual. For additional information, the user can refer to our research paper.

UsiFe (GPL v2 License): Open Office Extension , source
This is an Open Office Presentation Extension that adds support for selectively encrypting specific slides in a presentation. In specific, it is possible to hide a set of slides from a given user, and make them visible to another user. It depends on the set of keys that are associated with a user's role.


This is an optical simulation tool kit that contains reference designs for a set of passive optical components -- Y junction, MMI (multi mode interference coupler), directional coupler, ring resonator, and waveguide bend. All the designs can be simulated using the Synopsys RSoft optical simulation toolkit. The technical report describing the designs and thumb rules can be found here .

This is a very flexible and generic python script for plotting bar charts. In specific, it has good support for plotting grouped and stacked bar charts. Modify all the parameters after the line "TO BE MODIFIED". In specific, enter the input file name, number of horizontal and vertical elements, labels for the axes, and the tic intervals. The user would need to install the pychart package. This can be found here.