diff --git a/simulators/c++2/src_simulator/arch/CPU.cpp b/simulators/c++2/src_simulator/arch/CPU.cpp
index 8edf5ffe4a5fa58fcbe866083cf25c92d9e86396..d40f6221558777f0ffbfac457b6f9a2117fc3ede 100644
--- a/simulators/c++2/src_simulator/arch/CPU.cpp
+++ b/simulators/c++2/src_simulator/arch/CPU.cpp
@@ -168,7 +168,7 @@ void CPU::schedule2XML(std::ostringstream& glob,std::ofstream& myfile) const{
 
   }
 }
-std::map<TMLTask*, std::string> CPU::HWTIMELINE2HTML(std::ostringstream& myfile,std::map<TMLTask*, std::string> taskCellClasses,unsigned int nextCellClassIndex, std::string& iTracetaskList) const {
+std::map<TMLTask*, std::string> CPU::HWTIMELINE2HTML(std::ostringstream& myfile,std::map<TMLTask*, std::string> taskCellClasses,unsigned int nextCellClassIndex, std::string& iTracetaskList) {
     TransactionList _transactListClone;
     std::string taskList = iTracetaskList.c_str();
     for (int z = 0; z < _transactList.size(); z++) {
@@ -181,7 +181,7 @@ std::map<TMLTask*, std::string> CPU::HWTIMELINE2HTML(std::ostringstream& myfile,
     if ( _transactListClone.size() == 0 ) {
         std::cout << "Device never activated" << std::endl;
     } else {
-        myfile << "<tr><td title = \"Average load: " << std::setprecision(2) << averageLoad(this->_cycleTime) << "; Utilization: " << (static_cast<float>(_busyCycles)/static_cast<float>(_simulatedTime)) << "\" width=\"170px\" style=\"max-width: unset;min-width: 170px;background-color: aqua;\">" <<  _name << "_core_" << this->_cycleTime << "</td>\n<td class=\"notfirst\"></td>\n<td class=\"notlast\"></td>" << std::endl;//myfile << "<table>" << std::endl << "<tr>";
+        myfile << "<tr><td title = \"Average load: " << std::setprecision(2) << averageLoad(this->_cycleTime) << "; Utilization: " << (static_cast<float>(_busyCycles)/static_cast<float>(_simulatedTime)) << "\" width=\"170px\" style=\"max-width: unset;min-width: 170px;background-color: aqua;\">" <<  _name << "_core_" << this->_cycleTime << "</td><td class=\"notfirst\"></td><td class=\"notlast\"></td>";//myfile << "<table>" << std::endl << "<tr>";
 //        std::map<TMLTask*, std::string> taskCellClasses;
 //        unsigned int nextCellClassIndex = 0;
         TMLTime aCurrTime = 0;
@@ -223,10 +223,10 @@ std::map<TMLTask*, std::string> CPU::HWTIMELINE2HTML(std::ostringstream& myfile,
                 listScaleTime.push_back(aCurrTrans->getStartTime()+1);
             }
             if (isBlankTooBig){
-                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>\n";
+                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>";
 //                writeHTMLColumn( myfile, aBlanks+1, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
             } else {
-                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\"></td>\n";
+                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\"></td>";
 //                writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
             }
         }
@@ -237,10 +237,10 @@ std::map<TMLTask*, std::string> CPU::HWTIMELINE2HTML(std::ostringstream& myfile,
                 listScaleTime.push_back(aCurrTrans->getStartTime());
             }
             if (isBlankTooBig){
-                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>\n";
+                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>";
 //                writeHTMLColumn( myfile, aBlanks, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
             } else {
-                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>\n";
+                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>";
 //                writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
             }
         }
@@ -255,7 +255,7 @@ std::map<TMLTask*, std::string> CPU::HWTIMELINE2HTML(std::ostringstream& myfile,
           listScale.push_back(aLength);
           std::ostringstream title;
           title << "idle:" << aCurrTrans->getIdlePenalty() << " switching penalty:" << aCurrTrans->getTaskSwitchingPenalty();
-          myfile << "<td colspan=\"" << aLength << "\" title=\"" << title.str() << "\" class=\"not\"></td>\n";
+          myfile << "<td colspan=\"" << aLength << "\" title=\"" << title.str() << "\" class=\"not\"></td>";
 //          writeHTMLColumn( myfile, aLength, "not", title.str() );
         }
         aLength = aCurrTrans->getOperationLength();
@@ -271,7 +271,7 @@ std::map<TMLTask*, std::string> CPU::HWTIMELINE2HTML(std::ostringstream& myfile,
             tempReduce += aLength - 10;
             aLength = 10;
           }
-          myfile << "<td colspan=\"" << aLength << "\" title=\"" << aCurrTrans->toShortString() << "\" class=\""<< cellClass <<"\">"<< aCurrContent <<"</td>\n";
+          myfile << "<td colspan=\"" << aLength << "\" title=\"" << aCurrTrans->toShortString() << "\" class=\""<< cellClass <<"\">"<< aCurrContent <<"</td>";
 //          writeHTMLColumn( myfile, aLength, cellClass, aCurrTrans->toShortString(), aCurrContent );
           listScale.push_back(aLength);
           if(aCurrTrans->getStartTime() > listScaleTime.back()){
@@ -288,8 +288,8 @@ std::map<TMLTask*, std::string> CPU::HWTIMELINE2HTML(std::ostringstream& myfile,
           }
         }
 
-        myfile << "</tr>" << std::endl << "<tr>";
-        myfile << "<td width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td>\n<td class=\"notfirst\"></td>\n<td class=\"notlast\"></td>\n";
+        myfile << "</tr>" << "<tr>";
+        myfile << "<td width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td><td class=\"notfirst\"></td><td class=\"notlast\"></td>";
         for ( unsigned int aLength = 0; aLength < listScale.size(); aLength += 1 ) {
           std::ostringstream spanVal;
           if(aLength < listScaleTime.size())
@@ -313,15 +313,18 @@ std::map<TMLTask*, std::string> CPU::HWTIMELINE2HTML(std::ostringstream& myfile,
             }
           //myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
         }
-        myfile << "</tr>" << std::endl << "<tr>";
-        for ( unsigned int aLength = 0; aLength < aCurrTime - tempReduce + 2; aLength++ ) {
+        myfile << "</tr>" << "<tr>";
+        for ( unsigned int aLength = 0; aLength < 3; aLength++ ) {
             if( aLength == 1) {
               myfile << "<th class=\"notfirst\">";
             } else {
               myfile << "<th></th>";
             }
         }
-        myfile << "</tr>" << std::endl << std::endl;
+        if (aCurrTime - tempReduce + 2 > maxScale) {
+            maxScale = aCurrTime - tempReduce + 2;
+        }
+        myfile << "</tr>";
         myfile << SCHED_HTML_JS_CLEAR << std::endl;
     }
     return taskCellClasses;
diff --git a/simulators/c++2/src_simulator/arch/CPU.h b/simulators/c++2/src_simulator/arch/CPU.h
index 3ce2797cf8bf0162ed5cda1424cb276c83940353..83b73216e0cfd45838b9e0790228b98d1c5e9cdc 100755
--- a/simulators/c++2/src_simulator/arch/CPU.h
+++ b/simulators/c++2/src_simulator/arch/CPU.h
@@ -121,7 +121,8 @@ public:
 	void buttonPieChart(std::ofstream& myfile) const;
 	void showPieChart(std::ofstream& myfile) const;
 	void HW2HTML(std::ofstream& myfile) const;
-	std::map<TMLTask*, std::string> HWTIMELINE2HTML(std::ostringstream& myfile,std::map<TMLTask*, std::string> taskCellClasses,unsigned int nextCellClassIndex, std::string& iTracetaskList) const;
+	std::map<TMLTask*, std::string> HWTIMELINE2HTML(std::ostringstream& myfile,std::map<TMLTask*, std::string> taskCellClasses,unsigned int nextCellClassIndex, std::string& iTracetaskList);
+	inline unsigned int getMaxScale() { return maxScale; }
 	void schedule2HTML(std::ofstream& myfile) const;
 	void schedule2XML(std::ostringstream& glob,std::ofstream& myfile) const;
 	inline void setCoreNumberGraph(unsigned int n){ _coreNumberGraph=n;}
@@ -136,6 +137,7 @@ protected:
 	///Amount of cores
 	unsigned int amountOfCore; 
 	unsigned int _coreNumberGraph;
+    unsigned int maxScale;
 	///Dirty flag of the current scheduling decision
 	//bool _schedulingNeeded;
 	
diff --git a/simulators/c++2/src_simulator/arch/FPGA.cpp b/simulators/c++2/src_simulator/arch/FPGA.cpp
index f2dc162ca5037bd24fbd3834f50c8bd233ef5729..1b175d9d2800430fa9e3dd1ee86fb9a96d7a5fc4 100644
--- a/simulators/c++2/src_simulator/arch/FPGA.cpp
+++ b/simulators/c++2/src_simulator/arch/FPGA.cpp
@@ -607,9 +607,9 @@ std::map<TMLTask*, std::string> FPGA::HWTIMELINE2HTML(std::ostringstream& myfile
         std::cout << "Device never activated" << std::endl;
     } else {
         if(_startFlagHTML == true){
-            myfile << "<tr><td title = \"Average load: " << std::setprecision(2) << averageLoad(_htmlCurrTask) << "; Utilization: " << (static_cast<float>(_busyCycles)/static_cast<float>(_simulatedTime)) << "\" width=\"170px\" style=\"max-width: unset;min-width: 170px;background-color: aqua;\">" <<  _name << "</td>\n<td class=\"notfirst\"></td>\n<td class=\"notlast\"></td>" << std::endl;
+            myfile << "<tr><td title = \"Average load: " << std::setprecision(2) << averageLoad(_htmlCurrTask) << "; Utilization: " << (static_cast<float>(_busyCycles)/static_cast<float>(_simulatedTime)) << "\" width=\"170px\" style=\"max-width: unset;min-width: 170px;background-color: aqua;\">" <<  _name << "</td><td class=\"notfirst\"></td><td class=\"notlast\"></td>";
         } else {
-            myfile << "<tr><td title = \"Average load: " << std::setprecision(2) << averageLoad(_htmlCurrTask) << "; Utilization: " << (static_cast<float>(_busyCycles)/static_cast<float>(_simulatedTime)) << "\" width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td>\n<td class=\"notfirst\"></td>\n<td class=\"notlast\"></td>\n"<< std::endl;
+            myfile << "<tr><td title = \"Average load: " << std::setprecision(2) << averageLoad(_htmlCurrTask) << "; Utilization: " << (static_cast<float>(_busyCycles)/static_cast<float>(_simulatedTime)) << "\" width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td><td class=\"notfirst\"></td><td class=\"notlast\"></td>";
         }
         TMLTime aCurrTime = 0;
         unsigned int taskOccurTime = 0;
@@ -651,9 +651,9 @@ std::map<TMLTask*, std::string> FPGA::HWTIMELINE2HTML(std::ostringstream& myfile
                 listScaleTime.push_back(aCurrTrans->getStartTime()+1);
             }
             if (isBlankTooBig){
-                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>\n";
+                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>";
             } else {
-                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\"></td>\n";
+                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\"></td>";
             }
         }
         else if ( aBlanks > 0 ){
@@ -663,9 +663,9 @@ std::map<TMLTask*, std::string> FPGA::HWTIMELINE2HTML(std::ostringstream& myfile
                 listScaleTime.push_back(aCurrTrans->getStartTime());
             }
             if (isBlankTooBig){
-                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>\n";
+                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>";
             } else {
-                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>\n";
+                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>";
             }
         }
 
@@ -679,7 +679,7 @@ std::map<TMLTask*, std::string> FPGA::HWTIMELINE2HTML(std::ostringstream& myfile
               tempReduce += aLength - 10;
               aLength = 10;
           }
-          myfile << "<td colspan=\"" << aLength << "\" title=\"" << aCurrTrans->toShortString() << "\" class=\""<< cellClass <<"\">"<< aCurrContent <<"</td>\n";
+          myfile << "<td colspan=\"" << aLength << "\" title=\"" << aCurrTrans->toShortString() << "\" class=\""<< cellClass <<"\">"<< aCurrContent <<"</td>";
 //          writeHTMLColumn( myfile, aLength, cellClass, aCurrTrans->toShortString(), aCurrContent );
           listScale.push_back(aLength);
           if(aCurrTrans->getStartTime() > listScaleTime.back()){
@@ -696,8 +696,8 @@ std::map<TMLTask*, std::string> FPGA::HWTIMELINE2HTML(std::ostringstream& myfile
           }
         }
         if(listScale.size() > 1) {
-                    myfile << "</tr>" << std::endl << "<tr>";
-                    myfile << "<td width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td>\n<td class=\"notfirst\"></td>\n<td class=\"notlast\"></td>\n";
+                    myfile << "</tr>" << "<tr>";
+                    myfile << "<td width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td><td class=\"notfirst\"></td><td class=\"notlast\"></td>";
 
                     for ( unsigned int aLength = 0; aLength < listScale.size(); aLength += 1 ) {
                       std::ostringstream spanVal;
@@ -722,16 +722,19 @@ std::map<TMLTask*, std::string> FPGA::HWTIMELINE2HTML(std::ostringstream& myfile
             //                     writeHTMLColumn( myfile, listScale[aLength+1], "sc", spanVal.str(), spanVal.str(), false );
                       }
                     }
-                    myfile << "</tr>" << std::endl << "<tr>";
+                    myfile << "</tr>" << "<tr>";
 
-                    for ( unsigned int aLength = 0; aLength < aCurrTime - tempReduce + 2; aLength++ ) {
+                    for ( unsigned int aLength = 0; aLength < 3; aLength++ ) {
                         if( aLength == 1) {
                           myfile << "<th class=\"notfirst\">";
                         } else {
                           myfile << "<th></th>";
                         }
                     }
-                    myfile << "</tr>" << std::endl << std::endl;
+                    if (aCurrTime - tempReduce + 2 > maxScale) {
+                        maxScale = aCurrTime - tempReduce + 2;
+                    }
+                    myfile << "</tr>";
                     myfile << SCHED_HTML_JS_CLEAR << std::endl;
         }
 
diff --git a/simulators/c++2/src_simulator/arch/FPGA.h b/simulators/c++2/src_simulator/arch/FPGA.h
index a060e20830b4b615da7821217ba1077a64116dfa..602f84305d2827a5f8a891f59a8a53699a64fb17 100644
--- a/simulators/c++2/src_simulator/arch/FPGA.h
+++ b/simulators/c++2/src_simulator/arch/FPGA.h
@@ -134,6 +134,7 @@ public:
         inline unsigned int getID () { return _ID;}
 	void HW2HTML(std::ofstream& myfile) ;
 	std::map<TMLTask*, std::string> HWTIMELINE2HTML(std::ostringstream& myfile,std::map<TMLTask*, std::string> taskCellClasses1,unsigned int nextCellClassIndex1, std::string& iTracetaskList);
+	inline unsigned int getMaxScale() { return maxScale; }
 	void removeTrans(int numberOfTrans);
 	void schedule2HTML(std::ofstream& myfile) ;
 	inline const TaskList& getTaskList() const{return _taskList;}
@@ -196,6 +197,7 @@ protected:
 	bool _startFlagHTML;
 	bool _endFlagHTML;
 	unsigned int _reconfigNumber;
+	unsigned int maxScale;
 	TMLTime _maxEndTime;
 	unsigned int nextCellClassIndex;
  	std::map<TMLTask*, std::string> taskCellClasses;	
diff --git a/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
index b24757b3ad260ebb3828623400eb3d9ba5da2eef..6dacfacb7a9191badb47a8d62e5b1ae53c3a43ff 100644
--- a/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
+++ b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
@@ -298,7 +298,7 @@ void SchedulableDevice::buttonPieChart(std::ofstream& myfile) const{
     myfile << "   chart" << _ID << ".update();" << std::endl;
 }
 
-std::map<TMLTask*, std::string> SchedulableDevice::HWTIMELINE2HTML(std::ostringstream& myfile,std::map<TMLTask*, std::string> taskCellClasses,unsigned int nextCellClassIndex, std::string& iTracetaskList) const {
+std::map<TMLTask*, std::string> SchedulableDevice::HWTIMELINE2HTML(std::ostringstream& myfile,std::map<TMLTask*, std::string> taskCellClasses,unsigned int nextCellClassIndex, std::string& iTracetaskList) {
     TransactionList _transactListClone;
     std::string taskList = iTracetaskList.c_str();
     for (int z = 0; z < _transactList.size(); z++) {
@@ -311,7 +311,7 @@ std::map<TMLTask*, std::string> SchedulableDevice::HWTIMELINE2HTML(std::ostrings
     if ( _transactListClone.size() == 0 ) {
         std::cout << "Device never activated" << std::endl;
     } else {
-        myfile << "<tr><td title = \"Average load: " << std::setprecision(2) << averageLoad() << "; Utilization: " << (static_cast<float>(_busyCycles)/static_cast<float>(_simulatedTime)) << "\" width=\"170px\" style=\"max-width: unset;min-width: 170px;background-color: aqua;\">" <<  _name << "</td>\n<td class=\"notfirst\"></td>\n<td class=\"notlast\"></td>" << std::endl;
+        myfile << "<tr><td title = \"Average load: " << std::setprecision(2) << averageLoad() << "; Utilization: " << (static_cast<float>(_busyCycles)/static_cast<float>(_simulatedTime)) << "\" width=\"170px\" style=\"max-width: unset;min-width: 170px;background-color: aqua;\">" <<  _name << "</td><td class=\"notfirst\"></td><td class=\"notlast\"></td>";
 //        std::map<TMLTask*, std::string> taskCellClasses;
 //        unsigned int nextCellClassIndex = 0;
         TMLTime aCurrTime = 0;
@@ -347,10 +347,10 @@ std::map<TMLTask*, std::string> SchedulableDevice::HWTIMELINE2HTML(std::ostrings
                 listScaleTime.push_back(aCurrTrans->getStartTime()+1);
             }
             if (isBlankTooBig){
-                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>\n";
+                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>";
 //                writeHTMLColumn( myfile, aBlanks+1, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
             } else {
-                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\"></td>\n";
+                myfile << "<td colspan=\""<< aBlanks+1 <<"\" title=\"idle time\" class=\"not\"></td>";
 //                writeHTMLColumn( myfile, aBlanks+1, "not", "idle time" );
             }
         }
@@ -361,10 +361,10 @@ std::map<TMLTask*, std::string> SchedulableDevice::HWTIMELINE2HTML(std::ostrings
                 listScaleTime.push_back(aCurrTrans->getStartTime());
             }
             if (isBlankTooBig){
-                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>\n";
+                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\">" << "<- idle " + tempString.str() + " ->" << "</td>";
 //                writeHTMLColumn( myfile, aBlanks, "not", "idle time", "<- idle " + tempString.str() + " ->", false );
             } else {
-                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>\n";
+                myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>";
 //                writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
             }
         }
@@ -380,7 +380,7 @@ std::map<TMLTask*, std::string> SchedulableDevice::HWTIMELINE2HTML(std::ostrings
             }
             listScale.push_back(aLength);
             title << "idle:" << aCurrTrans->getIdlePenalty() << " switching penalty:" << aCurrTrans->getTaskSwitchingPenalty();
-            myfile << "<td colspan=\"" << aLength << "\" title=\"" << title.str() << "\" class=\"not\"></td>\n";
+            myfile << "<td colspan=\"" << aLength << "\" title=\"" << title.str() << "\" class=\"not\"></td>";
 //            writeHTMLColumn( myfile, aLength, "not", title.str() );
         }
 
@@ -397,7 +397,7 @@ std::map<TMLTask*, std::string> SchedulableDevice::HWTIMELINE2HTML(std::ostrings
                   tempReduce += aLength - 10;
                   aLength = 10;
               }
-              myfile << "<td colspan=\"" << aLength << "\" title=\"" << aCurrTrans->toShortString() << "\" class=\""<< cellClass <<"\">"<< aCurrContent <<"</td>\n";
+              myfile << "<td colspan=\"" << aLength << "\" title=\"" << aCurrTrans->toShortString() << "\" class=\""<< cellClass <<"\">"<< aCurrContent <<"</td>";
 //              writeHTMLColumn( myfile, aLength, cellClass, aCurrTrans->toShortString(), aCurrContent);
               listScale.push_back(aLength);
               if(aCurrTrans->getStartTime() > listScaleTime.back()){
@@ -411,8 +411,8 @@ std::map<TMLTask*, std::string> SchedulableDevice::HWTIMELINE2HTML(std::ostrings
           // }
         }
 
-        myfile << "</tr>" << std::endl << "<tr>";
-        myfile << "<td width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td>\n<td class=\"notfirst\"></td>\n<td class=\"notlast\"></td>\n";
+        myfile << "</tr>" << "<tr>";
+        myfile << "<td width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td><td class=\"notfirst\"></td><td class=\"notlast\"></td>";
 
         for ( unsigned int aLength = 0; aLength < listScale.size(); aLength += 1 ) {
           std::ostringstream spanVal;
@@ -437,15 +437,18 @@ std::map<TMLTask*, std::string> SchedulableDevice::HWTIMELINE2HTML(std::ostrings
 //                writeHTMLColumn( myfile, listScale[aLength+1], "sc", spanVal.str(), spanVal.str(), false );
             }
         }
-        myfile << "</tr>" << std::endl << "<tr>";
-        for ( unsigned int aLength = 0; aLength < aCurrTime - tempReduce + 2; aLength++ ) {
+        myfile << "</tr>" << "<tr>";
+        for ( unsigned int aLength = 0; aLength < 3; aLength++ ) {
             if( aLength == 1) {
               myfile << "<th class=\"notfirst\">";
             } else {
               myfile << "<th></th>";
             }
         }
-        myfile << "</tr>" << std::endl;
+        if (aCurrTime - tempReduce + 2 > maxScale) {
+            maxScale = aCurrTime - tempReduce + 2;
+        }
+        myfile << "</tr>";
         myfile << SCHED_HTML_JS_CLEAR << std::endl;
     }
     return taskCellClasses;
diff --git a/simulators/c++2/src_simulator/arch/SchedulableDevice.h b/simulators/c++2/src_simulator/arch/SchedulableDevice.h
index 0f8979b0c022764d7ad91762f02afa97e3da1ccf..c09758a1e01daac262185dc0baf6632dba6003dd 100644
--- a/simulators/c++2/src_simulator/arch/SchedulableDevice.h
+++ b/simulators/c++2/src_simulator/arch/SchedulableDevice.h
@@ -79,7 +79,8 @@ public:
 	void drawPieChart(std::ofstream& myfile) const;
 	void showPieChart(std::ofstream& myfile) const;
 	void HW2HTML(std::ofstream& myfile) const;
-	std::map<TMLTask*, std::string> HWTIMELINE2HTML(std::ostringstream& myfile,std::map<TMLTask*, std::string> taskCellClasses,unsigned int nextCellClassIndex, std::string& iTracetaskList) const;
+	std::map<TMLTask*, std::string> HWTIMELINE2HTML(std::ostringstream& myfile,std::map<TMLTask*, std::string> taskCellClasses,unsigned int nextCellClassIndex, std::string& iTracetaskList);
+	inline unsigned int getMaxScale() { return maxScale; }
 	///Writes a HTML representation of the schedule to an output file
 	/**
       	\param myfile Reference to the ofstream object representing the output file
@@ -183,6 +184,7 @@ protected:
 	bool _deleteScheduler;
 	///Busy cycles since simulation start
 	TMLTime _busyCycles;
+	unsigned int maxScale;
 	unsigned int _static_consumPerCycle; 
    	unsigned int _dynamic_consumPerCycle;
 	static TMLTime _overallTransNo;
diff --git a/simulators/c++2/src_simulator/definitions.h b/simulators/c++2/src_simulator/definitions.h
index 27e3d43760adc454e4dddb8a463d7c6fe0bcf049..db56053b3fa2e5567856b07b60eac988d3efb35f 100644
--- a/simulators/c++2/src_simulator/definitions.h
+++ b/simulators/c++2/src_simulator/definitions.h
@@ -287,6 +287,7 @@ using std::max;
 #define SCHED_HTML_JS_CLEAR "<div class = \"clear\"></div>"
 #define NB_HTML_COLORS 15
 #define SHOW_PIE_CHART  "ShowPie"
+#define BUFFER_SIZE 2000 //maximum length of a command sent to server
 
 #define SCHED_HTML_JS_FUNCTION "= function() {\n \
 		var r = Math.floor(Math.random() * 255);\n \
@@ -323,87 +324,7 @@ using std::max;
         ds.hidden=!ds.hidden;\n \
 	});\n"
 
-#define SCHED_HTML_CSS_CONTENT_TIMELINE "table{\n \
-    border-collapse: collapse;\n \
-    empty-cells: show;\n \
-    margin: 0.4cm;\n \
-}\n \
-td{\n \
-    padding: 10px 5px;\n \
-    border: 1px solid black;\n \
-    max-width: 5px;\n \
-}\n \
-th{\n \
-    padding: 5px;\n \
-}\n \
-.sc{\n \
-    border-style: none;\n \
-    padding: 0px;\n \
-    font-size: small;\n \
-    transform: rotate(45deg);\n \
-    transform-origin: left top;\n \
-}\n \
-.sc1{\n \
-    border-style: none;\n \
-    padding: 0px;\n \
-    font-size: small;\n \
-    color: red;\n \
-    transform: rotate(45deg);\n \
-    transform-origin: left top;\n \
-}\n \
-h2 {\n \
-    border-bottom: 1px solid #666;\n \
-}\n \
-h2 span {\n \
-    position: relative;\n \
-    left: -0.3em;\n \
-    bottom: -0.6em;\n \
-    padding: 1px 0.5em;\n \
-    border-style: solid;\n \
-    border-width: 1px 1px 1px 0.8em;\n \
-    border-color: #666 #666 #666 #008;\n \
-    background-color: #ddd;\n \
-}\n \
-.space{border-style: none;}\n \
-.not{background-color: white; text-align: center}\n \
-.notfirst{\n \
-    background-color: white;\n \
-    border-width: 2px;\n \
-    border-color: red;\n \
-    border-style: none solid none none;\n \
-}\n \
-.notmid {\n \
-    background-color: white;\n \
-    text-align: right;\n \
-    border-style: solid none none none;\n \
-}\n \
-.notlast {\n \
-    background-color: white;\n \
-    width: 5px;\n \
-    border-style: none none none none;\n \
-}\n \
-.t0{background-color: yellow;}\n \
-.t1{background-color: purple;}\n \
-.t2{background-color: red;}\n \
-.t3{background-color: silver;}\n \
-.t4{background-color: teal;}\n \
-.t5{background-color: aqua;}\n \
-.t6{background-color: olive;}\n \
-.t7{background-color: navy;}\n \
-.t8{background-color: maroon;}\n \
-.t9{background-color: lime;}\n \
-.t10{background-color: green;}\n \
-.t11{background-color: gray;}\n \
-.t12{background-color: fuchsia;}\n \
-.t13{background-color: blue;}\n \
-.t14{background-color: darkred;}\n \
-.wrapper {\n \
-    width: 256px;\n \
-    height: 256px;\n \
-}\n \
-.clear {\n \
-    clear:both\n \
-}"
+#define SCHED_HTML_CSS_CONTENT_TIMELINE "table{border-collapse: collapse;empty-cells: show;margin: 0.4cm;}td{padding: 10px 5px;border: 1px solid black;max-width: 5px;}th{padding: 5px;}.sc{border-style: none;padding: 0px;font-size: small;transform: rotate(45deg);transform-origin: left top;}.sc1{border-style: none;padding: 0px;font-size: small;color: red;transform: rotate(45deg);transform-origin: left top;}h2{border-bottom: 1px solid #666;}h2 span {position: relative;left: -0.3em;bottom: -0.6em;padding: 1px 0.5em;border-style: solid;border-width: 1px 1px 1px 0.8em;border-color: #666 #666 #666 #008;background-color: #ddd; } .space{border-style: none;} .not{background-color: white; text-align: center} .notfirst{background-color: white;border-width: 2px;border-color: red;border-style: none solid none none; } .notmid {background-color: white;text-align: right;border-style: solid none none none; } .notlast {background-color: white;width: 5px;border-style: none none none none; } .t0{background-color: yellow;} .t1{background-color: purple;} .t2{background-color: red;} .t3{background-color: silver;} .t4{background-color: teal;} .t5{background-color: aqua;} .t6{background-color: olive;} .t7{background-color: navy;} .t8{background-color: maroon;} .t9{background-color: lime;} .t10{background-color: green;} .t11{background-color: gray;} .t12{background-color: fuchsia;} .t13{background-color: blue;} .t14{background-color: darkred;}.wrapper {width: 256px;height: 256px; } .clear {clear:both}"
 
 #define SCHED_HTML_CSS_CONTENT "table{\n \
 	border-collapse: collapse;\n \
diff --git a/simulators/c++2/src_simulator/sim/SimServSyncInfo.h b/simulators/c++2/src_simulator/sim/SimServSyncInfo.h
index 987bdc394d090275fe7ad3d1c169727756b97586..91906087bc6ab8cc3e4db97e32666f817b390b44 100644
--- a/simulators/c++2/src_simulator/sim/SimServSyncInfo.h
+++ b/simulators/c++2/src_simulator/sim/SimServSyncInfo.h
@@ -43,7 +43,6 @@ Ludovic Apvrille, Renaud Pacalet
 
 #include <definitions.h>
 
-#define BUFFER_SIZE 1000
 class CurrentComponents;
 class Simulator;
 class ServerIF;
diff --git a/simulators/c++2/src_simulator/sim/Simulator.cpp b/simulators/c++2/src_simulator/sim/Simulator.cpp
index fe1b486a3ada108d2cb3eb6dba3fe61c8057693c..430b97b751cf678774d396c4042eca21aad12582 100644
--- a/simulators/c++2/src_simulator/sim/Simulator.cpp
+++ b/simulators/c++2/src_simulator/sim/Simulator.cpp
@@ -465,26 +465,30 @@ void Simulator::timeline2HTML(std::string& iTracetaskList, std::ostringstream& m
 
     std::map<TMLTask*, std::string> taskCellClasses;
 
-    myfile << "<!DOCTYPE html>\n"; // <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n
-    myfile << "<html>\n"; // <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n
-    myfile << SCHED_HTML_BEG_HEAD; // <head>\n
-    myfile << SCHED_HTML_BEG_STYLE; // <style>\n";
-    myfile << SCHED_HTML_CSS_CONTENT_TIMELINE << std::endl;
-    myfile << SCHED_HTML_END_STYLE; // <style>\n";
-    myfile << SCHED_HTML_BEG_TITLE; // <title>
+    myfile << "<!DOCTYPE html>"; // <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n
+    myfile << "<html>"; // <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n
+    myfile << "<head>"; // <head>\n
+    myfile << "<style>"; // <style>\n";
+    myfile << SCHED_HTML_CSS_CONTENT_TIMELINE;
+    myfile << "</style>"; // <style>\n";
+    myfile << "<title>"; // <title>
     myfile << "Timeline Diagram";
-    myfile << SCHED_HTML_END_TITLE; // </title>\n
-    myfile << SCHED_HTML_END_HEAD; // </head>\n
+    myfile << "</title>"; // </title>\n
+    myfile << "</head>"; // </head>\n
     myfile << SCHED_HTML_BEG_BODY; // <body>\n
 //        myfile << "<h1>Task to show: " << iTracetaskList.c_str() <<"</h1>\n";
-    myfile << "<table style=\"float: left;position: relative;\"><tr><td width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td>\n"
-           << "<td class=\"notfirst\"></td>\n"
-           << "<td style=\"border-style: solid none none none; border-width: 2px;border-color: red;text-align:right\"colspan=\"500\"><b>Time</b></td>\n</tr>\n"
-           << "<tr><th></th><th class=\"notfirst\"></th></tr>\n"
-           << "<div class = \"clear\"></div>" << std::endl;
+    myfile << "<table style=\"float: left;position: relative;\"><tr><td width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td>"
+           << "<td class=\"notfirst\"></td>"
+           << "<td style=\"border-style: solid none none none; border-width: 2px;border-color: red;text-align:right\"colspan=\"500\"><b>Time</b></td></tr>"
+           << "<tr><th></th><th class=\"notfirst\"></th></tr>"
+           << "<div class = \"clear\"></div>";
+    unsigned int maxScale = 0;
     for(CPUList::const_iterator i=_simComp->getCPUList().begin(); i != _simComp->getCPUList().end(); ++i){
         for(unsigned int j = 0; j < (*i)->getAmoutOfCore(); j++) {
             taskCellClasses = (*i)->HWTIMELINE2HTML(myfile, taskCellClasses, taskCellClasses.size(), iTracetaskList);
+            if((*i)->getMaxScale() > maxScale) {
+                maxScale = (*i)->getMaxScale();
+            }
             (*i)->setCycleTime((*i)->getCycleTime()+1);
         }
         if((*i)->getAmoutOfCore() == 1)
@@ -496,23 +500,61 @@ void Simulator::timeline2HTML(std::string& iTracetaskList, std::ostringstream& m
         for(TaskList::const_iterator i = (*j)->getTaskList().begin(); i != (*j)->getTaskList().end(); ++i){
             (*j)->setHtmlCurrTask(*i);
             taskCellClasses = (*j)->HWTIMELINE2HTML(myfile, taskCellClasses, taskCellClasses.size(), iTracetaskList);
+            if((*j)->getMaxScale() > maxScale) {
+                maxScale = (*j)->getMaxScale();
+            }
             (*j)->setStartFlagHTML(false);
         }
     }
 
     for(BusList::const_iterator j=_simComp->getBusList().begin(); j != _simComp->getBusList().end(); ++j){
         taskCellClasses = (*j)->HWTIMELINE2HTML(myfile, taskCellClasses, taskCellClasses.size(), iTracetaskList);
+        if((*j)->getMaxScale() > maxScale) {
+            maxScale = (*j)->getMaxScale();
+        }
+    }
+
+    myfile << "</tr><tr><th></th><th class=\"notfirst\"></th></tr><div class = \"clear\"></div>";
+    for ( unsigned int aLength = 0; aLength < maxScale; aLength++ ) {
+        if( aLength == 1) {
+          myfile << "<th class=\"notfirst\">";
+        } else {
+          myfile << "<th></th>";
+        }
     }
-    myfile << "</tr>\n<tr><th></th><th class=\"notfirst\"></th></tr>\n<div class = \"clear\"></div>\n";
-    myfile << "</table>\n<table>\n<tr><td width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td>\n<td class=\"notlast\"></td>\n<td class=\"notlast\"></td>\n";
+    myfile << "</table><table><tr><td width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td><td class=\"notlast\"></td><td class=\"notlast\"></td>";
     for( std::map<TMLTask*, std::string>::iterator taskColIt = taskCellClasses.begin(); taskColIt != taskCellClasses.end(); ++taskColIt ) {
         TMLTask* task = (*taskColIt).first;
         // Unset the default td max-width of 5px. For some reason setting the max-with on a specific t style does not work
         myfile << "<td class=\"" << taskCellClasses[ task ] << "\"></td><td style=\"max-width: unset;min-width: 170px;\">" << task->toString() << "</td><td class=\"space\"></td>";
     }
-    myfile << "</tr>\n</table>\n";
-    myfile << SCHED_HTML_END_BODY; // </body>\n
-    myfile << SCHED_HTML_END_HTML; // </html>\n
+    myfile << "</tr><tr><td width=\"170px\" style=\"max-width: unset;min-width: 170px;border-style: none none none none;\"></td><td class=\"notlast\"></td><td class=\"notlast\"></td>";
+    for( std::map<TMLTask*, std::string>::iterator taskColIt = taskCellClasses.begin(); taskColIt != taskCellClasses.end(); ++taskColIt ) {
+        TMLTask* task = (*taskColIt).first;
+        std::string str = getTaskCellStatus(task->getState());
+        std::size_t pos = str.find(":");
+        if(pos != std::string::npos){
+            std::string str1 = str.substr (0, pos);
+            std::string str2 = str.substr (pos + 1);
+            myfile << "<td style=\"border-style: none none none none;\"></td><td style=\"max-width: unset;min-width: 170px;border-style: none none none none;color:" << str2 << "\"><b>" <<  str1 << "</b></td><td class=\"space\"></td>";
+        }
+    }
+    myfile << "</tr></table>";
+    myfile << "</body>"; // </body>\n
+    myfile << "</html>"; // </html>\n
+}
+std::string Simulator::getTaskCellStatus(int i) const {
+    switch (i){
+        case 2:
+            return "Running:green";
+        case 1:
+            return "Runnable:blue";
+        case 0:
+            return "Suspended:orange";
+        case 3:
+            return "Terminated:red";
+    }
+    return "Unknown:gray";
 }
 void Simulator::schedule2HTML(std::string& iTraceFileName) const {
 #ifdef DEBUG_HTML
@@ -1412,9 +1454,9 @@ void Simulator::decodeCommand(std::string iCmd, std::ostream& iXmlOutStream){
           if (!_simComp->getNonDaemonTaskList().empty()) {
              for (TaskList::const_iterator i=_simComp->getNonDaemonTaskList().begin(); i != _simComp->getNonDaemonTaskList().end(); ++i) {
              //the simulation terminated when all tasks are terminated or suspended
-                if((*i)->getState()==3 || (*i)->getState()==0){
+                if((*i)->getState() == 3 || (*i)->getState() == 0){
                     tempDaemon ++;
-                    if ((*i)->getState()==3) {
+                    if ((*i)->getState() == 3) {
                         checkTerminated = true;
                     }
                 }
diff --git a/simulators/c++2/src_simulator/sim/Simulator.h b/simulators/c++2/src_simulator/sim/Simulator.h
index ad74c1c55c41b60184a5bbee4714f189ed784cbe..0fb6eceb3bc46bc115aa63cfdcf1c4257589b3ea 100644
--- a/simulators/c++2/src_simulator/sim/Simulator.h
+++ b/simulators/c++2/src_simulator/sim/Simulator.h
@@ -248,6 +248,7 @@ public:
 	///Writes a HTML representation of the schedule of CPUs and buses to an output file
 	void schedule2HTML(std::string& iTraceFileName) const;
 	void timeline2HTML(std::string& iTracetaskList, std::ostringstream& myfile) const;
+	std::string getTaskCellStatus(int i) const;
 
 	///Writes simulation traces in VCD format to an output file
 	/**
diff --git a/ttool/src/test/java/tmltranslator/DiplodocusTerminatedTest.java b/ttool/src/test/java/tmltranslator/DiplodocusSimulatorTerminationTest.java
similarity index 97%
rename from ttool/src/test/java/tmltranslator/DiplodocusTerminatedTest.java
rename to ttool/src/test/java/tmltranslator/DiplodocusSimulatorTerminationTest.java
index c8fb3b31de39057ef65de4127e4c0a4933ffce85..c7bb462d23ce4c481df05dd3173105c540268900 100644
--- a/ttool/src/test/java/tmltranslator/DiplodocusTerminatedTest.java
+++ b/ttool/src/test/java/tmltranslator/DiplodocusSimulatorTerminationTest.java
@@ -2,7 +2,6 @@ package tmltranslator;
 
 import common.ConfigurationTTool;
 import common.SpecConfigTTool;
-import myutil.FileUtils;
 import myutil.TraceManager;
 import org.junit.Before;
 import org.junit.BeforeClass;
@@ -24,14 +23,13 @@ import ui.tmldd.TMLArchiDiagramPanel;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Vector;
 
 import static org.junit.Assert.assertTrue;
 
-public class DiplodocusTerminatedTest extends AbstractUITest {
+public class DiplodocusSimulatorTerminationTest extends AbstractUITest {
     final String DIR_GEN = "test_diplo_simulator/";
     final String [] MODELS_TERMINATE = {"terminatedTest"};
     private String SIM_DIR;
@@ -46,7 +44,7 @@ public class DiplodocusTerminatedTest extends AbstractUITest {
 
     }
 
-    public DiplodocusTerminatedTest() {
+    public DiplodocusSimulatorTerminationTest() {
         super();
     }
 
@@ -167,7 +165,7 @@ public class DiplodocusTerminatedTest extends AbstractUITest {
             }
             try {
 
-                toServer(" 1 0", rc);
+                toServer(" 1 6 500", rc);
                 Thread.sleep(5);
                 while (running) {
                     String demo = null;
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_get_generated_timeline.txt b/ttool/src/test/resources/tmltranslator/expected/expected_get_generated_timeline.txt
index 88a26fbe61c974cd0b2c8df2ad6c2bfd02cd03e9..0e633f9c754cadca9deda98799cb0e42c6151add 100644
--- a/ttool/src/test/resources/tmltranslator/expected/expected_get_generated_timeline.txt
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_get_generated_timeline.txt
@@ -1,147 +1,5 @@
-<!DOCTYPE html>
-<html>
-<head>
-<style>
-table{
-     border-collapse: collapse;
-     empty-cells: show;
-     margin: 0.4cm;
- }
- td{
-     padding: 10px 5px;
-     border: 1px solid black;
-     max-width: 5px;
- }
- th{
-     padding: 5px;
- }
- .sc{
-     border-style: none;
-     padding: 0px;
-     font-size: small;
-     transform: rotate(45deg);
-     transform-origin: left top;
- }
- .sc1{
-     border-style: none;
-     padding: 0px;
-     font-size: small;
-     color: red;
-     transform: rotate(45deg);
-     transform-origin: left top;
- }
- h2 {
-     border-bottom: 1px solid #666;
- }
- h2 span {
-     position: relative;
-     left: -0.3em;
-     bottom: -0.6em;
-     padding: 1px 0.5em;
-     border-style: solid;
-     border-width: 1px 1px 1px 0.8em;
-     border-color: #666 #666 #666 #008;
-     background-color: #ddd;
- }
- .space{border-style: none;}
- .not{background-color: white; text-align: center}
- .notfirst{
-     background-color: white;
-     border-width: 2px;
-     border-color: red;
-     border-style: none solid none none;
- }
- .notmid {
-     background-color: white;
-     text-align: right;
-     border-style: solid none none none;
- }
- .notlast {
-     background-color: white;
-     width: 5px;
-     border-style: none none none none;
- }
- .t0{background-color: yellow;}
- .t1{background-color: purple;}
- .t2{background-color: red;}
- .t3{background-color: silver;}
- .t4{background-color: teal;}
- .t5{background-color: aqua;}
- .t6{background-color: olive;}
- .t7{background-color: navy;}
- .t8{background-color: maroon;}
- .t9{background-color: lime;}
- .t10{background-color: green;}
- .t11{background-color: gray;}
- .t12{background-color: fuchsia;}
- .t13{background-color: blue;}
- .t14{background-color: darkred;}
- .wrapper {
-     width: 256px;
-     height: 256px;
- }
- .clear {
-     clear:both
- }
-</style>
-<title>Timeline Diagram</title>
-</head>
-<body>
-<table style="float: left;position: relative;"><tr><td width="170px" style="max-width: unset;min-width: 170px;border-style: none none none none;"></td>
-<td class="notfirst"></td>
-<td style="border-style: solid none none none; border-width: 2px;border-color: red;text-align:right"colspan="500"><b>Time</b></td>
-</tr>
-<tr><th></th><th class="notfirst"></th></tr>
-<div class = "clear"></div>
-<tr><td title = "Average load: 0.99; Utilization: 0.99" width="170px" style="max-width: unset;min-width: 170px;background-color: aqua;">FPGA1_1_core_0</td>
-<td class="notfirst"></td>
-<td class="notlast"></td>
-<td colspan="1" title="idle time" class="not"></td>
-<td colspan="1" title="ApplicationSimple__T1: Wait ApplicationSimple__evtToT1__ApplicationSimple__evtToT1 params: t:1 l:1 (vl:1) params:(100(size)) Ch: ApplicationSimple__evtToT1__ApplicationSimple__evtToT1" class="t0"> W</td>
-<td colspan="4" title="idle time" class="not"></td>
-<td colspan="10" title="ApplicationSimple__T1: Read 400,ApplicationSimple__chToT1 t:6 l:400 (vl:400) params: Ch: ApplicationSimple__chToT1" class="t0"> R</td>
-</tr>
-<tr><td width="170px" style="max-width: unset;min-width: 170px;border-style: none none none none;"></td>
-<td class="notfirst"></td>
-<td class="notlast"></td>
-<td colspan="1" class="sc">0</td><td colspan="1" class="sc">1</td><td colspan="4" class="sc">2</td><td colspan="10" class="sc">6</td><td colspan="5" class="sc">406</td></tr>
-<tr><th></th><th class="notfirst"><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr>
-
-<div class = "clear"></div>
-<tr><td title = "Average load: 1; Utilization: 0.015" width="170px" style="max-width: unset;min-width: 170px;background-color: aqua;">Src_1_core_0</td>
-<td class="notfirst"></td>
-<td class="notlast"></td>
-<td colspan="1" title="ApplicationSimple__Src: Send ApplicationSimple__evtToT1__ApplicationSimple__evtToT1(evtFB) len:2 content:0 params: t:0 l:1 (vl:1) params:(100(size)) Ch: ApplicationSimple__evtToT1__ApplicationSimple__evtToT1" class="t1"> S</td>
-<td colspan="5" title="ApplicationSimple__Src: Write 400,ApplicationSimple__chToT1 t:1 l:5 (vl:400) params: Ch: ApplicationSimple__chToT1" class="t1"> W</td>
-</tr>
-<tr><td width="170px" style="max-width: unset;min-width: 170px;border-style: none none none none;"></td>
-<td class="notfirst"></td>
-<td class="notlast"></td>
-<td colspan="1" class="sc">0</td><td colspan="5" class="sc">1</td><td colspan="5" class="sc">6</td></tr>
-<tr><th></th><th class="notfirst"><th></th><th></th><th></th><th></th><th></th><th></th></tr>
-
-<div class = "clear"></div>
-<tr><td title = "Average load: 0.83; Utilization: 0.012" width="170px" style="max-width: unset;min-width: 170px;background-color: aqua;">Bus0_0</td>
-<td class="notfirst"></td>
-<td class="notlast"></td>
-<td colspan="1" title="idle time" class="not"></td>
-<td colspan="5" title="ApplicationSimple__Src: Write 400,ApplicationSimple__chToT1 t:1 l:5 (vl:400) params: Ch: ApplicationSimple__chToT1" class="t1"> W</td>
-</tr>
-<tr><td width="170px" style="max-width: unset;min-width: 170px;border-style: none none none none;"></td>
-<td class="notfirst"></td>
-<td class="notlast"></td>
-<td colspan="1" class="sc">0</td><td colspan="5" class="sc">1</td><td colspan="5" class="sc">6</td></tr>
-<tr><th></th><th class="notfirst"><th></th><th></th><th></th><th></th><th></th><th></th></tr>
-<div class = "clear"></div>
-</tr>
-<tr><th></th><th class="notfirst"></th></tr>
-<div class = "clear"></div>
-</table>
-<table>
-<tr><td width="170px" style="max-width: unset;min-width: 170px;border-style: none none none none;"></td>
-<td class="notlast"></td>
-<td class="notlast"></td>
-<td class="t0"></td><td style="max-width: unset;min-width: 170px;">ApplicationSimple__T1</td><td class="space"></td><td class="t1"></td><td style="max-width: unset;min-width: 170px;">ApplicationSimple__Src</td><td class="space"></td></tr>
-</table>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html><html><head><style>table{border-collapse: collapse;empty-cells: show;margin: 0.4cm;}td{padding: 10px 5px;border: 1px solid black;max-width: 5px;}th{padding: 5px;}.sc{border-style: none;padding: 0px;font-size: small;transform: rotate(45deg);transform-origin: left top;}.sc1{border-style: none;padding: 0px;font-size: small;color: red;transform: rotate(45deg);transform-origin: left top;}h2{border-bottom: 1px solid #666;}h2 span {position: relative;left: -0.3em;bottom: -0.6em;padding: 1px 0.5em;border-style: solid;border-width: 1px 1px 1px 0.8em;border-color: #666 #666 #666 #008;background-color: #ddd; } .space{border-style: none;} .not{background-color: white; text-align: center} .notfirst{background-color: white;border-width: 2px;border-color: red;border-style: none solid none none; } .notmid {background-color: white;text-align: right;border-style: solid none none none; } .notlast {background-color: white;width: 5px;border-style: none none none none; } .t0{background-color: yellow;} .t1{background-color: purple;} .t2{background-color: red;} .t3{background-color: silver;} .t4{background-color: teal;} .t5{background-color: aqua;} .t6{background-color: olive;} .t7{background-color: navy;} .t8{background-color: maroon;} .t9{background-color: lime;} .t10{background-color: green;} .t11{background-color: gray;} .t12{background-color: fuchsia;} .t13{background-color: blue;} .t14{background-color: darkred;}.wrapper {width: 256px;height: 256px; } .clear {clear:both}</style><title>Timeline Diagram</title></head><body>
+<table style="float: left;position: relative;"><tr><td width="170px" style="max-width: unset;min-width: 170px;border-style: none none none none;"></td><td class="notfirst"></td><td style="border-style: solid none none none; border-width: 2px;border-color: red;text-align:right"colspan="500"><b>Time</b></td></tr><tr><th></th><th class="notfirst"></th></tr><div class = "clear"></div><tr><td title = "Average load: 0.99; Utilization: 0.99" width="170px" style="max-width: unset;min-width: 170px;background-color: aqua;">FPGA1_1_core_0</td><td class="notfirst"></td><td class="notlast"></td><td colspan="1" title="idle time" class="not"></td><td colspan="1" title="ApplicationSimple__T1: Wait ApplicationSimple__evtToT1__ApplicationSimple__evtToT1 params: t:1 l:1 (vl:1) params:(100(size)) Ch: ApplicationSimple__evtToT1__ApplicationSimple__evtToT1" class="t0"> W</td><td colspan="4" title="idle time" class="not"></td><td colspan="10" title="ApplicationSimple__T1: Read 400,ApplicationSimple__chToT1 t:6 l:400 (vl:400) params: Ch: ApplicationSimple__chToT1" class="t0"> R</td></tr><tr><td width="170px" style="max-width: unset;min-width: 170px;border-style: none none none none;"></td><td class="notfirst"></td><td class="notlast"></td><td colspan="1" class="sc">0</td><td colspan="1" class="sc">1</td><td colspan="4" class="sc">2</td><td colspan="10" class="sc">6</td><td colspan="5" class="sc">406</td></tr><tr><th></th><th class="notfirst"><th></th></tr><div class = "clear"></div>
+<tr><td title = "Average load: 1; Utilization: 0.015" width="170px" style="max-width: unset;min-width: 170px;background-color: aqua;">Src_1_core_0</td><td class="notfirst"></td><td class="notlast"></td><td colspan="1" title="ApplicationSimple__Src: Send ApplicationSimple__evtToT1__ApplicationSimple__evtToT1(evtFB) len:2 content:0 params: t:0 l:1 (vl:1) params:(100(size)) Ch: ApplicationSimple__evtToT1__ApplicationSimple__evtToT1" class="t1"> S</td><td colspan="5" title="ApplicationSimple__Src: Write 400,ApplicationSimple__chToT1 t:1 l:5 (vl:400) params: Ch: ApplicationSimple__chToT1" class="t1"> W</td></tr><tr><td width="170px" style="max-width: unset;min-width: 170px;border-style: none none none none;"></td><td class="notfirst"></td><td class="notlast"></td><td colspan="1" class="sc">0</td><td colspan="5" class="sc">1</td><td colspan="5" class="sc">6</td></tr><tr><th></th><th class="notfirst"><th></th></tr><div class = "clear"></div>
+<tr><td title = "Average load: 0.83; Utilization: 0.012" width="170px" style="max-width: unset;min-width: 170px;background-color: aqua;">Bus0_0</td><td class="notfirst"></td><td class="notlast"></td><td colspan="1" title="idle time" class="not"></td><td colspan="5" title="ApplicationSimple__Src: Write 400,ApplicationSimple__chToT1 t:1 l:5 (vl:400) params: Ch: ApplicationSimple__chToT1" class="t1"> W</td></tr><tr><td width="170px" style="max-width: unset;min-width: 170px;border-style: none none none none;"></td><td class="notfirst"></td><td class="notlast"></td><td colspan="1" class="sc">0</td><td colspan="5" class="sc">1</td><td colspan="5" class="sc">6</td></tr><tr><th></th><th class="notfirst"><th></th></tr><div class = "clear"></div>
+</tr><tr><th></th><th class="notfirst"></th></tr><div class = "clear"></div><th></th><th class="notfirst"><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></table><table><tr><td width="170px" style="max-width: unset;min-width: 170px;border-style: none none none none;"></td><td class="notlast"></td><td class="notlast"></td><td class="t0"></td><td style="max-width: unset;min-width: 170px;">ApplicationSimple__T1</td><td class="space"></td><td class="t1"></td><td style="max-width: unset;min-width: 170px;">ApplicationSimple__Src</td><td class="space"></td></tr><tr><td width="170px" style="max-width: unset;min-width: 170px;border-style: none none none none;"></td><td class="notlast"></td><td class="notlast"></td><td style="border-style: none none none none;"></td><td style="max-width: unset;min-width: 170px;border-style: none none none none;color:green"><b>Running</b></td><td class="space"></td><td style="border-style: none none none none;"></td><td style="max-width: unset;min-width: 170px;border-style: none none none none;color:red"><b>Terminated</b></td><td class="space"></td></tr></table></body></html>
\ No newline at end of file