Designing for System-On-Chip