diff --git a/dram/.cproject b/dram/.cproject
index f25fb107..65ad912f 100644
--- a/dram/.cproject
+++ b/dram/.cproject
@@ -29,7 +29,10 @@
-
+
+
+
+
@@ -52,11 +55,14 @@
+
+
diff --git a/dram/src/common/DebugManager.cpp b/dram/src/common/DebugManager.cpp
index b397232f..f8de5633 100644
--- a/dram/src/common/DebugManager.cpp
+++ b/dram/src/common/DebugManager.cpp
@@ -28,7 +28,7 @@ void DebugManager::printDebugMessage(string message, Sender sender, Importance i
std::cout << " at " << sc_time_stamp();
if (printLocation)
std::cout << " in " << senderToString(sender);
- cout << ": " << message << endl;
+ cout << ": \t " << message << endl;
}
}
@@ -45,7 +45,7 @@ void DebugManager::printDebugMessage(std::string message, Sender sender, unsigne
std::cout << " at " << sc_time_stamp();
if (printLocation)
std::cout << " in " << senderToString(sender) << "number " << senderNumber;
- cout << ": " << message << endl;
+ cout << ": \t " << message << endl;
}
}
@@ -61,6 +61,11 @@ void DebugManager::addToWhiteList(Sender sender)
addToWhiteList(sender, Importance::Warning);
}
+void DebugManager::addToWhiteList(vector senders)
+{
+ for(Sender sender: senders)
+ addToWhiteList(sender);
+}
string DebugManager::importanceToString(Importance importancy)
{
@@ -88,11 +93,9 @@ string DebugManager::senderToString(Sender sender)
return "TracePlayer";
case Sender::TraceRecorder:
return "TraceRecorder";
+ case Sender::PowerDownManager:
+ return "PowerDownManger";
}
return "unknown sender";
}
-void reportFatal(std::string sender, std::string message)
-{
- SC_REPORT_FATAL(sender.c_str(), message.c_str());
-}
diff --git a/dram/src/common/DebugManager.h b/dram/src/common/DebugManager.h
index d0553c27..f94d3fb8 100644
--- a/dram/src/common/DebugManager.h
+++ b/dram/src/common/DebugManager.h
@@ -11,9 +11,7 @@
#include
enum class Importance {Warning, Info};
-enum class Sender {DramController, DramWrapper, Scheduler, TracePlayer, TraceRecorder};
-
-void reportFatal(std::string sender, std::string message);
+enum class Sender {DramController, DramWrapper, Scheduler, TracePlayer, TraceRecorder, PowerDownManager};
class DebugManager
@@ -28,6 +26,7 @@ public:
void printDebugMessage(std::string message, Sender sender,unsigned int senderNumber, Importance importance=Importance::Info);
void addToWhiteList(Sender sender, Importance importance);
+ void addToWhiteList(std::vector senders);
void addToWhiteList(Sender sender);
private:
diff --git a/dram/src/common/TlmRecorder.cpp b/dram/src/common/TlmRecorder.cpp
index 37d6adf6..f23e932f 100644
--- a/dram/src/common/TlmRecorder.cpp
+++ b/dram/src/common/TlmRecorder.cpp
@@ -2,8 +2,10 @@
#include "protocol.h"
#include "dramExtension.h"
#include "xmlAddressdecoder.h"
+#include "Utils.h"
#include
+
using namespace std;
TlmRecorder::TlmRecorder(string dbName, string sqlScriptURI) :
@@ -32,7 +34,7 @@ void TlmRecorder::recordPhase(tlm::tlm_generic_payload& trans, tlm::tlm_phase ph
unsigned int id = currentTransactionsInSystem[&trans];
- string phaseName = phaseToString(phase);
+ string phaseName = phaseNameToString(phase);
string phaseBeginPrefix = "BEGIN_";
string phaseEndPrefix = "END_";
@@ -151,7 +153,7 @@ void TlmRecorder::insertRangeInDB(unsigned int id, const sc_time& time)
}
void TlmRecorder::insertPhaseInDB(string phaseName, const sc_time& begin, const sc_time& end, tlm::tlm_generic_payload& trans)
{
- unsigned int id = currentTransactionsInSystem.at(&trans);
+ unsigned int id = getElementFromMap(currentTransactionsInSystem,&trans);
sqlite3_bind_text(insertPhaseStatement, 1, phaseName.c_str(), phaseName.length(), 0);
sqlite3_bind_int64(insertPhaseStatement, 2, begin.value());
sqlite3_bind_int64(insertPhaseStatement, 3, end.value());
@@ -161,7 +163,7 @@ void TlmRecorder::insertPhaseInDB(string phaseName, const sc_time& begin, const
void TlmRecorder::updatePhaseEndInDB(string phaseName, const sc_time& time, tlm::tlm_generic_payload& trans)
{
- unsigned int id = currentTransactionsInSystem.at(&trans);
+ unsigned int id = getElementFromMap(currentTransactionsInSystem,&trans);
sqlite3_bind_int64(updatePhaseStatement, 1, time.value());
sqlite3_bind_int(updatePhaseStatement, 2, id);
sqlite3_bind_text(updatePhaseStatement, 3, phaseName.c_str(), phaseName.length(), 0);
@@ -187,7 +189,7 @@ void TlmRecorder::introduceNewTransactionToSystem(const sc_time& time,
void TlmRecorder::removeTransactionFromSystem(const sc_time& time, tlm::tlm_generic_payload& trans)
{
- unsigned int id = currentTransactionsInSystem.at(&trans);
+ unsigned int id = getElementFromMap(currentTransactionsInSystem,&trans);
currentTransactionsInSystem.erase(&trans);
sqlite3_bind_int64(updateRangeStatement, 1, time.value());
sqlite3_bind_int(updateRangeStatement, 2, id);
@@ -231,13 +233,14 @@ string TlmRecorder::getFileContents(string filename)
}
throw(errno);
}
-string TlmRecorder::phaseToString(tlm::tlm_phase phase)
-{
- ostringstream oss;
- oss << phase;
- string str = oss.str();
- return str;
-}
+//
+//string TlmRecorder::phaseToString(tlm::tlm_phase phase)
+//{
+// ostringstream oss;
+// oss << phase;
+// string str = oss.str();
+// return str;
+//}
void TlmRecorder::printDebugMessage(std::string message, Importance importance)
diff --git a/dram/src/common/TlmRecorder.h b/dram/src/common/TlmRecorder.h
index 5b64b7a7..3aa8a0f1 100755
--- a/dram/src/common/TlmRecorder.h
+++ b/dram/src/common/TlmRecorder.h
@@ -32,7 +32,7 @@ public:
private:
std::string dbName;
- std::string phaseToString(tlm::tlm_phase phase);
+ //std::string phaseToString(tlm::tlm_phase phase);
std::string getFileContents(std::string filename);
void executeSqlCommand(std::string command);
diff --git a/dram/src/common/Utils.cpp b/dram/src/common/Utils.cpp
new file mode 100644
index 00000000..b8b15d65
--- /dev/null
+++ b/dram/src/common/Utils.cpp
@@ -0,0 +1,19 @@
+#include "Utils.h"
+#include
+#include
+
+using namespace std;
+
+void reportFatal(std::string sender, std::string message)
+{
+ SC_REPORT_FATAL(sender.c_str(), message.c_str());
+}
+
+
+std::string phaseNameToString(tlm::tlm_phase phase)
+{
+ std::ostringstream oss;
+ oss << phase;
+ std::string str = oss.str();
+ return str;
+}
diff --git a/dram/src/common/Utils.h b/dram/src/common/Utils.h
new file mode 100644
index 00000000..568826d2
--- /dev/null
+++ b/dram/src/common/Utils.h
@@ -0,0 +1,32 @@
+/*
+ * Utils.h
+ *
+ * Created on: Apr 3, 2014
+ * Author: robert
+ */
+
+#ifndef UTILS_COMMON_UTILS_H_
+#define UTILS_COMMON_UTILS_H_
+
+#include
+#include