Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

Sameer Desai, Some inspiring projects I have written - to share them with you...

  
 

M.S. in Electrical Engineering (Specialized in Computer Architecture, VLSI, ASIC and Circuit Design)
B.E. in Electronics and Communications (Specialized in Electronics, Digital Communications and DSP)

This is more serious stuff......

I have included some of my projects for download... Click here
Some of the programs in "C" are for download... Click here

I have even helped my college department in developing "Analog Circuit Application (ACA)" and the "TV lab" by designing the "Voltage Shunt Feedback Amplifier" and the "EHT and Horizontal Amplifier Section" respectively.

I have also helped as lab instructor for "C".

My other projects include "Guitar Headphone Amplifier" and "PC interface multimeter through serial port". I have been an active participant in IEEE activities, organizing and delivering lectures such as on "Fundamentals of Electronics" and "Pulse Electronics".

My recent Projects...
There are number of files in a single project, so I have zipped all the files in respective projects

N-way Set Associative Cache - This project and the two more projects that follow were a part of my Master's Curriculum. The objective of this project is to simulate the real time processing L1 cache. The simulator has a option to work with/without Victim Cache (which is not like L2 cache). Refer Computer Architecture: A Quantitative Approach by Hannessey and Patterson for more description. The simulator can also choose between two write policies: WTNA (Write through No Allocate) and WBWA (Write back with allocate). The performance with each of the write policies is studied. Various trace files are used (for eg. Gcc, compress, perl) for running this simulator. Because of size considerations I cannot include these trace files but some result files are included. You can generate your own trace file.
Cache.h: This is a header file for the simulation functions for cache
Dmcache.c: This is the main C file where the simulator runs
Result.txt: Sample cache run
Compress.xls: sample design run for compress trace for WTNA policy
(These 4 files are available as cache.zip)

Bimodal, G-Share and Hybrid Branch Predictor with select and Global Branch History - The objective of this project is to simulate the hardware branch predictors used in computers to improve the performance when there are a lot of loops. The main aim of branch predictor is to predict the path of branch and reduce hardware misses to improve the speed of performance. Various branch predictors are studied here. Here also a trace file is used.
Branch.h: The header file containing all the simulator functions
Predictor.c: The main C file where the simulator runs
Result.txt: Sample branch predictor run
Description: Design Description and comparison of various trace files
Design Space search (Design.doc): The extension to above file.Shows various design search description
Hybrid.xls: Design of the branch predictor for optimal performance for specified benchmarks
(These files are available as predictor.zip)

Dynamic Branch Scheduler using Tomasulo's Algorithm - This is one of the best projects. It involves super scalar performance of a computer. The super scalar performance is achieved using Tomasulo's Alogrithm. The instructions are fetched in multiple numbers. They are checked for dependencies and the registers are renamed (This is a beautiful concept which removes anti dependencies). Then they are dispatched according to available bandwidth or direct dependencies. This project can also be implemented using a ROB (re-order buffer).
Tomasulo.h: The header file containing all simulator functions
scheduler.c: The main C file
ipc.txt: The result file showing the superscalar results of the simulator
result.txt: The result file seems kind of weird. The result file is input to a scope tool which produces the pipelined output
scope.txt: The first ten and last ten instructions in a pipelined format
Graphs.xls: The various plots showing IPC (instructions per count) vs. Scheduler Size
Discussion.doc: Discussion of the shape of various graphs.
(These files are available as tomasulo.zip)

These are the Projects in "C"...
The "C" files are in ZIP format... unzip them and then run in "C"

Anidemo1.C - A ball ricocheting along the sides of the computer screen

Password.C - A password program

Mandel.C - Arrangement of mandel brot

Graphic Input demo.C - An example taking input in graphical format

Dance.C - Distortion of DOS screen, appears it is dancing

DiskInfo.C - Program informing about the data space, number of clusters, sectors/clusters, bytes/clusters

ShowTime.C - A program which shows the current system time & the DOS time

CyberProbe.C - A game of arranging balls in two circular rings. If anyone has any algorithm of solving this game, do contact me

Control.C - A program showing the current status of scroll lock, num lock, caps lock, insert, ctrl, alt, left shift and right shift

Gmouse.H (Header file) - A header file showing the functions and data types used for mouse interfacing

MouseDemo.C - A demonstration of mouse on the screen

Admission.C - A front end admission process software. I am too lazy to write the database of this program (very boring). You can use a simple link list and add to the program

Sameer.C - A demonstration of graphic animation. Shows a lot of flicker. A tedious way is there to reduce the flicker, but you can enjoy this

Some more programs...

RS232.C - This program enables communication between 2 PCs using RS232 serial port. This program is incomplete and I invite you to complete it

Tout.C - Transmitting module of RS232 serial communication

Rinp.C - Receiving module of RS232 serial communication

ShortP.C - This program uses DJAKSTRA as algorithm to compute short S path between 2 nodes on the network. This is the routing algorithm used in network layer

Time_si.C - This program simulates the switching mechanism used in network communications, specifically time slot interchange

 

 

| Home | Know Me | My Résumé | Technical Papers/Projects | Work Portfolio | Cool Links | Contact Me |