From cdef9dcf32aabce4e2a867a02723e79e0a18ec5e Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr> Date: Thu, 23 May 2019 18:30:02 +0200 Subject: [PATCH] Adding Hw for NoC --- src/main/java/tmltranslator/TMLArchitecture.java | 7 +++++-- src/main/java/tmltranslator/tonetwork/Link.java | 1 + .../tmltranslator/tonetwork/TMAP2Network.java | 2 ++ .../tonetwork/TranslatedRouter.java | 16 ++++++++++++++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/tmltranslator/TMLArchitecture.java b/src/main/java/tmltranslator/TMLArchitecture.java index 0fa5508605..f86193101e 100755 --- a/src/main/java/tmltranslator/TMLArchitecture.java +++ b/src/main/java/tmltranslator/TMLArchitecture.java @@ -130,8 +130,11 @@ public class TMLArchitecture { return null; } - public void makeHwLink(HwCommunicationNode bus, HwNode node) { - HwLink link = new HwLink(bus.getName() + "__" + node.getName()); + public void makeHwLink(HwBus bus, HwNode node) { + String busName = bus.getName(); + String nodeName = node.getName(); + HwLink link = new HwLink(busName + "__" + nodeName); + link.setNodes(bus, node); addHwLink(link); } diff --git a/src/main/java/tmltranslator/tonetwork/Link.java b/src/main/java/tmltranslator/tonetwork/Link.java index e01d3ee58b..529b96a9f0 100644 --- a/src/main/java/tmltranslator/tonetwork/Link.java +++ b/src/main/java/tmltranslator/tonetwork/Link.java @@ -90,6 +90,7 @@ public class Link { } generateLinks(); + generateHwComponents(); } public Link(TMLModeling tmlm, TranslatedRouter previous, TranslatedRouter next, int nbOfVCs, String add) { diff --git a/src/main/java/tmltranslator/tonetwork/TMAP2Network.java b/src/main/java/tmltranslator/tonetwork/TMAP2Network.java index f8dd20eac3..4094890c29 100644 --- a/src/main/java/tmltranslator/tonetwork/TMAP2Network.java +++ b/src/main/java/tmltranslator/tonetwork/TMAP2Network.java @@ -412,7 +412,9 @@ public class TMAP2Network<E> { } else { node = tmlarchi.getHwExecutionNodeByName(s); bus = tmla.getHwBusByName(node.getName() + "__bus"); + TraceManager.addDev("Found bus=" + bus); } + TraceManager.addDev("Using bus=" + bus + " name=" + bus.getName()); routers[i][j].makeHwArchitectureAndMapping(node, bus); } } diff --git a/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java b/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java index fac6f971cf..764e6fbdcd 100644 --- a/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java +++ b/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java @@ -222,6 +222,11 @@ public class TranslatedRouter<E> { muxTask.generate(inputEventsOfMUX, eventForMUX_and_NI_IN); muxTasks.add(muxTask); allTasks.add(muxTask); + + // We now need to modify the corresponding input tasks + // The channel is modified to NBRNBW + // Once the sample has been sent, the outputEventOfMux is sent + } @@ -477,7 +482,6 @@ public class TranslatedRouter<E> { public void makeOutputEventsChannels() { TMLModeling tmlm = tmlmap.getTMLModeling(); - // Internal events and channels // Between IN and INVC @@ -588,9 +592,14 @@ public class TranslatedRouter<E> { // ALSO: initial, last tasks public void makeHwArchitectureAndMapping(HwExecutionNode execNode, HwBus busToInternalDomain) { TMLArchitecture tmla = tmlmap.getTMLArchitecture(); + int i, j, k; // We first need a bridge for the internal domain + if (busToInternalDomain == null) { + TraceManager.addDev("NULL bus"); + } + HwBridge mainBridge = new HwBridge("BridgeIntennal" + getPositionNaming()); tmla.addHwNode(mainBridge); tmla.makeHwLink(busToInternalDomain, mainBridge); @@ -730,7 +739,10 @@ public class TranslatedRouter<E> { tmla.addHwNode(busOUTToMainBridge); tmla.makeHwLink(busOUTToMainBridge, memNIOUT); tmla.makeHwLink(busOUTToMainBridge, mainBridge); - + + // fake task on CPU + tmlmap.addTaskToHwExecutionNode(fto, node); + } -- GitLab