A system-level approach to hardware reconfigurable systems