From 89e57fc17706e2be7542ce9aec50e2d69a2272e9 Mon Sep 17 00:00:00 2001
From: Daniela Genius <genius@debussy.soc.lip6.fr>
Date: Thu, 19 Jul 2018 13:24:04 +0200
Subject: [PATCH] new device numbering for flat/clustered

---
 MPSoC/mutekh/arch/soclib/ldscript.cpp         |  7 +-----
 .../toTopCell/Declaration.java                | 10 ++++----
 .../ddtranslatorSoclib/toTopCell/NetList.java | 24 ++++++++++++-------
 .../ddtranslatorSoclib/toTopCell/Signal.java  |  1 +
 4 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/MPSoC/mutekh/arch/soclib/ldscript.cpp b/MPSoC/mutekh/arch/soclib/ldscript.cpp
index 780572d627..8c7619853f 100644
--- a/MPSoC/mutekh/arch/soclib/ldscript.cpp
+++ b/MPSoC/mutekh/arch/soclib/ldscript.cpp
@@ -73,12 +73,7 @@ MEMORY
     mem_rom (RXAL): ORIGIN = CONFIG_ROM_ADDR, LENGTH = CONFIG_ROM_SIZE
 #endif
     mem_ram (RWAL): ORIGIN = CONFIG_RAM_ADDR, LENGTH = CONFIG_RAM_SIZE
-//ajoute DG provisiore
-//mwmr_ram (RWAL): ORIGIN = 0xA0200000, LENGTH = 0x00001000
-//mwmrd_ram (RWAL): ORIGIN = 0xB0200000, LENGTH = 0x00003000
-//19.05. une seule RAMLOCKS en cas de besoin (actually unused)
-vci_locks (RWAL): ORIGIN = 0xC0200000, LENGTH = 0x100
-//ajoute DG
+
 #if defined(DEPLOY_RAM0_NAME)
     DEPLOY_RAM0_NAME (RWAL): ORIGIN = DEPLOY_RAM0_ADDR, LENGTH = DEPLOY_RAM0_SIZE
 #endif
diff --git a/src/main/java/ddtranslatorSoclib/toTopCell/Declaration.java b/src/main/java/ddtranslatorSoclib/toTopCell/Declaration.java
index ad42b64896..776243dbfd 100755
--- a/src/main/java/ddtranslatorSoclib/toTopCell/Declaration.java
+++ b/src/main/java/ddtranslatorSoclib/toTopCell/Declaration.java
@@ -198,9 +198,9 @@ public class Declaration
 
 	//No DMA yet; planned to make it optional depending on deployment diagram
 		if (nb_clusters == 0)
-	    {
-		declaration +=
-		    "caba::VciDma<vci_param> vcidma(\"vci_dma\", maptab,6,6,8);"
+	    {	
+		    //"caba::VciDma<vci_param> vcidma(\"vci_dma\", maptab,6,6,8);"
+		   	declaration += "caba::VciDma<vci_param> vcidma(\"vci_dma\", maptab,cpus.size()+3,6,8);"
 		    + CR;
 	    }
 	else
@@ -495,7 +495,7 @@ public class Declaration
 
 			declaration +=
 			    "soclib::caba::VciVgsb<vci_param> vgsb(\"" +
-			    bus.getBusName () + "\"" + " , maptab," + (3 +
+			    bus.getBusName () + "\"" + " , maptab," + (4 +
 								       TopCellGenerator.
 								       avatardd.getNbCPU()) + "," +
 			    (TopCellGenerator.avatardd.getNbRAM() + TopCellGenerator.avatardd.getNbTTY()
@@ -534,7 +534,7 @@ public class Declaration
 			
 			declaration +=
 			    "soclib::caba::VciVgmn<vci_param> vgmn(\"" +
-			    vgmn.getVgmnName () + "\"" + " , maptab, " + (3 +
+			    vgmn.getVgmnName () + "\"" + " , maptab, " + (4 +
 									  TopCellGenerator.
 									  avatardd.
 									  getNbCPU
diff --git a/src/main/java/ddtranslatorSoclib/toTopCell/NetList.java b/src/main/java/ddtranslatorSoclib/toTopCell/NetList.java
index fcfbc7ec84..9fcae6bfee 100755
--- a/src/main/java/ddtranslatorSoclib/toTopCell/NetList.java
+++ b/src/main/java/ddtranslatorSoclib/toTopCell/NetList.java
@@ -184,7 +184,7 @@ public class NetList
 	    netlist =
 		netlist + "  vcifdtrom.add_property(\"freq\", 1000000);" + CR;
 	    netlist = netlist + "  vcifdtrom.end_node();" + CR2;
-
+            netlist = netlist + "cpus[i]->connect(cpus[i], signal_clk, signal_resetn, signal_vci_m[i]);" + CR2;
 	    netlist = netlist + "// connect cpu" + CR;
 	    //   netlist =netlist + " }"+ CR;
 	  
@@ -294,13 +294,15 @@ public class NetList
 		    netlist =
 			netlist +
 			"  vgmn.p_to_target[3](signal_vci_vcisimhelper);" + CR2;
+		    
 		    netlist =
-			netlist + "  vgmn.p_to_target[4](signal_vci_xicu);" + CR;
+			netlist + "  vgmn.p_to_target[4](signal_vci_vcirttimer);" + CR2;
 		    netlist =
-			netlist + "  vgmn.p_to_target[5](signal_vci_vcirttimer);" +
-			CR2;
+			netlist + "  vgmn.p_to_target[5](signal_vci_xicu);" + CR;
 		    netlist =
-			netlist + "  vgmn.p_to_target[6](signal_vci_vcifdtrom);" +
+			netlist + "  vgmn.p_to_target[6](signal_vci_dma);" + CR;
+		    netlist =
+			netlist + "  vgmn.p_to_target[7](signal_vci_vcifdtrom);" +
 			CR2;
 		    netlist =
 			netlist +
@@ -313,6 +315,10 @@ public class NetList
 			netlist +
 			"  vgmn.p_to_initiator[cpus.size()+2](signal_vci_etherneti);"
 			+ CR2;
+		    netlist =
+			netlist +
+			"  vgmn.p_to_initiator[cpus.size()+3](signal_vci_dmai);"
+			+ CR2;
 		}
 	    else
 		{
@@ -597,13 +603,13 @@ public class NetList
 	    }
 
 	//////////////// DMA access
-	//currently short circuited as unused
+
 	netlist = netlist + "vcidma.p_clk(signal_clk);" + CR;
 	netlist = netlist + "vcidma.p_resetn(signal_resetn);" + CR;
 	netlist = netlist + "vcidma.p_vci_target(signal_vci_dma);" + CR;
-        netlist = netlist + "vcidma.p_vci_initiator(signal_vci_dma);" + CR;
-	netlist = netlist + "vcidma.p_irq(signal_xicu_irq[6]);" + CR;
-	
+        netlist = netlist + "vcidma.p_vci_initiator(signal_vci_dmai);" + CR;
+	netlist = netlist + "vcidma.p_irq(signal_xicu_irq[5]);" + CR;
+	//	netlist = netlist + "vgmn.p_to_initiator[cpus.size()+3](signal_vci_dmai);;" + CR;
 	//////////////// fdrom
 
 	netlist = netlist + "{" + CR2;
diff --git a/src/main/java/ddtranslatorSoclib/toTopCell/Signal.java b/src/main/java/ddtranslatorSoclib/toTopCell/Signal.java
index 10a81954b6..798630735f 100755
--- a/src/main/java/ddtranslatorSoclib/toTopCell/Signal.java
+++ b/src/main/java/ddtranslatorSoclib/toTopCell/Signal.java
@@ -105,6 +105,7 @@ public class Signal {
 	signal = signal +" caba::VciSignals<vci_param> signal_vci_vcisimhelper(\"signal_vci_vcisimhelper\");"+ CR;
 	signal = signal +"caba::VciSignals<vci_param> signal_vci_vcirttimer(\"signal_vci_vcirttimer\");"+ CR;
 	signal = signal +"caba::VciSignals<vci_param> signal_vci_dma(\"signal_vci_dma\");"+ CR;
+		signal = signal +"caba::VciSignals<vci_param> signal_vci_dmai(\"signal_vci_dmai\");"+ CR;
 	//signal = signal +"caba::VciSignals<vci_param> signal_vci_mwmr_ram(\"signal_vci_mwmr_ram\");"+ CR;
 	//signal = signal +"caba::VciSignals<vci_param> signal_vci_mwmrd_ram(\"signal_vci_mwmrd_ram\");"+ CR;
 	signal = signal +"caba::VciSignals<vci_param> signal_vci_vcifdaccessi;"+ CR;
-- 
GitLab