Multidisciplinary Senior Design: Upcycled Plastic Bottle Chip Melter

Available on RIT’s EDGE Website

As part of RIT’s Multidisciplinary Senior Design, I was on a team designing and building a device to be used in the community of El Sauce, Nicaragua, for melting shredded plastic bottles and creating a usable product for the community. The team was composed of Industrial, Mechanical, and Electrical Engineering students. I was responsible for designing and integrating the control subsystem for the device, and as Lead Electrical Engineer I was responsible for overseeing the integration and design of the whole electrical subsystem.

For more details on the project overall and the work our team did on it, see our RIT EDGE website.

nxdRISC 16-bit Microprocessor

This project was started for RIT’s EEEE521 Design of Computer Systems course, and was enhanced and extended for EEEE721 Advanced Topics in Computer Systems Design. It is a simple 16-bit RISC architecture with a four stage pipeline and a single-level cache with basic enhancements such as hit-under-miss and early restart. It uses a Harvard architecture with separate instruction and data memory, with each of the memories having its own cache. It also supports external interrupts and allows for interfacing with an external PS/2 keyboard and VGA display.

The nxdRISC microprocessor is written in Verilog, and while it is being tested on two Altera FPGAs (the DE0-Nano and DE0-CV), it is designed such that it should run on other FPGAs with minimal modifications. For example, it uses Intel IP cores for the RAM and ROM modules, however, these could be replaced with other memory modules without changing the operation of the processor.

This project is not currently available publicly on my Github. Now that I have completed the courses that it is for, I plan to clean up the code base and make the repository public when it is ready.

Assembler for nxdRISC

Available on GitHub

In order to write test programs for the nxdRISC architecture, a simple assembler was written to generate binary-format programs from a simple assembly language. This assembler was written in C# and was designed with extensibility in mind, which helped as I added improvements during EEEE721.

Digital Circuit Analysis

Available on GitHub

This project was done as a final assignment for RIT’s EEEE346 Advanced Programming for Engineers course. It presents a way of writing a library of classes to aid in simulating and analyzing digital logic networks.