A Practical Guide for Simulation and FPGA Implementation of Digital Design (Computer Architecture and Design Methodologies)