High Level Design Methodology For Reconfigurable Systems