From 7bbefbd919fb18d79a79dd31f551f56c67c09c79 Mon Sep 17 00:00:00 2001
From: Daniela Genius <genius@debussy.soc.lip6.fr>
Date: Thu, 23 Feb 2017 15:49:57 +0100
Subject: [PATCH] make spies co-exist in topcell

---
 src/ddtranslatorSoclib/toTopCell/Code.java    | 22 +-----------------
 .../toTopCell/Declaration.java                | 10 ++++----
 src/ddtranslatorSoclib/toTopCell/NetList.java | 23 ++++++++++---------
 3 files changed, 18 insertions(+), 37 deletions(-)

diff --git a/src/ddtranslatorSoclib/toTopCell/Code.java b/src/ddtranslatorSoclib/toTopCell/Code.java
index a87425e37d..2f361b1228 100755
--- a/src/ddtranslatorSoclib/toTopCell/Code.java
+++ b/src/ddtranslatorSoclib/toTopCell/Code.java
@@ -146,27 +146,7 @@ public class Code {
 	}
     }
     } */
-  
-      //If there is a spy, add logger or stats to vci interface
-  for (AvatarCPU cpu : TopCellGenerator.avatardd.getAllCPU()) { 
-    // if(){
-	  if(cpu.getMonitored()==1){
-	  creation=creation+
-	  "vci_logger0.p_clk(signal_clk);" +CR+
-	  "vci_logger0.p_resetn(signal_resetn);" +CR+
-	  "vci_logger0.p_vci(p_vci(m));" +CR2;
-
-	      }
-	  else{
-	      if(cpu.getMonitored()==2){ 
-		  creation=creation+
-	  "mwmr_stats0.p_clk(signal_clk);" +CR+
-	  "mwmr_stats0.p_resetn(signal_resetn);" +CR+
-	  "mwmr_stats0.p_vci(p_vci(m));" +CR2;
-	      }
-	  }
-}
-//}
+    
 	  creation=creation+"template <class Iss>" + CR +
 	  "INIT_TOOLS(initialize_tools){" + CR ;
 	    
diff --git a/src/ddtranslatorSoclib/toTopCell/Declaration.java b/src/ddtranslatorSoclib/toTopCell/Declaration.java
index 155fe2e865..6127735a64 100755
--- a/src/ddtranslatorSoclib/toTopCell/Declaration.java
+++ b/src/ddtranslatorSoclib/toTopCell/Declaration.java
@@ -230,21 +230,21 @@ if(nb_clusters==0){
 	     
 	      if (cpu.getMonitored()==1){
 		 
-		  declaration += "soclib::caba::VciLogger<vci_param> logger"+i+"(\"logger" + i+"\",maptab);" + CR2;
+		  declaration += "soclib::caba::VciLogger<vci_param> vci_logger"+i+"(\"logger" + i+"\",maptab);" + CR2;
 		  i++;	      
 	      }	
-	      else{
-		  if (cpu.getMonitored()==2){		      
+	      /* else{
+		  	  if (cpu.getMonitored()==2){		      
              
 		      String strArray="";		      
 		      //DG 30.01. no channels in case of cpu monitoring; does this make sense? channels associated to RAM not CPU and potentially any CPU can access any RAM...think about	
 		      declaration += "soclib::caba::VciMwmrStats<vci_param> mwmr_stats"+i+"(\"mwmr_stats" + i+"\",maptab, data_ldr, \"mwmr"+i+".log\",stringArray("+strArray+"NULL));" + CR2;
 		      i++;	      
 		  }	
-	     }
+		  }*/
 	  }	 
  
-
+ i=0;
 	  //monitoring RAM either by logger(1) ou stats (2) 
 	  for (AvatarRAM ram : TopCellGenerator.avatardd.getAllRAM()) { 
 	     
diff --git a/src/ddtranslatorSoclib/toTopCell/NetList.java b/src/ddtranslatorSoclib/toTopCell/NetList.java
index 6dd593dee7..b7a996c73f 100755
--- a/src/ddtranslatorSoclib/toTopCell/NetList.java
+++ b/src/ddtranslatorSoclib/toTopCell/NetList.java
@@ -377,24 +377,25 @@ public class NetList {
 		    }
 	   }*/
 	
-i=0;
+   //If there is a spy, add logger or stats to vci interface
+
+	    i=0;
    for (AvatarCPU cpu : TopCellGenerator.avatardd.getAllCPU()) { 
-    // if(){
+       int number = cpu.getNo_proc();	
 	  if(cpu.getMonitored()==1){
 	  netlist=netlist+
-	  "vci_logger0.p_clk(signal_clk);" +CR+
-	  "vci_logger0.p_resetn(signal_resetn);" +CR+
-	  "vci_logger0.p_vci(p_vci(m));" +CR2;
-
+	  "vci_logger"+i+".p_clk(signal_clk);" +CR+
+	  "vci_logger"+i+".p_resetn(signal_resetn);" +CR+	     
+	  "vci_logger"+i+".p_vci(signal_vci_m["+number+"]);" +CR2;
 	      }
-	  else{
+	  /* else{//stats pas encore pour CPU
 	      if(cpu.getMonitored()==2){ 
 		  netlist=netlist+
-	  "mwmr_stats0.p_clk(signal_clk);" +CR+
-	  "mwmr_stats0.p_resetn(signal_resetn);" +CR+
-	  "mwmr_stats0.p_vci(p_vci(i));" +CR2;
+	  "mwmr_stats"+i+".p_clk(signal_clk);" +CR+
+	  "mwmr_stats"+i+".p_resetn(signal_resetn);" +CR+	     
+	  "mwmr_stats"+i+".p_vci(signal_vci_m["+number+"]);" +CR2;
 	      }
-	  }
+	      }*/
 	  i++;
    }
  
-- 
GitLab