| Input: n, stores Number of parallel processing NoC. |
| Source, a NoC type array, stores the Source NoC Numbers a part of NoC structure. |
| Destination, a NoC type array, stores the Destination NoC Numbers a part of NoC structure. |
| Payload, a part of NoC structure that holds the data generated as Source NoC. |
| Output: Payload. |
| BEGIN |
| (2) FOR (I = 0 to 4) DO /*Initialization of Elements of Switching Element structure*/ |
| (3) Info = NULL |
| (4) Info1 = NULL |
| (5) Source = −999 |
| (6) Destination = −999 |
| (7) END FOR |
| (8) FOR (I = 0 to 3) DO |
| (9) Payload = 0 /*Initializing payload of all the 4 NoC to 0*/ |
| (10) Number = I /*Numbering of all the 4 NoC from 0 to 3*/ |
| (11) END FOR |
| (12) Get the Number of parallel communicating NoC, n |
| (13) FOR (l = 0 to n) DO |
| (14) Get the Source and Destination NoC S[l], D[l] |
| (15) Get the respective payloads |
| (16) END FOR |
| (17) FOR (x = 0 to n) DO |
| (18) BEGIN |
| /*Stage1: Transferring the “Payload” values from the NoC to the respective “Info” values of Switching Element structure*/ |
| (19) FOR (y = 0 to n−1) DO |
| (20) Transfer the payloads of NoC to the Info of next immediate Switching Elements |
| (21) Transfer the Source NoC Number to the Source of Switching Element |
| (22) Transfer the Destination Number to the Switching Element |
| (23) END FOR |
| /*Stage2: If the communicating NoC are on the same side then check the source and respective destination number of the |
| Switching Element and transferring it to the next Switching Element having empty “Info” value*/ |
| (24) FOR (t = 0 to 2) DO |
| (25) Check Source and respective Destination pair DO |
| (26) Check Info of first linked Switching Element DO |
| (27) IF Info = NULL |
| (28) Transfer Info into this Switching Element |
| (29) Transfer the Source and Destination Number to this Switching Element |
| (30) END IF |
| /*If “Info” of first linked Switching Element is not empty then transfer the packet to the “Info” of Second linked Switching |
| Element*/ |
| (31) ELSE |
| (32) Check Info of Second linked Switching Element DO |
| (33) IF Info = NULL |
| (34) Transfer Info into Switching Element |
| (35) Transfer the Source and Destination Number to the Switching Element |
| (36) END IF |
| /*Stage2: If communicating NoC are on the opposite side then Check the source and respective destination number of the |
| Switching Element and transferring it to Switching Element having empty “Info” value*/ |
| (37) Check Source and respective Destination pair DO |
| (38) Check Info of first linked Switching Element DO |
| (39) IF Info = NULL |
| (40) Transfer Info into this Switching Element |
| (41) Transfer the Source and Destination Number to this Switching Element |
| (42) END IF |
| /*If the “Info” of first linked Switching Element is not empty then transfer the packet to “Info” of Second linked Switching |
| Element*/ |
| (43) ELSE |
| (44) Check Info of Second linked Switching Element DO |
| (45) IF Info = NULL |
| (46) Transfer Info into Switching Element |
| (47) Transfer the Source and Destination Number to the Switching Element |
| (48) END IF |
| /*If the “Info” of first and Second linked Switching Elements are not empty then transfer “Info” To third linked Switching |
| Element*/ |
| (49) ELSE |
| (50) Check Info of third linked Switching Element DO |
| (51) IF Info = NULL |
| (52) Transfer Info into Switching Element |
| (53) Transfer the Source and Destination Number to the Switching Element |
| (54) END IF |
| /*Stage3: If the linked NoC is the destination that is, NoC-0 for SE0, NoC-1 for SE1 NoC-3 for SE2, NoC-4 for SE3 |
| then transfer the “Info” of the Switching Element to their respective linked NoC*/ |
| (55) IF Destination of SE0 = 0 |
| (56) Transfer Info to payload of NoC-0 |
| /*If the linked NoC is not the destination then transfer the “Info” of Switching Element (SE) to the next empty |
| Switching Element. If not then destroy the packet*/ |
| (57) ELSE |
| (58) Transfer Info to first linked Switching Element |
| (59) END IF |
| (60) IF Destination of SE1 = 1 |
| (61) Transfer Info to payload of NoC-1 |
| (62) ELSE |
| (63) Transfer Info to first linked Switching Element |
| (64) END IF |
| (65) IF Destination of SE3 = 2 |
| (66) Transfer Info to payload of NoC-2 |
| (67) ELSE |
| (68) Transfer Info to first linked Switching Element |
| (69) END IF |
| (70) IF Destination of SE4 = 3 |
| (71) Transfer Info to payload of NoC-3 |
| (72) ELSE |
| (73) Transfer Info to first linked Switching Element |
| (74) END IF |
| /*Stage4: Transfer the Info of the Switching Element (that could not be transferred in the previous stage) to the destination |
| NoC*/ |
| (75) Transfer Info of Switching Element to the payload of the Destination NoC |
| (76) END FOR |
| (77) END BEGIN |
| (78) END FOR |
| (79) END BEGIN |
| The run time Complexity of the Algorithm: NoC_PS_IRREGULAR_PNN is |