Synthesis Techniques And Optimizations For Reconfigurable Systems by Majid Sarrafzadeh & Ryan Kastner