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