#define STRING_HELP " \n\ \n\ \n\ \n\ \n\ \n\ \n\ TTool help \n\ \n\ \n\ \n\ \n\ \n\

Diplodocus Simulator

\n\

Objective

\n\

The simulator of DIPLODOCUS intends to simulate a DIPLODOCUS mapping, taking into account functional tasks, the system architectures (CPU, buses, etc.) and the allocations of tasks and their communucations to the system architecture

\n\

Generating simulation code and commiling it?

\n\

The first step is to create a DIPLODOCUS mapping. Once the mapping model has been checked against syntax errors \"syntax, it is possible to generate a C++ code \"simulation that represents the mapping model. If you are using a model in TTool, then the code is generated by default in TTool/simulators/c++2 for models. If your model has been made in a project, then the code is generated into the “c++_code” subdirectory of your project.

\n\

The second step is to compile the code. You can directly do it from TTool with the code generation window, second tab. Another option is to open a terminal, and to enter the following command:

\n\
$ make
\n\

Using the simulator from TTool

\n\

The third tab of the simulation code generation window provides several options to start the simulator, e.g. either running simulation until completion or running the server in interactive mode. For the latter, the simulator is started in server mode, and TTool connects via sockets to the server in order to remotely drive the simulation.

\n\

Command-line use of the simulation

\n\

Once the simulator has been compiled, do as follows to list possible options:

\n\
$ ./run.x -help
\n\

Basically, options are used to express the working mode (-serverfor interactive mode, -exploto generate a reachability graphs, …), to set the output (e.g., -gpathor finally to set commands to be executed, either from the command line (-cmd) or from a file (-file). For instance:

\n\
$ ./run.x -cmd '1 6 100 ; 3 Task1 ; 1 0 ; 3 Task1' \n\
means 'run-to-time 100 ; get-variable-of-task Task1 ; run-to-next-breakpoint ; get-variable-of-task Task1' \n\
(Using the corresponding code instead of the command name when running in command line mode)
\n\

Simulator commands

\n\

The parameters types are defined as follow:

\n\
Type = 0: ""; \n\
Type = 1: <Int>; \n\
Type = 2: <String>; \n\
Type = 3: [Int]; \n\
Type = 4: [String]; \n\
Type = 6: [int between 0 and 100 (percentage); \n\
Not defined: <unknow param>
\n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\
Command nameAliasCodeDescriptionParameter 1Parameter 2Parameter 3Parameter 4Parameter 5
active-breakpointsab20Active / unactive breakpoints[Type: 1] 0/1 (unactive / active)----
add-breakpointabp11Set a breakpoint in task which id is the first parameter on the command provided as the second parameter[Type: 1] task ID[Type: 0] comamnd ID---
calculate-latenciescl23Calculate latencies between checkpoints[Type: 1] Checkpoint 1 id[Type: 1] Checkpoint2 id---
choose-branchcb12Chooses the branch of the given command of a task[Type: 1] task ID[Type: 0] command ID[Type: 0] branch ID--
get-breakpoint-listgbl18Returns the list of breakpoints currently set-----
get-command-of-taskgcot14Returns the current command of the task provided as argument[Type: 0] Task id (or “all”)----
get-benchmarkgb10Returns information on hardware nodes of the architecture[Type: 1] 0: show benchmark, 1:save in file[Type: 0] Name of file---
get-executed-operatorsgeo21Returns the list of executed operators-----
get-hashcodegh19Returns the hashcode of the tmap under simulation-----
get-info-on-hwgioh4Returns information on hardware nodes of the architecture[Type: 1] 0: CPU, 1:Bus, 2: Mem, 3: Bridge, 4: Channel, 5: Task[Type: 1] id---
get-numer-of-branchesgnob17Returns the number of branches the current command has-----
get-simulation-timetime13Returns the current absolute time unit of the simulation-----
get-variable-of-taskgvof3Returns the value of a variable in a task[Type: 0] Task id[Type: 0] Variable id---
killkill0Terminates the remote simulator-----
list-transactionslt22Get the most recent transactions[Type: 2] Max. nb of transactions----
list-all-transactions-of-a-tasklat25Get all transactions of Task[Type: 2] Task Name----
remove-all-transrmat26Remove all the transactions in the past[Type: 1] Yes : 1, No : 0----
rm-breakpointrmb16Remove a breakpoint in task which id is the first parameter on the command provided as the second parameter[Type: 1] task ID[Type: 0] comamnd ID---
resetreset2Resets the remote simulator-----
raw-commandrcSends a raw command to the remote simulator[Type: 4] param #0[Type: 4] param #1[Type: 4] param #2[Type: 4] param #3[Type: 4] param #4
restore-simulation-state-from-filerssff9Restores the simulation state from a file[Type: 2] File name----
run-explorationre1 7Runs the simulation in exploration mode[Type: 6] Minimum number of explored commands[Type: 6] Minimum number of explored branches[Type: 2] File name of the resulting graph, with NO extension--
run-to-next-breakpointrtnb1 0Runs the simulation until a breakpoint is met-----
run-to-next-breakpoint-max-transrtnbmt1 19Runs the simulation until a breakpoint is met or max number of transactions are executed[Type: 1] max nb of transactions----
run-to-next-transfer-on-busrtntob1 8Runs to the next transfer on bus which id is provided as argument[Type: 1] bus id----
run-to-timertt1 5Runs the simulation until time x is reached[Type: 1] x: time value----
run-until-channel-accessruca1 12Run simulation until a operation is performed on the channel which ID is provided as parameter[Type: 1] Channel id----
run-until-write-on-channel-accessruwca1 17Run simulation until a write operation is performed on the channel which channel name is provided as parameter[Type: 2] Channel name----
run-until-read-on-channel-accessrurca1 18Run simulation until a read operation is performed on the channel which chanel name is provided as parameter[Type: 2] Channel name----
run-until-cpu-executesruce1 9Run simulation until CPU which ID is provided as parameter executes[Type: 1] CPU id----
run-until-memory-accessruma1 11Run simulation until the memory which ID is provided as parameter is accessed[Type: 1] Memory id----
run-until-task-executesrute1 10Run simulation until the task which ID is provided as parameter executes[Type: 1] Task id----
run-x-commandsrxcomm1 4Runs the simulation for x commands[Type: 1] nb of commands----
run-x-time-unitsrxtu1 6Runs the simulation for x units of time[Type: 1] nb of time units----
run-x-transactionsrxtr1 2Runs the simulation for x transactions[Type: 1] nb of transactions----
save-simulation-state-in-filesssif8Saves the current simulation state into a file[Type: 2] File name----
save-trace-in-filestif7Saves the current trace of the simulation in a VCD, HTML, TXT or XML file[Type: 1] File format: 0-> VCD, 1->HTML, 2->TXT, 3->XML[Type: 2] File name---
show-timeline-tracestlt7 4Show the current timeline diagram trace in HTML format[Type: 2] Task List[Type: 1] Scale idle time: 0 -> no, 1 -> yes[Type: 2] Start Time[Type: 2] End Time-
set-variablesv5Set the value of a variable[Type: 1] task ID[Type: 1] variable ID[Type: 1] variable value--
stopstop15Stops the currently running simulation-----
write-in-channelwic6Writes y samples / events to channel / event x[Type: 1] Channel ID[Type: 2] Nb of samples---
add-virtual-signalsavs1 16Send virtual events to channel[Type: 2] Channel name[Type: 2] Nb of samples[Type: 2] value of samples--
\n\ \n\ \n\ "