A method to design a Networks on Chips (NoCs)-based communication 
system for connecting on-
chip components in a multicore 
system, said 
system comprising several elements communicating through the communication system, said communication system comprising at least switches, said method comprising the steps of modelling the applications running on the multicore system, establishing the number and configuration of switches to connect the elements, establishing physical 
connectivity between the elements and the switches, for each two pairs of communicating elements: (a) a defining a communication path, (b) calculating 
metrics as affected by the need to render said path into physical 
connectivity, taking into account any previously defined physical 
connectivity, (c) iterating the steps a and b for a plurality of possible paths, (d) choosing the path having the optimal 
metrics, and (e) establishing any missing physical connectivity between the switches so that the selected optimal path occurs across physically connected switches.