diff --git a/src/main/java/tmltranslator/TMLArchitecture.java b/src/main/java/tmltranslator/TMLArchitecture.java index 0fa55086051e7a1469a24d553a5d2a19a2e775b9..f86193101e13977a38ab6699aefaeff4f8d8eef5 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 e01d3ee58b5bef63125f411b1a5dedaf7a9e8008..529b96a9f077a470f0691091397543394ffa0c70 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 f8dd20eac3fbe9e2317e48c0ec8268e79a82d653..4094890c29243faa50b4c1fc415af309dbb96f84 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 fac6f971cf23cb86076cd440c1fa96a46f89f436..764e6fbdcd0cc36e045db0886560521feaf44a06 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); + }