This document discusses application-to-architecture mapping and hardware-software codesign. It describes traditional bottom-up and top-down design methodologies. It then summarizes hardware-software partitioning techniques including integer linear programming and global criticality/local phase approaches. Platform-based design is emerging as a trend, reusing architectures like Texas Instruments' OMAP platform or processor-centric platforms like Tensilica's Xtensa.