Simultaneous Memory and Bus Partitioning for SoC Architectures