diff --git a/bin/config.xml b/bin/config.xml index 49faf2bec0a411f03a2424cdbe6374f83727b775..af009a518c81c4d1fee51763ec7fdccb9e98785c 100755 --- a/bin/config.xml +++ b/bin/config.xml @@ -61,7 +61,7 @@ <ExternalCommand2Host data="localhost"/> <ExternalCommand2 data="/packages/uppaal(4.0.11/uppaal /home/enrici/TURTLE/uppaal/spec.xml"/> -<LastOpenFile data="/home/enrici/TURTLE/modeling/SmartCardProtocol.xml"/> +<LastOpenFile data="/home/enrici/TURTLE/modeling/droneATRASC01Vierge.xml"/> diff --git a/src/tmltranslator/TMLTask.java b/src/tmltranslator/TMLTask.java index d0bac2c0f8769cdb1b7aa4fc4ffa697c9d30fb83..9d423c87b1edb43bd4d36736271ca4208cee5f6a 100755 --- a/src/tmltranslator/TMLTask.java +++ b/src/tmltranslator/TMLTask.java @@ -61,7 +61,7 @@ public class TMLTask extends TMLElement { private HashSet<TMLChannel> readTMLChannelsList; private HashSet<TMLChannel> writeTMLChannelsList; private HashSet<TMLEvent> eventsList; - private OperationMEC operationMEC; + private int operationType; public TMLTask(String name, Object referenceToClass, Object referenceToActivityDiagram) { @@ -352,12 +352,12 @@ public class TMLTask extends TMLElement { return new ArrayList<TMLEvent>( eventsList ); } - public void addOperationMEC( OperationMEC _operationMEC ) { - operationMEC = _operationMEC; + public void addOperationType( int _operationType ) { + operationType = _operationType; } - public OperationMEC getOperationMEC() { - return operationMEC; + public int getOperationType() { + return operationType; } public void removeEmptyInfiniteLoop() { diff --git a/src/tmltranslator/ctranslator/AdaifMEC.java b/src/tmltranslator/ctranslator/AdaifMEC.java index c6e48a37756269541a0e448227644100612d2f07..28ce717aa501c20a63829c622f609b23a33f9df8 100644 --- a/src/tmltranslator/ctranslator/AdaifMEC.java +++ b/src/tmltranslator/ctranslator/AdaifMEC.java @@ -51,7 +51,6 @@ import java.util.*; public class AdaifMEC extends ArchUnitMEC { - public static final String Context = "ADAIF_CONTEXT"; public static final String Ctx_cleanup = "adaif_ctx_cleanup"; public static final String Operation = "Adaif operation"; diff --git a/src/tmltranslator/ctranslator/AdaifOperationMEC.java b/src/tmltranslator/ctranslator/AdaifOperationMEC.java index de3433c2e3ac1131091984c3fe4a292dc1bd222c..f9c55cb7478c0f3e4dd470be076e1e0fce8253d5 100644 --- a/src/tmltranslator/ctranslator/AdaifOperationMEC.java +++ b/src/tmltranslator/ctranslator/AdaifOperationMEC.java @@ -52,7 +52,7 @@ import java.util.*; public class AdaifOperationMEC extends OperationMEC { - public AdaifOperationMEC( String ctxName, String ID0, String OD0 ) { + public AdaifOperationMEC( String ctxName ) { name = "AdaifOperationMEC"; exec_code = TAB + "int status;" + CR + TAB + "adaif_wait(&" + ctxName + ");" + CR + TAB + diff --git a/src/tmltranslator/ctranslator/ArchUnitMEC.java b/src/tmltranslator/ctranslator/ArchUnitMEC.java index de0d78afa893cd9cd6a95b9c9208d29489085bdd..ee323034d5ce4c26bce7453f6f76002719682351 100755 --- a/src/tmltranslator/ctranslator/ArchUnitMEC.java +++ b/src/tmltranslator/ctranslator/ArchUnitMEC.java @@ -62,6 +62,7 @@ public abstract class ArchUnitMEC { public String CR = "\n"; public String TAB = "\t"; + protected int index; protected String initCtxRoutine; protected String ctxCleanupRoutine; diff --git a/src/tmltranslator/ctranslator/Buffer.java b/src/tmltranslator/ctranslator/Buffer.java index 5943449e986c577f55e2b8d84517979f93e7d745..1e9346264bf4054abee9bad05881a324fccb3586 100755 --- a/src/tmltranslator/ctranslator/Buffer.java +++ b/src/tmltranslator/ctranslator/Buffer.java @@ -88,10 +88,10 @@ public class Buffer { code = "struct" + SP + name + TAB + "{" + CR + "}" + SC; } - public Buffer( TMLPort _port ) { + /*public Buffer( TMLPort _port ) { port = _port; name = "buff__" + port.getName(); - } + }*/ public String toString() { if( port != null ) { diff --git a/src/tmltranslator/ctranslator/CPMEC.java b/src/tmltranslator/ctranslator/CPMEC.java index 87e5cecca8f07cce77f74aa6b3c6d9603ed318e1..f7912662e431d7004e96e9de8452ebf6ddef4d98 100755 --- a/src/tmltranslator/ctranslator/CPMEC.java +++ b/src/tmltranslator/ctranslator/CPMEC.java @@ -55,15 +55,9 @@ public abstract class CPMEC { public String CR = "\n"; public String TAB = "\t"; - public String node_type = new String(); - public String inst_type = new String(); - public String inst_decl = new String(); - public String buff_type = new String(); - public String buff_init = new String(); + public String init_code = new String(); public String exec_code = new String(); - public String messages_code = new String(); - public String attributes_code = new String(); public String cleanup_code = new String(); public static final String[] cpTypes = { "Memory Copy", "Single DMA", "Double DMA" }; @@ -84,10 +78,6 @@ public abstract class CPMEC { public static final String sourceStorage = "Src_Storage_Instance"; public static final String destinationStorage = "Dst_Storage_Instance"; - public CPMEC() { - node_type = "1"; - } - public String getExecCode() { return exec_code; } @@ -100,14 +90,4 @@ public abstract class CPMEC { return cleanup_code; } - public String toString() { - return node_type; - } - - public void saveFile( String path, String filename ) throws FileException { - - TraceManager.addUser( "Saving C CP file in " + path + filename ); - FileUtils.saveFile( path + filename, this.toString() ); - } - } //End of class diff --git a/src/tmltranslator/ctranslator/CpuMemoryCopyMEC.java b/src/tmltranslator/ctranslator/CpuMemoryCopyMEC.java index 063215f0abf8d26348c5fc65c9e09c6c3f49861e..b9d86be582ead130332650e920456895026916bb 100644 --- a/src/tmltranslator/ctranslator/CpuMemoryCopyMEC.java +++ b/src/tmltranslator/ctranslator/CpuMemoryCopyMEC.java @@ -51,9 +51,6 @@ import java.util.*; public class CpuMemoryCopyMEC extends CPMEC { - public static final String Context = "EMBB_CONTEXT"; - public static final String Ctx_cleanup = "embb_ctx_cleanup"; - public static final int MaxParameters = 3; public static final int destinationAddressIndex = 0; public static final int sourceAddressIndex = 1; @@ -62,11 +59,6 @@ public class CpuMemoryCopyMEC extends CPMEC { private String memoryBaseAddress = "0"; public CpuMemoryCopyMEC( String ctxName, ArchUnitMEC archMEC, String sizeString ) { - node_type = "CpuMemoryCopy"; - inst_type = "MEMORY_COPY"; - inst_decl = "VOID"; - buff_type = "MM_BUFFER_TYPE"; - buff_init = "VOID"; exec_code = TAB + "embb_mem2ip((EMBB_CONTEXT *)&" + ctxName + ", (uintptr_t) " + memoryBaseAddress + ", /*USER TODO: *SRC */, " + sizeString + " );" + CR; init_code = TAB + archMEC.getCtxInitCode() + "((EMBB_CONTEXT *)&" + ctxName + ", " + "(uintptr_t) " + archMEC.getLocalMemoryPointer() + " );" + CR; diff --git a/src/tmltranslator/ctranslator/DoubleDmaMEC.java b/src/tmltranslator/ctranslator/DoubleDmaMEC.java index 831c1df04fdf1516167e026aef24725f7e9cc95d..7de817aaaa97babd232957ef62e69ce9b6612e7c 100755 --- a/src/tmltranslator/ctranslator/DoubleDmaMEC.java +++ b/src/tmltranslator/ctranslator/DoubleDmaMEC.java @@ -50,9 +50,6 @@ import java.util.*; public class DoubleDmaMEC extends CPMEC { - public static final String Context = "EMBB_CONTEXT"; - public static final String Ctx_cleanup = "dma_ctx_cleanup"; - public static final int MaxParameters = 6; public static final int destinationAddress1Index = 0; public static final int sourceAddress1Index = 1; @@ -70,26 +67,8 @@ public class DoubleDmaMEC extends CPMEC { private String memoryBaseAddress = "0"; - public DoubleDmaMEC( String ctxName ) { - - node_type = "DoubleDmaMEC"; - inst_type = "VOID"; - inst_decl = "EMBB_DMA_CONTEXT"; - buff_type = "MM_BUFFER_TYPE"; - buff_init = "VOID"; - exec_code = TAB + "embb_dma_start(&" + ctxName + ", /*USER TO DO: SRC_ADDRESS*/, /*USER TO DO: DST_ADDRESS*/, /*USER TO DO: NUM_SAMPLES */ );" + CR; - init_code = TAB + "embb_dma_ctx_init(&" + ctxName + ", /*USER TO DO: DMA_DEVICE*/, /*USER TO DO: DST_DEV*/, NULL );" + CR; - cleanup_code = TAB + "embb_dma_ctx_cleanup(&" + ctxName + ");"; - } - public DoubleDmaMEC( String ctxName, ArchUnitMEC archMEC, int srcMemoryType, int dstMemoryType, int transferType, String sizeString ) { - node_type = "DoubleDmaMEC"; - inst_type = "VOID"; - inst_decl = "EMBB_DMA_CONTEXT"; - buff_type = "MM_BUFFER_TYPE"; - buff_init = "VOID"; - switch( srcMemoryType ) { case Buffer.FepBuffer: memoryBaseAddress = "fep_mss"; @@ -132,18 +111,4 @@ public class DoubleDmaMEC extends CPMEC { } } -// public DoubleDmaMEC( String ctxName, String destinationAddress1, String sourceAddress1, String size1, String destinationAddress2, String sourceAddress2, String size2 ) { -// -// node_type = "DoubleDmaMEC"; -// inst_type = "VOID"; -// inst_decl = "EMBB_DMA_CONTEXT"; -// buff_type = "MM_BUFFER_TYPE"; -// buff_init = "VOID"; -// exec_code = TAB + "embb_dma_start(&" + ctxName + ", (uintptr_t) " + sourceAddress1 + ", (uintptr_t) " + destinationAddress1 + ", (size_t) " + size1 + " );" + CR; -// exec_code += TAB + "embb_dma_start(&" + ctxName + ", (uintptr_t) " + sourceAddress2 + ", (uintptr_t) " + destinationAddress2 + ", (size_t) " + size2 + " );" + CR; -// init_code = TAB + "embb_dma_ctx_init(&" + ctxName + ", /*USER TO DO: DMA_DEVICE*/, /*USER TO DO: DST_DEV*/, NULL );" + CR; -// init_code += TAB + "embb_dma_ctx_init(&" + ctxName + ", /*USER TO DO: DMA_DEVICE*/, /*USER TO DO: DST_DEV*/, NULL );" + CR; -// cleanup_code = TAB + "embb_dma_ctx_cleanup(&" + ctxName + ");"; -// } - } //End of class diff --git a/src/tmltranslator/ctranslator/FepOperationMEC.java b/src/tmltranslator/ctranslator/FepOperationMEC.java index 9c0d850d9f8a0af89ea0ca3178dc5f7ce5171c3c..ef11ace2a8ccbf03814e81e82c09bb41d2c6f4b2 100755 --- a/src/tmltranslator/ctranslator/FepOperationMEC.java +++ b/src/tmltranslator/ctranslator/FepOperationMEC.java @@ -52,6 +52,12 @@ import myutil.*; public abstract class FepOperationMEC extends OperationMEC { + public static final int CwmMEC = 0; + public static final int CwlMEC = 1; + public static final int CwaMEC = 2; + public static final int CwpMEC = 3; + public static final int FftMEC = 4; + public static final int SumMEC = 5; public FepOperationMEC() { name = "FepOperationMEC"; diff --git a/src/tmltranslator/ctranslator/InterleaverBuffer.java b/src/tmltranslator/ctranslator/InterleaverBuffer.java index 827af280d85c43a09f857be929027eac96d251a5..6d65878f319549ddcf26a881de3a71985d7db2af 100644 --- a/src/tmltranslator/ctranslator/InterleaverBuffer.java +++ b/src/tmltranslator/ctranslator/InterleaverBuffer.java @@ -37,7 +37,7 @@ knowledge of the CeCILL license and that you accept its terms. /** - * Class FEPBuffer + * Class InterleaverBuffer * Creation: 11/02/2014 * @version 1.0 11/02/2014 * @author Andrea ENRICI diff --git a/src/tmltranslator/ctranslator/InterleaverMEC.java b/src/tmltranslator/ctranslator/InterleaverMEC.java index e01853ca741eeaa3611c567539ae9a6fdc6ddc41..5be9a7bfb36eee179ef490a4f407d31b0161b6ec 100644 --- a/src/tmltranslator/ctranslator/InterleaverMEC.java +++ b/src/tmltranslator/ctranslator/InterleaverMEC.java @@ -51,7 +51,6 @@ import java.util.*; public class InterleaverMEC extends ArchUnitMEC { - public static final String Context = "INTL_CONTEXT"; public static final String Ctx_cleanup = "intl_ctx_cleanup"; public static final String Operation = "Interleaver operation"; diff --git a/src/tmltranslator/ctranslator/MapperBuffer.java b/src/tmltranslator/ctranslator/MapperBuffer.java index 83e267822296e20de2c5662cd9f579471e4c2c6d..d4b331b90bb079d0cb13aeeab194881443420001 100644 --- a/src/tmltranslator/ctranslator/MapperBuffer.java +++ b/src/tmltranslator/ctranslator/MapperBuffer.java @@ -37,7 +37,7 @@ knowledge of the CeCILL license and that you accept its terms. /** - * Class FEPBuffer + * Class MapperBuffer * Creation: 11/02/2014 * @version 1.0 11/02/2014 * @author Andrea ENRICI diff --git a/src/tmltranslator/ctranslator/MapperMEC.java b/src/tmltranslator/ctranslator/MapperMEC.java index 8c3575078c202e926e4e249cd2a0413585f12c1a..a4c9fd082c8162f87e40d5d09bf930f4e090c7a4 100644 --- a/src/tmltranslator/ctranslator/MapperMEC.java +++ b/src/tmltranslator/ctranslator/MapperMEC.java @@ -51,7 +51,6 @@ import java.util.*; public class MapperMEC extends ArchUnitMEC { - public static final String Context = "MAPPER_CONTEXT"; public static final String Ctx_cleanup = "mapper_ctx_cleanup"; public static final String Operation = "Mapper operation"; diff --git a/src/tmltranslator/ctranslator/Operation.java b/src/tmltranslator/ctranslator/Operation.java index 3d88045e99a3b9f357c0cb95e4c97e42ff9ea9a5..21eed5690429d92787a0917ce4e074474d37d379 100755 --- a/src/tmltranslator/ctranslator/Operation.java +++ b/src/tmltranslator/ctranslator/Operation.java @@ -73,14 +73,6 @@ public class Operation { private boolean isPrex; private boolean isPostex; - //Constructor for SDR operations, before the introduction of signals - /*public Operation( TMLTask _task1, TMLTask _task2 ) { //First pass the F task - name = _task1.getName().split( "__" )[1].split( "F_" )[1]; - fTask = _task1; - xTask = _task2; - type = 1; //SDR - }*/ - //Constructor for SDR operations with input (READ channels and events) and output (WRITE channels and events) signals public Operation( TMLTask _xTask, TMLTask _fTask, HwNode _xHwNode, HwNode _fHwNode, ArrayList<Signal> _inSignals, Signal _outSignal, Buffer _inBuffer, Buffer _outBuffer, boolean _isPrex, boolean _isPostex ) { //First pass the F task name = _xTask.getName().split( "__" )[1].split( "F_" )[1]; @@ -220,8 +212,7 @@ public class Operation { "outBuffer: " + outBuffer.toString(); } else if( inSignals.size() == 0 ) { - s += //"OPERATION " + name + "\n\t" + - "outSignal: " + outSignal.getName() + "\n\t" + + s += "outSignal: " + outSignal.getName() + "\n\t" + "X task HwExecutionNode: " + xHwNode.getName() + "\n\t" + "X task MEC: " + xHwNode.getArchUnitMEC().toString() + "\n\t" + "F task HwExecutionNode: " + fHwNode.getName() + "\n\t" + @@ -229,7 +220,6 @@ public class Operation { "outBuffer: " + outBuffer.toString(); } else if( outSignal == null ) { - //s = "OPERATION " + name + "\n\t"; for( Signal sig: inSignals ) { s += "inSignal: " + sig.getName() + "\n\t"; } diff --git a/src/tmltranslator/ctranslator/OperationMEC.java b/src/tmltranslator/ctranslator/OperationMEC.java index 96105df7c13cb10e17f0205b9629fb26822274ea..4045db0ae04af616a1ff3c4dcc5ba5761287d2af 100755 --- a/src/tmltranslator/ctranslator/OperationMEC.java +++ b/src/tmltranslator/ctranslator/OperationMEC.java @@ -52,6 +52,15 @@ import myutil.*; public abstract class OperationMEC { + public static final int MappOperationMEC = 0; + public static final int IntlOperationMEC = 1; + public static final int AdaifOperationMEC = 2; + public static final int CpuOperationMEC = 3; + public static final int FepOperationMEC = 4; + + private static final String[] contextArray = { "MAPPER_CONTEXT", "INTL_CONTEXT", "ADAIF_CONTEXT", "EMBB_CONTEXT", "FEP_CONTEXT" }; + public static final ArrayList<String> ContextList = new ArrayList( Arrays.asList( contextArray ) ); + protected String CR = "\n"; protected String TAB = "\t"; protected String name = new String(); diff --git a/src/tmltranslator/ctranslator/SingleDmaMEC.java b/src/tmltranslator/ctranslator/SingleDmaMEC.java index b5b28cdc354207525ad4b86fd8fee7dd1e4056a7..ae48bc5055a6d4f412fb93978e2722eba2185999 100755 --- a/src/tmltranslator/ctranslator/SingleDmaMEC.java +++ b/src/tmltranslator/ctranslator/SingleDmaMEC.java @@ -62,23 +62,8 @@ public class SingleDmaMEC extends CPMEC { private String memoryBaseAddress = "0"; - public SingleDmaMEC( String ctxName ) { - - node_type = "SingleDmaMEC"; - inst_type = "VOID"; - inst_decl = "EMBB_DMA_CONTEXT"; - buff_type = "MM_BUFFER_TYPE"; - buff_init = "VOID"; - } - public SingleDmaMEC( String ctxName, ArchUnitMEC archMEC, int srcMemoryType, int dstMemoryType, int transferType, String sizeString ) { - node_type = "SingleDmaMEC"; - inst_type = "VOID"; - inst_decl = "EMBB_DMA_CONTEXT"; - buff_type = "MM_BUFFER_TYPE"; - buff_init = "VOID"; - switch( srcMemoryType ) { case Buffer.FepBuffer: memoryBaseAddress = "fep_mss"; @@ -124,13 +109,5 @@ public class SingleDmaMEC extends CPMEC { } } - - public String getInitCode() { - return init_code; - } - - public String getCleanupCode() { - return cleanup_code; - } } //End of class diff --git a/src/tmltranslator/ctranslator/TMLCCodeGeneration.java b/src/tmltranslator/ctranslator/TMLCCodeGeneration.java index f82352c46180b30b2ad010369a3887672dc989a5..ffdf1eeffdbf3bf7099aa8dc0e8bfd8b242b6918 100755 --- a/src/tmltranslator/ctranslator/TMLCCodeGeneration.java +++ b/src/tmltranslator/ctranslator/TMLCCodeGeneration.java @@ -148,23 +148,23 @@ public class TMLCCodeGeneration { makeSignalsList(); //make the signals associated to operations, based on the tasks of operations for( Signal sig: signalsList ) { - TraceManager.addDev( sig.toString() + CR ); + //TraceManager.addDev( sig.toString() + CR ); appendToDebugFile( sig.toString() + CR2 ); } makeOperationsList( mappedTasks ); //make the list of operations based on the tasks in the app model setMappingParametersToBuffers(); for( Buffer buff: buffersList ) { - TraceManager.addDev( buff.toString() + CR ); + //TraceManager.addDev( buff.toString() + CR ); appendToDebugFile( buff.toString() + CR ); } makeDataTransfersList(); for( DataTransfer dt: dataTransfersList ) { - TraceManager.addDev( dt.toString() ); + //TraceManager.addDev( dt.toString() ); appendToDebugFile( dt.toString() ); } appendToDebugFile( "\n" ); for( Operation op: operationsList ) { - TraceManager.addDev( op.toString() ); + //TraceManager.addDev( op.toString() ); appendToDebugFile( op.toString() + CR ); } closeDebugFile(); @@ -732,38 +732,38 @@ public class TMLCCodeGeneration { inBuff = op.getInBuffer(); outBuff = op.getOutBuffer(); ctxName = op.getContextName(); - OperationMEC xTaskOperation = xTask.getOperationMEC(); + int xTaskOperationType = xTask.getOperationType(); if( declaration ) { if( inBuff == null ) { //for source operation buffersString.append( "extern" + SP + outBuff.getType() + SP + outBuff.getName() + SC + CR ); - instructionsString.append( "extern" + SP + xTask.getOperationMEC().getContext() + SP + ctxName + SC + CR ); + instructionsString.append( "extern" + SP + OperationMEC.ContextList.get( xTaskOperationType ) + SP + ctxName + SC + CR ); } else { if( outBuff == null ) { //for sink operation buffersString.append( "extern" + SP + inBuff.getType() + SP + inBuff.getName() + SC + CR ); - instructionsString.append( "extern" + SP + xTask.getOperationMEC().getContext() + SP + ctxName + SC + CR ); + instructionsString.append( "extern" + SP + OperationMEC.ContextList.get( xTaskOperationType ) + SP + ctxName + SC + CR ); } else { //for all the remaining operations buffersString.append( "extern" + SP + inBuff.getType() + SP + inBuff.getName() + SC + CR ); buffersString.append( "extern" + SP + outBuff.getType() + SP + outBuff.getName() + SC + CR ); - instructionsString.append( "extern" + SP + xTask.getOperationMEC().getContext() + SP + ctxName + SC + CR ); + instructionsString.append( "extern" + SP + OperationMEC.ContextList.get( xTaskOperationType ) + SP + ctxName + SC + CR ); } } } else { if( inBuff == null ) { //for source operation buffersString.append( outBuff.getType() + SP + outBuff.getName() + SC + CR ); - instructionsString.append( xTask.getOperationMEC().getContext() + SP + ctxName + SC + CR ); + instructionsString.append( OperationMEC.ContextList.get( xTaskOperationType ) + SP + ctxName + SC + CR ); } else { if( outBuff == null ) { //for sink operation buffersString.append( inBuff.getType() + SP + inBuff.getName() + SC + CR ); - instructionsString.append( xTask.getOperationMEC().getContext() + SP + ctxName + SC + CR ); + instructionsString.append( OperationMEC.ContextList.get( xTaskOperationType ) + SP + ctxName + SC + CR ); } else { //for all the remaining operations buffersString.append( inBuff.getType() + SP + inBuff.getName() + SC + CR ); buffersString.append( outBuff.getType() + SP + outBuff.getName() + SC + CR ); - instructionsString.append( xTask.getOperationMEC().getContext() + SP + ctxName + SC + CR ); + instructionsString.append( OperationMEC.ContextList.get( xTaskOperationType ) + SP + ctxName + SC + CR ); } } } @@ -961,7 +961,7 @@ public class TMLCCodeGeneration { TMLTask xTask = op.getSDRTasks().get( Operation.X_TASK ); TMLTask fTask = op.getSDRTasks().get( Operation.F_TASK ); - OperationMEC xTaskOperation = xTask.getOperationMEC(); + int xTaskOperationType = xTask.getOperationType(); if( op.getOutSignal() != null ) { signalOutName = op.getOutSignal().getName(); @@ -980,40 +980,40 @@ public class TMLCCodeGeneration { code.append( TAB + "sig[" + sig.getName() + "].f = false;" + CR ); } - if( xTaskOperation instanceof CwpMEC ) { + if( xTaskOperationType == FepOperationMEC.CwpMEC ) { CwpMEC cwp = new CwpMEC( ctxName, signalInName, signalOutName ); code.append( cwp.getExecCode() ); } - else if( xTaskOperation instanceof CwmMEC ) { + else if( xTaskOperationType == FepOperationMEC.CwmMEC ) { CwmMEC cwm = new CwmMEC( ctxName, signalInName, signalOutName ); code.append( cwm.getExecCode() ); } - else if( xTaskOperation instanceof CwaMEC ) { + else if( xTaskOperationType == FepOperationMEC.CwaMEC ) { CwaMEC cwa = new CwaMEC( ctxName, signalInName, "", signalOutName ); code.append( cwa.getExecCode() ); } - else if( xTaskOperation instanceof CwlMEC ) { + else if( xTaskOperationType == FepOperationMEC.CwlMEC ) { CwlMEC cwl = new CwlMEC( ctxName, signalInName, signalOutName ); code.append( cwl.getExecCode() ); } - else if( xTaskOperation instanceof SumMEC ) { + else if( xTaskOperationType == FepOperationMEC.SumMEC ) { SumMEC sum = new SumMEC( ctxName, signalInName, signalOutName ); code.append( sum.getExecCode() ); } - else if( xTaskOperation instanceof FftMEC ) { + else if( xTaskOperationType == FepOperationMEC.FftMEC ) { FftMEC fft = new FftMEC( ctxName, signalInName, signalOutName ); code.append( fft.getExecCode() ); } - else if( xTaskOperation instanceof MappOperationMEC ) { + else if( xTaskOperationType == OperationMEC.MappOperationMEC ) { MappOperationMEC mapp = new MappOperationMEC( ctxName, signalInName, signalOutName ); code.append( mapp.getExecCode() ); } - else if( xTaskOperation instanceof IntlOperationMEC ) { + else if( xTaskOperationType == OperationMEC.IntlOperationMEC ) { IntlOperationMEC intl = new IntlOperationMEC( ctxName, signalInName, signalOutName ); code.append( intl.getExecCode() ); } - else if( xTaskOperation instanceof AdaifOperationMEC ) { - AdaifOperationMEC adaif = new AdaifOperationMEC( ctxName, signalInName, signalOutName ); + else if( xTaskOperationType == OperationMEC.AdaifOperationMEC ) { + AdaifOperationMEC adaif = new AdaifOperationMEC( ctxName ); code.append( adaif.getExecCode() ); } @@ -1250,8 +1250,8 @@ public class TMLCCodeGeneration { initFileString.append( "/**** variables ****/" + CR2 ); initFileString.append( "char fep_mss[0x10000];" + CR ); initFileString.append( "char adaif_mss[0x10000];" + CR ); - initFileString.append( "char intl_mss[0x10000];" + CR ); - initFileString.append( "char mapper_mss[0x10000];" + CR ); + initFileString.append( "char intl_mss[0x41000];" + CR ); + initFileString.append( "char mapper_mss[0x8000];" + CR ); initFileString.append( buffersAndInstructionsDeclaration( false ) + CR2 ); generateCodeToInitializeBuffers(); generateCodeToInitializeSignals(); @@ -1262,8 +1262,8 @@ public class TMLCCodeGeneration { if( op.getType() == Operation.SDR ) { TMLTask xTask = op.getSDRTasks().get( Operation.X_TASK ); TMLTask fTask = op.getSDRTasks().get( Operation.X_TASK ); - OperationMEC xTaskOperation = xTask.getOperationMEC(); - OperationMEC fTaskOperation = fTask.getOperationMEC(); + int xTaskOperationType = xTask.getOperationType(); + int fTaskOperationType = fTask.getOperationType(); ctxName = op.getContextName(); if( op.getInSignals().size() > 0 ) { inSignalName = op.getInSignals().get(0).getName(); @@ -1277,43 +1277,43 @@ public class TMLCCodeGeneration { else { outSignalName = "noOutSignal"; } - if( xTaskOperation instanceof CwpMEC ) { + if( xTaskOperationType == FepOperationMEC.CwpMEC ) { CwpMEC cwp = new CwpMEC( ctxName, inSignalName, outSignalName ); init_code = cwp.getInitCode(); } - else if( xTaskOperation instanceof CwmMEC ) { + else if( xTaskOperationType == FepOperationMEC.CwmMEC ) { CwmMEC cwm = new CwmMEC( ctxName, inSignalName, outSignalName ); init_code = cwm.getInitCode(); } - else if( xTaskOperation instanceof CwaMEC ) { + else if( xTaskOperationType == FepOperationMEC.CwaMEC ) { CwaMEC cwa = new CwaMEC( ctxName, inSignalName, "", outSignalName ); init_code = cwa.getInitCode(); } - else if( xTaskOperation instanceof CwlMEC ) { + else if( xTaskOperationType == FepOperationMEC.CwlMEC ) { CwlMEC cwl = new CwlMEC( ctxName, inSignalName, outSignalName ); init_code = cwl.getInitCode(); } - else if( xTaskOperation instanceof SumMEC ) { + else if( xTaskOperationType == FepOperationMEC.SumMEC ) { SumMEC sum = new SumMEC( ctxName, inSignalName, outSignalName ); init_code = sum.getInitCode(); } - else if( xTaskOperation instanceof FftMEC ) { + else if( xTaskOperationType == FepOperationMEC.FftMEC ) { FftMEC fft = new FftMEC( ctxName, inSignalName, outSignalName ); init_code = fft.getInitCode(); } - else if( xTaskOperation instanceof IntlOperationMEC ) { + else if( xTaskOperationType == OperationMEC.IntlOperationMEC ) { IntlOperationMEC intl = new IntlOperationMEC( ctxName, inSignalName, outSignalName ); initFileString.append( intl.getInitCode() + CR ); } - else if( xTaskOperation instanceof MappOperationMEC ) { + else if( xTaskOperationType == OperationMEC.MappOperationMEC ) { MappOperationMEC mapp = new MappOperationMEC( ctxName, inSignalName, outSignalName ); initFileString.append( mapp.getInitCode() + CR ); } - else if( xTaskOperation instanceof AdaifOperationMEC ) { - AdaifOperationMEC adaif = new AdaifOperationMEC( ctxName, inSignalName, outSignalName ); + else if( xTaskOperationType == OperationMEC.AdaifOperationMEC ) { + AdaifOperationMEC adaif = new AdaifOperationMEC( ctxName ); initFileString.append( adaif.getInitCode() + CR ); } - else if( xTaskOperation instanceof CpuOperationMEC ) { + else if( xTaskOperationType == OperationMEC.CpuOperationMEC ) { CpuOperationMEC cpu = new CpuOperationMEC( ctxName, inSignalName, outSignalName ); initFileString.append( cpu.getInitCode() + CR ); } diff --git a/src/ui/GTMLModeling.java b/src/ui/GTMLModeling.java index b7a62a8ddf11b24ee1ab620a8eb1379808ba97e3..1f3b47d2d7934db55eb404637ca7ec9fbc7548a5 100755 --- a/src/ui/GTMLModeling.java +++ b/src/ui/GTMLModeling.java @@ -2831,13 +2831,9 @@ public class GTMLModeling { for(TMLArchiArtifact artifact:artifacts) { s = artifact.getReferenceTaskName() + "__" + artifact.getTaskName(); TraceManager.addDev( "Exploring " + s ); - /*ArchUnitMEC p = artifact.getMECofTask(); - String op = artifact.getOperation();*/ s = s.replaceAll("\\s", ""); - //TraceManager.addDev("name=" + s); ttask = tmlm.getTMLTaskByName(s); if (ttask != null) { - //TraceManager.addDev("not null prio=" + artifact.getPriority()); ttask.setPriority(artifact.getPriority()); } } @@ -2975,8 +2971,7 @@ public class GTMLModeling { //TraceManager.addDev("Exploring artifact " + artifact.getValue()); s = artifact.getReferenceTaskName(); ArchUnitMEC mec = artifact.getArchUnitMEC(); - OperationMEC op = artifact.getOperationMECOfTask(); - //TraceManager.addDev( "Creating mapping DS: " + op ); + int operationType = artifact.getOperationType(); TraceManager.addDev("1) Trying to get task named:" + s); s = s.replaceAll("\\s", ""); TraceManager.addDev("2) Trying to get task named:" + s); @@ -2984,8 +2979,8 @@ public class GTMLModeling { TraceManager.addDev("3) Trying to get task named:" + s); task = tmlm.getTMLTaskByName(s); if (task != null) { - if( op != null ) { - task.addOperationMEC( op ); + if( operationType != -1 ) { + task.addOperationType( operationType ); } ((HwExecutionNode)node).addMECToHwExecutionNode( mec ); map.addTaskToHwExecutionNode(task, (HwExecutionNode)node); diff --git a/src/ui/window/JDialogPortArtifact.java b/src/ui/window/JDialogPortArtifact.java index 3663f100c7ff67f7f90cb163d611b36c739ac1b8..5e5ac98561758d8fbba3d3021d6f759c16586728 100755 --- a/src/ui/window/JDialogPortArtifact.java +++ b/src/ui/window/JDialogPortArtifact.java @@ -183,6 +183,7 @@ public class JDialogPortArtifact extends javax.swing.JDialog implements ActionLi index = 0;//indexOf(list, artifact.getFullValue()); //parse each entry of list. Entry is in format AppName::chIn__chOut for( String s: list ) { + TraceManager.addDev( "Parsing: " + s ); String[] temp1 = s.split("__"); String[] temp2 = temp1[0].split( "::" ); String chOut = temp2[0] + "::" + temp1[1];