From 20edfdac9da11f1b22305238045b6ce70af75efe Mon Sep 17 00:00:00 2001 From: jerray <jawher.jerray@eurecom.fr> Date: Tue, 25 Jul 2023 15:20:00 +0200 Subject: [PATCH] add new tests for parallel transfers --- .../DiplodocusSimulatorTest.java | 222 +++++++++--------- .../testParallel-R-R-Transfers.tarchi | 148 ++++++++++++ .../simulator/testParallel-R-R-Transfers.tmap | 32 +++ .../simulator/testParallel-R-R-Transfers.tml | 41 ++++ .../testParallel-W-R-Transfers.tarchi | 140 +++++++++++ .../simulator/testParallel-W-R-Transfers.tmap | 34 +++ .../simulator/testParallel-W-R-Transfers.tml | 41 ++++ ...rchi => testParallel-W-W-Transfers.tarchi} | 0 ...s.tmap => testParallel-W-W-Transfers.tmap} | 4 +- ...ers.tml => testParallel-W-W-Transfers.tml} | 0 10 files changed, 550 insertions(+), 112 deletions(-) create mode 100644 ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tarchi create mode 100644 ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tmap create mode 100644 ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tml create mode 100644 ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tarchi create mode 100644 ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tmap create mode 100644 ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tml rename ttool/src/test/resources/tmltranslator/simulator/{testParallelTransfers.tarchi => testParallel-W-W-Transfers.tarchi} (100%) rename ttool/src/test/resources/tmltranslator/simulator/{testParallelTransfers.tmap => testParallel-W-W-Transfers.tmap} (90%) rename ttool/src/test/resources/tmltranslator/simulator/{testParallelTransfers.tml => testParallel-W-W-Transfers.tml} (100%) diff --git a/ttool/src/test/java/tmltranslator/DiplodocusSimulatorTest.java b/ttool/src/test/java/tmltranslator/DiplodocusSimulatorTest.java index 0bd95ec2e9..a50719ba50 100644 --- a/ttool/src/test/java/tmltranslator/DiplodocusSimulatorTest.java +++ b/ttool/src/test/java/tmltranslator/DiplodocusSimulatorTest.java @@ -45,8 +45,8 @@ public class DiplodocusSimulatorTest extends AbstractTest { // model with paths allowing parallel transfers private static final String SIM_KEYWORD_TIME_BEG = "Simulated time:"; private static final String SIM_KEYWORD_TIME_END = "time"; - final String MODEL_PARALLEL_TRANSFERS = "testParallelTransfers"; - final String SIMUL_END_TIME = "3"; + final String[] MODELS_PARALLEL_TRANSFERS = {"testParallel-W-W-Transfers", "testParallel-R-R-Transfers", "testParallel-W-R-Transfers"}; + final String[] SIMULS_END_TIME = {"3", "3", "3"}; private String SIM_DIR; @BeforeClass @@ -604,136 +604,138 @@ public class DiplodocusSimulatorTest extends AbstractTest { @Test public void testPathsWithParallelTransfers() throws Exception { - String s = MODEL_PARALLEL_TRANSFERS; - SIM_DIR = DIR_GEN + s + "/"; - System.out.println("executing: checking syntax " + s); + for (int i = 0; i < MODELS_PARALLEL_TRANSFERS.length; i++) { + String s = MODELS_PARALLEL_TRANSFERS[i]; + SIM_DIR = DIR_GEN + s + "/"; + System.out.println("executing: checking syntax " + s); - // Load the TML - System.out.println("executing: loading " + s); - TMLMappingTextSpecification tmts = new TMLMappingTextSpecification(s); - File f = new File(RESOURCES_DIR + s + ".tmap"); - System.out.println("executing: new file loaded " + s); - String spec = null; - try { - spec = FileUtils.loadFileData(f); - } catch (Exception e) { - System.out.println("Exception executing: loading " + s); - assertTrue(false); - } - System.out.println("executing: testing spec " + s); - assertTrue(spec != null); - System.out.println("executing: testing parsed " + s); - boolean parsed = tmts.makeTMLMapping(spec, RESOURCES_DIR); - assertTrue(parsed); - System.out.println("executing: checking syntax " + s); + // Load the TML + System.out.println("executing: loading " + s); + TMLMappingTextSpecification tmts = new TMLMappingTextSpecification(s); + File f = new File(RESOURCES_DIR + s + ".tmap"); + System.out.println("executing: new file loaded " + s); + String spec = null; + try { + spec = FileUtils.loadFileData(f); + } catch (Exception e) { + System.out.println("Exception executing: loading " + s); + assertTrue(false); + } + System.out.println("executing: testing spec " + s); + assertTrue(spec != null); + System.out.println("executing: testing parsed " + s); + boolean parsed = tmts.makeTMLMapping(spec, RESOURCES_DIR); + assertTrue(parsed); + System.out.println("executing: checking syntax " + s); - // Checking syntax - TMLMapping tmap = tmts.getTMLMapping(); - TMLSyntaxChecking syntax = new TMLSyntaxChecking(tmap); - syntax.checkSyntax(); - assertTrue(syntax.hasErrors() == 0); + // Checking syntax + TMLMapping tmap = tmts.getTMLMapping(); + TMLSyntaxChecking syntax = new TMLSyntaxChecking(tmap); + syntax.checkSyntax(); + assertTrue(syntax.hasErrors() == 0); - // Generate C code - System.out.println("executing: sim code gen for " + s); - final IDiploSimulatorCodeGenerator tml2systc; - List<EBRDD> al = new ArrayList<EBRDD>(); - List<TEPE> alTepe = new ArrayList<TEPE>(); - tml2systc = DiploSimulatorFactory.INSTANCE.createCodeGenerator(tmap, al, alTepe); - tml2systc.setModelName(s); - String error = tml2systc.generateSystemC(false, true); - assertTrue(error == null); - File directory = new File(SIM_DIR); - if (! directory.exists()){ - directory.mkdirs(); - } + // Generate C code + System.out.println("executing: sim code gen for " + s); + final IDiploSimulatorCodeGenerator tml2systc; + List<EBRDD> al = new ArrayList<EBRDD>(); + List<TEPE> alTepe = new ArrayList<TEPE>(); + tml2systc = DiploSimulatorFactory.INSTANCE.createCodeGenerator(tmap, al, alTepe); + tml2systc.setModelName(s); + String error = tml2systc.generateSystemC(false, true); + assertTrue(error == null); + File directory = new File(SIM_DIR); + if (! directory.exists()){ + directory.mkdirs(); + } - // Putting sim files - System.out.println("SIM executing: sim lib code copying for " + s); - ConfigurationTTool.SystemCCodeDirectory = getBaseResourcesDir() + "../../../../simulators/c++2/"; - boolean simFiles = SpecConfigTTool.checkAndCreateSystemCDir(SIM_DIR); - System.out.println("SIM executing: sim lib code copying done with result " + simFiles); - assertTrue(simFiles); - System.out.println("SIM Saving file in: " + SIM_DIR); - tml2systc.saveFile(SIM_DIR, "appmodel"); + // Putting sim files + System.out.println("SIM executing: sim lib code copying for " + s); + ConfigurationTTool.SystemCCodeDirectory = getBaseResourcesDir() + "../../../../simulators/c++2/"; + boolean simFiles = SpecConfigTTool.checkAndCreateSystemCDir(SIM_DIR); + System.out.println("SIM executing: sim lib code copying done with result " + simFiles); + assertTrue(simFiles); + System.out.println("SIM Saving file in: " + SIM_DIR); + tml2systc.saveFile(SIM_DIR, "appmodel"); - // Compile it - System.out.println("executing: compile"); - Process proc; - BufferedReader proc_in; - String str; - boolean mustRecompileAll; - Penalties penalty = new Penalties(SIM_DIR + File.separator + "src_simulator"); - int changed = penalty.handlePenalties(false); - if (changed == 1) { - mustRecompileAll = true; - } else { - mustRecompileAll = false; - } + // Compile it + System.out.println("executing: compile"); + Process proc; + BufferedReader proc_in; + String str; + boolean mustRecompileAll; + Penalties penalty = new Penalties(SIM_DIR + File.separator + "src_simulator"); + int changed = penalty.handlePenalties(false); + if (changed == 1) { + mustRecompileAll = true; + } else { + mustRecompileAll = false; + } - if (mustRecompileAll) { - System.out.println("executing: " + "make -C " + SIM_DIR + " clean"); + if (mustRecompileAll) { + System.out.println("executing: " + "make -C " + SIM_DIR + " clean"); + try { + proc = Runtime.getRuntime().exec("make -C " + SIM_DIR + " clean"); + proc_in = new BufferedReader(new InputStreamReader(proc.getInputStream())); + while ((str = proc_in.readLine()) != null) { + System.out.println("executing: " + str); + } + } catch (Exception e) { + // probably make is not installed + System.out.println("FAILED: executing: " + "make -C " + SIM_DIR + " clean"); + return; + } + } + + System.out.println("executing: " + "make -C " + SIM_DIR); try { - proc = Runtime.getRuntime().exec("make -C " + SIM_DIR + " clean"); + proc = Runtime.getRuntime().exec("make -C " + SIM_DIR + ""); proc_in = new BufferedReader(new InputStreamReader(proc.getInputStream())); + monitorError(proc); while ((str = proc_in.readLine()) != null) { System.out.println("executing: " + str); } } catch (Exception e) { - // probably make is not installed - System.out.println("FAILED: executing: " + "make -C " + SIM_DIR + " clean"); + // Probably make is not installed + System.out.println("FAILED: executing: " + "make -C " + SIM_DIR); return; } - } - - System.out.println("executing: " + "make -C " + SIM_DIR); - try { - proc = Runtime.getRuntime().exec("make -C " + SIM_DIR + ""); - proc_in = new BufferedReader(new InputStreamReader(proc.getInputStream())); - monitorError(proc); - while ((str = proc_in.readLine()) != null) { - System.out.println("executing: " + str); - } - } catch (Exception e) { - // Probably make is not installed - System.out.println("FAILED: executing: " + "make -C " + SIM_DIR); - return; - } - System.out.println("SUCCESS: executing: " + "make -C " + SIM_DIR); + System.out.println("SUCCESS: executing: " + "make -C " + SIM_DIR); - // Run the simulator - String graphPath = SIM_DIR + "testgraph_" + s; - try { + // Run the simulator + String graphPath = SIM_DIR + "testgraph_" + s; + try { - String[] params = new String[3]; + String[] params = new String[3]; - params[0] = "./" + SIM_DIR + "run.x"; - params[1] = "-cmd"; - params[2] = "1 0; 1 7 100 100 " + graphPath; - proc = Runtime.getRuntime().exec(params); - //proc = Runtime.getRuntime().exec("./" + SIM_DIR + "run.x -explo -gname testgraph_" + s); - proc_in = new BufferedReader(new InputStreamReader(proc.getInputStream())); + params[0] = "./" + SIM_DIR + "run.x"; + params[1] = "-cmd"; + params[2] = "1 0; 1 7 100 100 " + graphPath; + proc = Runtime.getRuntime().exec(params); + //proc = Runtime.getRuntime().exec("./" + SIM_DIR + "run.x -explo -gname testgraph_" + s); + proc_in = new BufferedReader(new InputStreamReader(proc.getInputStream())); - monitorError(proc); + monitorError(proc); - boolean simulationTime = false; - while ((str = proc_in.readLine()) != null) { - System.out.println("executing: " + str); - if (str.startsWith(SIM_KEYWORD_TIME_BEG)) { - String str1 = str.substring(SIM_KEYWORD_TIME_BEG.length()); - int index = str1.indexOf(SIM_KEYWORD_TIME_END); - System.out.println("executing: str1=" + str1); - if (index != -1) { - String str2 = str1.substring(0, index).trim(); - System.out.println("executing: str2=" + str2); - simulationTime = str2.compareTo(SIMUL_END_TIME) == 0; + boolean simulationTime = false; + while ((str = proc_in.readLine()) != null) { + System.out.println("executing: " + str); + if (str.startsWith(SIM_KEYWORD_TIME_BEG)) { + String str1 = str.substring(SIM_KEYWORD_TIME_BEG.length()); + int index = str1.indexOf(SIM_KEYWORD_TIME_END); + System.out.println("executing: str1=" + str1); + if (index != -1) { + String str2 = str1.substring(0, index).trim(); + System.out.println("executing: str2=" + str2); + simulationTime = str2.compareTo(SIMULS_END_TIME[i]) == 0; + } } } + assertTrue(simulationTime); + } catch (Exception e) { + // Probably make is not installed + System.out.println("FAILED: executing simulation"); + return; } - assertTrue(simulationTime); - } catch (Exception e) { - // Probably make is not installed - System.out.println("FAILED: executing simulation"); - return; } } } diff --git a/ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tarchi b/ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tarchi new file mode 100644 index 0000000000..47c676b4ba --- /dev/null +++ b/ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tarchi @@ -0,0 +1,148 @@ +// Master clock frequency - in MHz +MASTERCLOCKFREQUENCY 200 + +NODE MEMORY MemoryOrigin2 +SET MemoryOrigin2 byteDataSize 4 +SET MemoryOrigin2 clockDivider 1 + +NODE CPU CPUDestination2 +SET CPUDestination2 nbOfCores 1 +SET CPUDestination2 byteDataSize 4 +SET CPUDestination2 pipelineSize 5 +SET CPUDestination2 goIdleTime 10 +SET CPUDestination2 maxConsecutiveIdleCycles 10 +SET CPUDestination2 taskSwitchingTime 20 +SET CPUDestination2 branchingPredictionPenalty 2 +SET CPUDestination2 cacheMiss 5 +SET CPUDestination2 schedulingPolicy 0 +SET CPUDestination2 sliceTime 10000 +SET CPUDestination2 execiTime 1 +SET CPUDestination2 execcTime 1 +SET CPUDestination2 clockDivider 1 + +NODE BRIDGE Bridge1 +SET Bridge1 bufferByteSize 4 +SET Bridge1 clockDivider 1 + +NODE BUS Bus1 +SET Bus1 byteDataSize 4 +SET Bus1 pipelineSize 1 +SET Bus1 arbitration 0 +SET Bus1 sliceTime 10000 +SET Bus1 burstSize 100 +SET Bus1 privacy private +SET Bus1 clockDivider 1 + +NODE MEMORY MemoryOrigin1 +SET MemoryOrigin1 byteDataSize 4 +SET MemoryOrigin1 clockDivider 1 + +NODE CPU CPUDestination1 +SET CPUDestination1 nbOfCores 1 +SET CPUDestination1 byteDataSize 4 +SET CPUDestination1 pipelineSize 5 +SET CPUDestination1 goIdleTime 10 +SET CPUDestination1 maxConsecutiveIdleCycles 10 +SET CPUDestination1 taskSwitchingTime 20 +SET CPUDestination1 branchingPredictionPenalty 2 +SET CPUDestination1 cacheMiss 5 +SET CPUDestination1 schedulingPolicy 0 +SET CPUDestination1 sliceTime 10000 +SET CPUDestination1 execiTime 1 +SET CPUDestination1 execcTime 1 +SET CPUDestination1 clockDivider 1 + +NODE CPU CPUOrigin +SET CPUOrigin nbOfCores 1 +SET CPUOrigin byteDataSize 4 +SET CPUOrigin pipelineSize 5 +SET CPUOrigin goIdleTime 10 +SET CPUOrigin maxConsecutiveIdleCycles 10 +SET CPUOrigin taskSwitchingTime 20 +SET CPUOrigin branchingPredictionPenalty 2 +SET CPUOrigin cacheMiss 5 +SET CPUOrigin schedulingPolicy 0 +SET CPUOrigin sliceTime 10000 +SET CPUOrigin execiTime 1 +SET CPUOrigin execcTime 1 +SET CPUOrigin clockDivider 1 + +NODE BUS Bus4 +SET Bus4 byteDataSize 4 +SET Bus4 pipelineSize 1 +SET Bus4 arbitration 0 +SET Bus4 sliceTime 10000 +SET Bus4 burstSize 100 +SET Bus4 privacy public +SET Bus4 clockDivider 1 + +NODE BUS Bus2 +SET Bus2 byteDataSize 4 +SET Bus2 pipelineSize 1 +SET Bus2 arbitration 0 +SET Bus2 sliceTime 10000 +SET Bus2 burstSize 100 +SET Bus2 privacy public +SET Bus2 clockDivider 1 + +NODE BRIDGE Bridge3 +SET Bridge3 bufferByteSize 4 +SET Bridge3 clockDivider 1 + +NODE BRIDGE Bridge2 +SET Bridge2 bufferByteSize 4 +SET Bridge2 clockDivider 1 + +NODE BUS Bus3 +SET Bus3 byteDataSize 4 +SET Bus3 pipelineSize 1 +SET Bus3 arbitration 0 +SET Bus3 sliceTime 10000 +SET Bus3 burstSize 100 +SET Bus3 privacy public +SET Bus3 clockDivider 1 + +NODE LINK link_MemoryOrigin2_to_Bus3 +SET link_MemoryOrigin2_to_Bus3 node MemoryOrigin2 +SET link_MemoryOrigin2_to_Bus3 bus Bus3 +SET link_MemoryOrigin2_to_Bus3 priority 0 +NODE LINK link_CPUDestination2_to_Bus4 +SET link_CPUDestination2_to_Bus4 node CPUDestination2 +SET link_CPUDestination2_to_Bus4 bus Bus4 +SET link_CPUDestination2_to_Bus4 priority 0 +NODE LINK link_CPUDestination1_to_Bus1 +SET link_CPUDestination1_to_Bus1 node CPUDestination1 +SET link_CPUDestination1_to_Bus1 bus Bus1 +SET link_CPUDestination1_to_Bus1 priority 0 +NODE LINK link_Bridge1_to_Bus1 +SET link_Bridge1_to_Bus1 node Bridge1 +SET link_Bridge1_to_Bus1 bus Bus1 +SET link_Bridge1_to_Bus1 priority 0 +NODE LINK link_Bridge1_to_Bus2 +SET link_Bridge1_to_Bus2 node Bridge1 +SET link_Bridge1_to_Bus2 bus Bus2 +SET link_Bridge1_to_Bus2 priority 0 +NODE LINK link_Bridge3_to_Bus4 +SET link_Bridge3_to_Bus4 node Bridge3 +SET link_Bridge3_to_Bus4 bus Bus4 +SET link_Bridge3_to_Bus4 priority 0 +NODE LINK link_CPUOrigin_to_Bus1 +SET link_CPUOrigin_to_Bus1 node CPUOrigin +SET link_CPUOrigin_to_Bus1 bus Bus1 +SET link_CPUOrigin_to_Bus1 priority 0 +NODE LINK link_Bridge2_to_Bus2 +SET link_Bridge2_to_Bus2 node Bridge2 +SET link_Bridge2_to_Bus2 bus Bus2 +SET link_Bridge2_to_Bus2 priority 0 +NODE LINK link_MemoryOrigin1_to_Bus2 +SET link_MemoryOrigin1_to_Bus2 node MemoryOrigin1 +SET link_MemoryOrigin1_to_Bus2 bus Bus2 +SET link_MemoryOrigin1_to_Bus2 priority 0 +NODE LINK link_Bridge3_to_Bus3 +SET link_Bridge3_to_Bus3 node Bridge3 +SET link_Bridge3_to_Bus3 bus Bus3 +SET link_Bridge3_to_Bus3 priority 0 +NODE LINK link_Bridge2_to_Bus3 +SET link_Bridge2_to_Bus3 node Bridge2 +SET link_Bridge2_to_Bus3 bus Bus3 +SET link_Bridge2_to_Bus3 priority 0 diff --git a/ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tmap b/ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tmap new file mode 100644 index 0000000000..214ac12949 --- /dev/null +++ b/ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tmap @@ -0,0 +1,32 @@ +TMLSPEC + #include "testParallel-R-R-Transfers.tml" +ENDTMLSPEC + +TMLARCHI + #include "testParallel-R-R-Transfers.tarchi" +ENDTMLARCHI + +TMLMAPPING + MAP CPUDestination2 Application__Destination2 + SET Application__Destination2 priority 0 + MAP CPUDestination1 Application__Destination1 + SET Application__Destination1 priority 0 + MAP CPUOrigin Application__Origin + SET Application__Origin priority 0 + MAP MemoryOrigin2 Application__comm2 + SET Application__comm2 priority 0 + MAP Bus1 Application__comm2 + SET Application__comm2 priority 0 + MAP Bus2 Application__comm2 + SET Application__comm2 priority 0 + MAP Bus3 Application__comm2 + SET Application__comm2 priority 0 + MAP Bus4 Application__comm2 + SET Application__comm2 priority 0 + MAP MemoryOrigin1 Application__comm1 + SET Application__comm1 priority 0 + MAP Bus1 Application__comm1 + SET Application__comm1 priority 0 + MAP Bus2 Application__comm1 + SET Application__comm1 priority 0 +ENDTMLMAPPING diff --git a/ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tml b/ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tml new file mode 100644 index 0000000000..a2d37e4e84 --- /dev/null +++ b/ttool/src/test/resources/tmltranslator/simulator/testParallel-R-R-Transfers.tml @@ -0,0 +1,41 @@ +// TML Application - FORMAT 0.2 +// Application: /home/jawher/Jawher/Huawei-MDE/models/testParalR-R.xml +// Generated: Tue Jul 25 12:48:24 CEST 2023 + +// PRAGMAS + +// Channels +CHANNEL Application__comm1 BRBW 4 8 OUT Application__Origin IN Application__Destination1 +VCCHANNEL Application__comm1 0 +CHANNEL Application__comm2 BRBW 4 8 OUT Application__Origin IN Application__Destination2 +VCCHANNEL Application__comm2 0 + +// Events + +// Requests + +TASK Application__Destination1 + TASKOP + //Local variables + + //Behavior + READ Application__comm1 1 +ENDTASK + +TASK Application__Destination2 + TASKOP + //Local variables + + //Behavior + READ Application__comm2 1 +ENDTASK + +TASK Application__Origin + TASKOP + //Local variables + + //Behavior + WRITE Application__comm1 1 + WRITE Application__comm2 1 +ENDTASK + diff --git a/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tarchi b/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tarchi new file mode 100644 index 0000000000..ebef4dff42 --- /dev/null +++ b/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tarchi @@ -0,0 +1,140 @@ +// Master clock frequency - in MHz +MASTERCLOCKFREQUENCY 200 + +NODE MEMORY MemoryOrigin2 +SET MemoryOrigin2 byteDataSize 4 +SET MemoryOrigin2 clockDivider 1 + +NODE CPU CPUOrigin2 +SET CPUOrigin2 nbOfCores 1 +SET CPUOrigin2 byteDataSize 4 +SET CPUOrigin2 pipelineSize 5 +SET CPUOrigin2 goIdleTime 10 +SET CPUOrigin2 maxConsecutiveIdleCycles 10 +SET CPUOrigin2 taskSwitchingTime 20 +SET CPUOrigin2 branchingPredictionPenalty 2 +SET CPUOrigin2 cacheMiss 5 +SET CPUOrigin2 schedulingPolicy 0 +SET CPUOrigin2 sliceTime 10000 +SET CPUOrigin2 execiTime 1 +SET CPUOrigin2 execcTime 1 +SET CPUOrigin2 clockDivider 1 + +NODE BRIDGE Bridge1 +SET Bridge1 bufferByteSize 4 +SET Bridge1 clockDivider 1 + +NODE BUS Bus1 +SET Bus1 byteDataSize 4 +SET Bus1 pipelineSize 1 +SET Bus1 arbitration 0 +SET Bus1 sliceTime 10000 +SET Bus1 burstSize 100 +SET Bus1 privacy private +SET Bus1 clockDivider 1 + +NODE MEMORY MemoryOrigin1 +SET MemoryOrigin1 byteDataSize 4 +SET MemoryOrigin1 clockDivider 1 + +NODE CPU CPUDestination +SET CPUDestination nbOfCores 1 +SET CPUDestination byteDataSize 4 +SET CPUDestination pipelineSize 5 +SET CPUDestination goIdleTime 10 +SET CPUDestination maxConsecutiveIdleCycles 10 +SET CPUDestination taskSwitchingTime 20 +SET CPUDestination branchingPredictionPenalty 2 +SET CPUDestination cacheMiss 5 +SET CPUDestination schedulingPolicy 0 +SET CPUDestination sliceTime 10000 +SET CPUDestination execiTime 1 +SET CPUDestination execcTime 1 +SET CPUDestination clockDivider 1 + +NODE CPU CPUOrigin1 +SET CPUOrigin1 nbOfCores 1 +SET CPUOrigin1 byteDataSize 4 +SET CPUOrigin1 pipelineSize 5 +SET CPUOrigin1 goIdleTime 10 +SET CPUOrigin1 maxConsecutiveIdleCycles 10 +SET CPUOrigin1 taskSwitchingTime 20 +SET CPUOrigin1 branchingPredictionPenalty 2 +SET CPUOrigin1 cacheMiss 5 +SET CPUOrigin1 schedulingPolicy 0 +SET CPUOrigin1 sliceTime 10000 +SET CPUOrigin1 execiTime 1 +SET CPUOrigin1 execcTime 1 +SET CPUOrigin1 clockDivider 1 + +NODE BUS Bus4 +SET Bus4 byteDataSize 4 +SET Bus4 pipelineSize 1 +SET Bus4 arbitration 0 +SET Bus4 sliceTime 10000 +SET Bus4 burstSize 100 +SET Bus4 privacy public +SET Bus4 clockDivider 1 + +NODE BUS Bus2 +SET Bus2 byteDataSize 4 +SET Bus2 pipelineSize 1 +SET Bus2 arbitration 0 +SET Bus2 sliceTime 10000 +SET Bus2 burstSize 100 +SET Bus2 privacy public +SET Bus2 clockDivider 1 + +NODE BRIDGE Bridge2 +SET Bridge2 bufferByteSize 4 +SET Bridge2 clockDivider 1 + +NODE BUS Bus3 +SET Bus3 byteDataSize 4 +SET Bus3 pipelineSize 1 +SET Bus3 arbitration 0 +SET Bus3 sliceTime 10000 +SET Bus3 burstSize 100 +SET Bus3 privacy public +SET Bus3 clockDivider 1 + +NODE LINK link_MemoryOrigin2_to_Bus4 +SET link_MemoryOrigin2_to_Bus4 node MemoryOrigin2 +SET link_MemoryOrigin2_to_Bus4 bus Bus4 +SET link_MemoryOrigin2_to_Bus4 priority 0 +NODE LINK link_CPUOrigin2_to_Bus1 +SET link_CPUOrigin2_to_Bus1 node CPUOrigin2 +SET link_CPUOrigin2_to_Bus1 bus Bus1 +SET link_CPUOrigin2_to_Bus1 priority 0 +NODE LINK link_CPUDestination_to_Bus3 +SET link_CPUDestination_to_Bus3 node CPUDestination +SET link_CPUDestination_to_Bus3 bus Bus3 +SET link_CPUDestination_to_Bus3 priority 0 +NODE LINK link_Bridge1_to_Bus1 +SET link_Bridge1_to_Bus1 node Bridge1 +SET link_Bridge1_to_Bus1 bus Bus1 +SET link_Bridge1_to_Bus1 priority 0 +NODE LINK link_Bridge1_to_Bus2 +SET link_Bridge1_to_Bus2 node Bridge1 +SET link_Bridge1_to_Bus2 bus Bus2 +SET link_Bridge1_to_Bus2 priority 0 +NODE LINK link_Bridge1_to_Bus4 +SET link_Bridge1_to_Bus4 node Bridge1 +SET link_Bridge1_to_Bus4 bus Bus4 +SET link_Bridge1_to_Bus4 priority 0 +NODE LINK link_CPUOrigin1_to_Bus1 +SET link_CPUOrigin1_to_Bus1 node CPUOrigin1 +SET link_CPUOrigin1_to_Bus1 bus Bus1 +SET link_CPUOrigin1_to_Bus1 priority 0 +NODE LINK link_Bridge2_to_Bus4 +SET link_Bridge2_to_Bus4 node Bridge2 +SET link_Bridge2_to_Bus4 bus Bus4 +SET link_Bridge2_to_Bus4 priority 0 +NODE LINK link_MemoryOrigin1_to_Bus2 +SET link_MemoryOrigin1_to_Bus2 node MemoryOrigin1 +SET link_MemoryOrigin1_to_Bus2 bus Bus2 +SET link_MemoryOrigin1_to_Bus2 priority 0 +NODE LINK link_Bridge2_to_Bus3 +SET link_Bridge2_to_Bus3 node Bridge2 +SET link_Bridge2_to_Bus3 bus Bus3 +SET link_Bridge2_to_Bus3 priority 0 diff --git a/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tmap b/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tmap new file mode 100644 index 0000000000..44ab41da6c --- /dev/null +++ b/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tmap @@ -0,0 +1,34 @@ +TMLSPEC + #include "testParallel-W-R-Transfers.tml" +ENDTMLSPEC + +TMLARCHI + #include "testParallel-W-R-Transfers.tarchi" +ENDTMLARCHI + +TMLMAPPING + MAP CPUOrigin2 Application__Origin2 + SET Application__Origin2 priority 0 + MAP CPUDestination Application__Destination + SET Application__Destination priority 0 + MAP CPUOrigin1 Application__Origin1 + SET Application__Origin1 priority 0 + MAP MemoryOrigin2 Application__comm2 + SET Application__comm2 priority 0 + MAP Bus3 Application__comm2 + SET Application__comm2 priority 0 + MAP Bus4 Application__comm2 + SET Application__comm2 priority 0 + MAP Bus1 Application__comm2 + SET Application__comm2 priority 0 + MAP MemoryOrigin1 Application__comm1 + SET Application__comm1 priority 0 + MAP Bus1 Application__comm1 + SET Application__comm1 priority 0 + MAP Bus2 Application__comm1 + SET Application__comm1 priority 0 + MAP Bus3 Application__comm1 + SET Application__comm1 priority 0 + MAP Bus4 Application__comm1 + SET Application__comm1 priority 0 +ENDTMLMAPPING diff --git a/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tml b/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tml new file mode 100644 index 0000000000..b9944c59e7 --- /dev/null +++ b/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-R-Transfers.tml @@ -0,0 +1,41 @@ +// TML Application - FORMAT 0.2 +// Application: /home/jawher/Jawher/Huawei-MDE/models/testParalW-R.xml +// Generated: Tue Jul 25 12:50:42 CEST 2023 + +// PRAGMAS + +// Channels +CHANNEL Application__comm1 BRBW 4 8 OUT Application__Origin1 IN Application__Destination +VCCHANNEL Application__comm1 0 +CHANNEL Application__comm2 BRBW 4 8 OUT Application__Origin2 IN Application__Destination +VCCHANNEL Application__comm2 0 + +// Events + +// Requests + +TASK Application__Destination + TASKOP + //Local variables + + //Behavior + READ Application__comm2 1 + READ Application__comm1 1 +ENDTASK + +TASK Application__Origin1 + TASKOP + //Local variables + + //Behavior + WRITE Application__comm1 1 +ENDTASK + +TASK Application__Origin2 + TASKOP + //Local variables + + //Behavior + WRITE Application__comm2 1 +ENDTASK + diff --git a/ttool/src/test/resources/tmltranslator/simulator/testParallelTransfers.tarchi b/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-W-Transfers.tarchi similarity index 100% rename from ttool/src/test/resources/tmltranslator/simulator/testParallelTransfers.tarchi rename to ttool/src/test/resources/tmltranslator/simulator/testParallel-W-W-Transfers.tarchi diff --git a/ttool/src/test/resources/tmltranslator/simulator/testParallelTransfers.tmap b/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-W-Transfers.tmap similarity index 90% rename from ttool/src/test/resources/tmltranslator/simulator/testParallelTransfers.tmap rename to ttool/src/test/resources/tmltranslator/simulator/testParallel-W-W-Transfers.tmap index b1cf6c24b2..7da83451a4 100644 --- a/ttool/src/test/resources/tmltranslator/simulator/testParallelTransfers.tmap +++ b/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-W-Transfers.tmap @@ -1,9 +1,9 @@ TMLSPEC - #include "testParallelTransfers.tml" + #include "testParallel-W-W-Transfers.tml" ENDTMLSPEC TMLARCHI - #include "testParallelTransfers.tarchi" + #include "testParallel-W-W-Transfers.tarchi" ENDTMLARCHI TMLMAPPING diff --git a/ttool/src/test/resources/tmltranslator/simulator/testParallelTransfers.tml b/ttool/src/test/resources/tmltranslator/simulator/testParallel-W-W-Transfers.tml similarity index 100% rename from ttool/src/test/resources/tmltranslator/simulator/testParallelTransfers.tml rename to ttool/src/test/resources/tmltranslator/simulator/testParallel-W-W-Transfers.tml -- GitLab