Network-on-chip packetization and routing method and apparatus for scalable high-performance networking on and off chip
The present invention discloses a computer-implemented method of data transmission for a Network-on-Chip to allow high performance routing through dynamic allocated buffer. The method comprises the steps of transferring command or data in a form of plurality of flits from a source node to a router and further to a destination node, and transmitting the flits from the destination node back to the router, wherein the flits are packetized for transmission according to channel width and transaction width, sequence, and priority routing through physical and virtual channels.
1 . A computer-implemented method of data transmission for a Network-on-Chip, characterized in that said method comprises the steps of:
transferring command or data in a form of a plurality of flits from a source node to a router through one or more physical channels;
transmitting the flits from the router to a destination node through one or more physical channels by:
distributing the flits to a plurality of virtual channel First In First Out (FIFOs);
multiplexing the virtual channel FIFOs for flits entering the destination node;
spanning the flits into multiple flits if the physical channel that the virtual channel resides in has a channel width that is less than the transaction flit width, and incrementing the multiple flits until the end-of-packet before passing on to the next FIFO to a downstream destination node;
transmitting the flits from the destination node to the router through one or more physical channels by:
splitting the flits into multiple cycles based on the width of the physical channel that the flits are mapped to;
sending the flits according to the multiple cycles to the virtual channel;
selecting the virtual channel for sending the flits to the router via the physical channel;
wherein determining the flit sequence by linked-list management and priority routing.
2 . The computer-implemented method as claimed in claim 1 , wherein distributing the flits to the plurality of virtual channel First In First Out (FIFOs) based on each virtual channel FIFOs credit indication.
3 . The computer-implemented method as claimed in claim 1 , wherein the flits from the router to the destination node is transmitted as a request flit or a data flit.
4 . The computer-implemented method as claimed in claim 1 , wherein the flits from the destination node to the router is transmitted as a response flit or a data flit.
5 . The computer-implemented method as claimed in claim 1 , wherein selecting the virtual channel by arbitration for sending the flits to the router via the physical channel.
6 . The computer-implemented method as claimed in claim 1 , wherein the method further comprises generating variables by a linked-list manager to determine destination of the flits before transmitting the flits from the router to the destination node.
7 . The computer-implemented method as claimed in claim 6 , wherein creating a sequence of the flits forming a linked-list once the variables are generated.
8 . The computer-implemented method as claimed in claim 1 , wherein the priority routing comprising priority elevation of the flits in a linked-list when a higher priority flit is enqueued into the linked-list.
9 . An apparatus for data transmission for a Network-on-Chip, comprising:
a processor; and
a non-transitory computer readable medium comprising computer-executable instructions that, when executed by the processor, cause the apparatus to perform the method as claimed in claim 1 .