Virtual architecture mapping: a SystemC based methodology for architectural exploration of System-on-Chips