Patent ID: 8885510

Claim:
A method, comprising: determining a width for each of a plurality of virtual channels in a network on chip (NoC) comprising a plurality of hosts interconnected by a plurality of physical wires to form the plurality of virtual channels, based on at least one NoC performance objective for the each of the plurality of virtual channels or a maximum data flow of the each of the plurality of virtual channels, such that at least one of the plurality of virtual channels has a different width than at least another one of the plurality of virtual channels; and providing a message reformatter between connected ones of the plurality of virtual channels, wherein the provided message reformatter is configured to adjust flits of one or more messages between the connected ones of the plurality of virtual channels; wherein the determining the width of each of the plurality of virtual channels based on the at least one NoC performance objective further comprises applying linear programming to determine the width that meets the at least one NoC performance objective, wherein the applying linear programming further comprises constructing a list of constraints for meeting virtual and physical channel performance requirements, and wherein at least one objective function is derived for each of the at least one NoC performance objective based on the list of constraints.