Project done in 2013 as part of the course ECSE 426 - Microprocessor Systems at McGill University