The roles of FPGAs in reprogrammable systems | Synapse