Processor Design: System-On-Chip Computing for ASICs and FPGAs