From a6ad0137a4706ed2c51c57d4601bdbf9cb19925c Mon Sep 17 00:00:00 2001 From: Andrea Enrici <andrea.enrici@nokia.com> Date: Mon, 27 Apr 2015 15:40:10 +0000 Subject: [PATCH] --- bin/config.xml | 2 +- src/tmltranslator/TMLTask.java | 10 +-- src/tmltranslator/ctranslator/AdaifMEC.java | 1 - .../ctranslator/AdaifOperationMEC.java | 2 +- .../ctranslator/ArchUnitMEC.java | 1 + src/tmltranslator/ctranslator/Buffer.java | 4 +- src/tmltranslator/ctranslator/CPMEC.java | 22 +----- .../ctranslator/CpuMemoryCopyMEC.java | 8 -- .../ctranslator/DoubleDmaMEC.java | 35 --------- .../ctranslator/FepOperationMEC.java | 6 ++ .../ctranslator/InterleaverBuffer.java | 2 +- .../ctranslator/InterleaverMEC.java | 1 - .../ctranslator/MapperBuffer.java | 2 +- src/tmltranslator/ctranslator/MapperMEC.java | 1 - src/tmltranslator/ctranslator/Operation.java | 12 +-- .../ctranslator/OperationMEC.java | 9 +++ .../ctranslator/SingleDmaMEC.java | 23 ------ .../ctranslator/TMLCCodeGeneration.java | 74 +++++++++---------- src/ui/GTMLModeling.java | 11 +-- src/ui/window/JDialogPortArtifact.java | 1 + 20 files changed, 70 insertions(+), 157 deletions(-) diff --git a/bin/config.xml b/bin/config.xml index 49faf2bec0..af009a518c 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 d0bac2c0f8..9d423c87b1 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 c6e48a3775..28ce717aa5 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 de3433c2e3..f9c55cb747 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 de0d78afa8..ee323034d5 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 5943449e98..1e9346264b 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 87e5cecca8..f7912662e4 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 063215f0ab..b9d86be582 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 831c1df04f..7de817aaaa 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 9c0d850d9f..ef11ace2a8 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 827af280d8..6d65878f31 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 e01853ca74..5be9a7bfb3 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 83e2678222..d4b331b90b 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 8c3575078c..a4c9fd082c 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 3d88045e99..21eed56904 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 96105df7c1..4045db0ae0 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 b5b28cdc35..ae48bc5055 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 f82352c461..ffdf1eeffd 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 b7a62a8ddf..1f3b47d2d7 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 3663f100c7..5e5ac98561 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]; -- GitLab