Skip to main content


Showing posts from 2014

Audio Playback using ZPU-Soft Processor in FPGA

Having worked with a variety of microcontrollers from AVR to ARM Cortex controllers, I bought a Xilinx FPGA dev board(papilio One) which around $40 to experiment. After getting comfortable with Verilog HDL, I implemented few data encoders-decoders, communication blocks and played around a while. Then my attention turned towards implementing a Soft-core Processor in FPGA. But I need my own instruction set and a Compiler for my soft-processor too. Besides, intensive googling taught me that there are tons of Soft-processor cores. Finally,I settled with ZPU which a 32-bit softcore processor for xilinx FPGA with good amount of peripherals ranging from timers to communication blocks like UART, SPI etc. It has support for VGA screen drivers too. PROJECT: This project was aimed to implement a system to play a small snippet of audio from FPGA's memory using ZPU - soft-core processor. Components used: Papilio One board- Xilinx Spartan XC3S250E A speaker Misc- Resistor

Shell Scripting to Display Bar Graphs in Linux Terminal

 This week was quite hectic for me with course assignments and their merciless deadlines. One such assignment in Advanced Computer Architecture  was simulation of various benchmarks in alpha architecture in simplescalar , a well-known computer architecture simulator. I was supposed to run a total of 4 benchmarks with different configurations of cache memory, instruction issue widths, commit widths, in-order execution modes, etc and I had to plot the required performance parameters for every benchmark. A conservative estimate would be around 40 plots!  Since the simulation platform was Linux, I could breathe a sigh of relief since most things can be automated using a powerful tool called shell. Scripting made my life easier here since I can automate a bunch of simulations without having to keep an eye on each and every simulation which would take anywhere from 20 minutes to 20 hours.  The problem arose when it came to plotting the performance results. Because, each simulation

Won 2nd place in National Level Electronics Design Contest !!!

Last month could have been never better without the "Electronics For you " design contest ' s results announcement. I was delighted to find my name at the 2nd place in the winner's list under Raspberry Pi category for my project named "Smiley-Pi". Very surprised that my previously discussed project in my blog turned out to be a prize winning project. So what is it?   Smiley - Pi   is a tiny Nokia caller LCD(extensively discussed here & here ) based status notifier for Raspberry-Pi. The name is derived from a mode of operation where it uses various smiley images to indicate system information like temperature. The tiny 0.9", 96x65 monochrome caller LCD of Nokia 2760 is interfaced through bit-banged SPI to the Raspberry-Pi. The base driver application is coded in C and higher level in shell & Python scripts. The user application can use any language which can invoke the driver binaries in it.   Many times we would have