Automatic Software HardwareCo-Design forReconfigurable Computing Systems