Design Methodologies For Heterogeneous Integration Platforms