PIC16C5x : A Microcontroller Core in Verilog