FPGAs
FPGA circuits can be configured on-the-fly to implement a specific software function with better performance than on microprocessor.
FPGA can be reprogrammed to perform another specific function without changing the underlying hardware.
This flexibility opens new applications of digital circuits.