Microcontrollers, processors and FPGAs