From 7961b7ed0179cc99427feeaa27a5cd3b39bf2f9d Mon Sep 17 00:00:00 2001
From: Daniela Genius <genius@debussy.soc.lip6.fr>
Date: Fri, 18 Oct 2019 16:19:47 +0200
Subject: [PATCH] bugfixes SystemC AMS topcell generatiobugfixes SystemC AMS
 topcell generationn

---
 .../toSysCAMS/ClusterCode.java                | 17 ++++++----
 .../toSysCAMS/PrimitiveCode.java              | 33 +++++++++----------
 2 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/src/main/java/syscamstranslator/toSysCAMS/ClusterCode.java b/src/main/java/syscamstranslator/toSysCAMS/ClusterCode.java
index ed41a0f2cf..83f3333ea0 100644
--- a/src/main/java/syscamstranslator/toSysCAMS/ClusterCode.java
+++ b/src/main/java/syscamstranslator/toSysCAMS/ClusterCode.java
@@ -109,8 +109,9 @@ public class ClusterCode {
 				    }
 
 					else{
-			    corpsCluster = corpsCluster + "\tsca_tdf::sca_signal<" + ((SysCAMSTPortConverter) c.get_p1().getComponent()).getConvType()+ "<"+ ((SysCAMSTPortConverter) c.get_p1().getComponent()).getNbits()+"> " + "> " 
-				+ c.getName() + ";" + CR;
+					    // corpsCluster = corpsCluster + "\tsca_tdf::sca_signal<" + ((SysCAMSTPortConverter) c.get_p1().getComponent()).getConvType()+ "<"+ ((SysCAMSTPortConverter) c.get_p1().getComponent()).getNbits()+"> " + "> "
+					 corpsCluster = corpsCluster + "\tsc_core::sc_signal<" + ((SysCAMSTPortConverter) c.get_p1().getComponent()).getConvType()+ "<"+ ((SysCAMSTPortConverter) c.get_p1().getComponent()).getNbits()+"> " + "> "    
+					     + c.getName() + ";" + CR; //DG 18.10.
 			    names.add(c.getName());
 			    }
 		    
@@ -125,14 +126,15 @@ public class ClusterCode {
 		    } else {
 				if( ((SysCAMSTPortConverter) c.get_p2().getComponent()).getNbits()==0 )
 				    { 
-				corpsCluster = corpsCluster + "\tsca_tdf::sca_signal<" + ((SysCAMSTPortConverter) c.get_p2().getComponent()).getConvType() + "> " 
-				    + c.getName() + ";" + CR;
+					//	corpsCluster = corpsCluster + "\tsca_tdf::sca_signal<" + ((SysCAMSTPortConverter) c.get_p2().getComponent()).getConvType() + "> "   + c.getName() + ";" + CR;
+					corpsCluster = corpsCluster + "\tsc_core::sc_signal<" + ((SysCAMSTPortConverter) c.get_p2().getComponent()).getConvType() + "> "   + c.getName() + ";" + CR;	//DG 18.10.
 				names.add(c.getName());
 			    }
 
 		    	else{			   
-			    corpsCluster = corpsCluster + "\tsca_tdf::sca_signal<" + ((SysCAMSTPortConverter) c.get_p2().getComponent()).getConvType()+ "<"+((SysCAMSTPortConverter) c.get_p2().getComponent()).getNbits() + "> > " 
-				+ c.getName() + ";" + CR;
+			    //	    corpsCluster = corpsCluster + "\tsca_tdf::sca_signal<" + ((SysCAMSTPortConverter) c.get_p2().getComponent()).getConvType()+ "<"+((SysCAMSTPortConverter) c.get_p2().getComponent()).getNbits() + "> > " 	+ c.getName() + ";" + CR;
+			    corpsCluster = corpsCluster + "\tsc_core::sc_signal<" + ((SysCAMSTPortConverter) c.get_p2().getComponent()).getConvType()+ "<"+((SysCAMSTPortConverter) c.get_p2().getComponent()).getNbits() + "> > " 	+ c.getName() + ";" + CR;
+			    //DG 18.10.
 			    names.add(c.getName());
 			    } 
 			
@@ -167,7 +169,8 @@ public class ClusterCode {
 			
 		for (SysCAMSTClock t : clock) {
 		   
-		    corpsCluster = corpsCluster + "\t  sc_clock " + t.getName() + " (\"" + t.getName() + "\"," + t.getFrequency()+","+ t.getUnit()+","+ t.getDutyCycle()+","+ t.getStartTime()+","+ t.getUnitStartTime()+","+ t.getPosFirst()+");" + CR;
+		    //	    corpsCluster = corpsCluster + "\t  sc_clock " + t.getName() + " (\"" + t.getName() + "\"," + t.getFrequency()+","+ t.getUnit()+","+ t.getDutyCycle()+","+ t.getStartTime()+","+ t.getUnitStartTime()+","+ t.getPosFirst()+");" + CR;
+	 corpsCluster = corpsCluster + "\t  sc_clock " + t.getName() + " (\"" + t.getName() + "\"," + t.getFrequency()+", SC_MS,"+ t.getDutyCycle()+","+ t.getStartTime()+", SC_MS,"+ t.getPosFirst()+");" + CR;	    
 		}
 					      		
 		nb_block=0;
diff --git a/src/main/java/syscamstranslator/toSysCAMS/PrimitiveCode.java b/src/main/java/syscamstranslator/toSysCAMS/PrimitiveCode.java
index de822c97f0..79ea0ea704 100644
--- a/src/main/java/syscamstranslator/toSysCAMS/PrimitiveCode.java
+++ b/src/main/java/syscamstranslator/toSysCAMS/PrimitiveCode.java
@@ -556,10 +556,12 @@ if (t.getOrigin() == 0) {
 			}
 
 			boolean sensitive = false, method = false;
-			if (!de.getCode().equals("")) {
-				corpsPrimitiveDE = corpsPrimitiveDE + "\t{" + CR + "\t\tSC_METHOD(" + de.getNameFn() + ");" + CR;
+			//if (!de.getCode().equals("")) {
+			    corpsPrimitiveDE = corpsPrimitiveDE + "\t{"+CR;
+			    //	corpsPrimitiveDE = corpsPrimitiveDE + "\t{" + CR + "\t\tSC_METHOD(" + de.getNameFn() + ");" + CR;
+			    if (!de.getCode().equals("")) {
 				method = true;
-			} 
+					} 
 			
 			/*	for (SysCAMSTPortDE t : deports) {
 				if (t.getSensitive() == true) {
@@ -579,31 +581,28 @@ if (t.getOrigin() == 0) {
 
 //DG 17.10.
 			if(de.getClockName()!=""){
-			    corpsPrimitiveDE = corpsPrimitiveDE + "\t\tsensitive << " + de.getClockName()  + ".";
-					if (de.getClockSensitiveMethod().equals("positive")) {
+			    corpsPrimitiveDE = corpsPrimitiveDE + "\t\tsensitive << " + de.getClockName()  + ".pos();"+CR;
+			    /*	if (de.getClockSensitiveMethod().equals("positive")) {
 						corpsPrimitiveDE = corpsPrimitiveDE + "pos();" + CR;
 					} else if (de.getClockSensitiveMethod().equals("negative")) {
 						corpsPrimitiveDE = corpsPrimitiveDE + "neg();" + CR;						
-					}
+						}*/
+			 	sensitive = true;   
 			}
 			//fin ajoute DG
 			
-			for (SysCAMSTPortDE t : deports) {
+			/*for (SysCAMSTPortDE t : deports) {
 				if (t.getSensitive() == true) {
 					if (method == false) {
-						corpsPrimitiveDE = corpsPrimitiveDE + "\t{" + CR;
+						corpsPrimitiveDE = corpsPrimitiveDE + "\t" + CR;
 					} 
-					corpsPrimitiveDE = corpsPrimitiveDE + "\t\tsensitive << " + t.getName() + ";";
-					if (t.getSensitiveMethod().equals("positive")) {
-						corpsPrimitiveDE = corpsPrimitiveDE + "pos();" + CR;
-					} else if (t.getSensitiveMethod().equals("negative")) {
-						corpsPrimitiveDE = corpsPrimitiveDE + "neg();" + CR;						
-						}
-					sensitive = true;
-				}
+					corpsPrimitiveDE = corpsPrimitiveDE + "\t\tsensitive << " + t.getName() + ";"+ CR;						
 				}
+					sensitive = true;
+					}*/
+		
 			
-			if (sensitive == true || method == true) {
+				if (sensitive == true || method == true) {
 				corpsPrimitiveDE = corpsPrimitiveDE + "\t}" + CR2;
 			} else {
 				corpsPrimitiveDE = corpsPrimitiveDE + "\t{}" + CR2;
-- 
GitLab