From 6388b3d75c104f20be66580b083cf422aba056b3 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Thu, 22 Aug 2019 22:40:28 +0200 Subject: [PATCH] DRAM command was not set in trace recorder --- DRAMSys/library/src/common/TlmRecorder.cpp | 5 +++++ DRAMSys/library/src/common/TlmRecorder.h | 1 + 2 files changed, 6 insertions(+) diff --git a/DRAMSys/library/src/common/TlmRecorder.cpp b/DRAMSys/library/src/common/TlmRecorder.cpp index db59e640..b0d21f33 100644 --- a/DRAMSys/library/src/common/TlmRecorder.cpp +++ b/DRAMSys/library/src/common/TlmRecorder.cpp @@ -141,6 +141,8 @@ void TlmRecorder::introduceTransactionSystem(tlm::tlm_generic_payload &trans) { unsigned int id = totalNumTransactions++; currentTransactionsInSystem[&trans].id = id; + currentTransactionsInSystem[&trans].cmd = trans.get_command() == + tlm::TLM_READ_COMMAND ? "R" : "W"; currentTransactionsInSystem[&trans].address = trans.get_address(); currentTransactionsInSystem[&trans].burstlength = trans.get_streaming_width(); currentTransactionsInSystem[&trans].dramExtension = DramExtension::getExtension( @@ -378,8 +380,11 @@ void TlmRecorder::insertTransactionInDB(Transaction &recordingData) recordingData.timeOnDataStrobe.end.value()); sqlite3_bind_int64(insertTransactionStatement, 13, recordingData.timeOfGeneration.value()); + sqlite3_bind_text(insertTransactionStatement, 14, + recordingData.cmd.c_str(), recordingData.cmd.length(), NULL); executeSqlStatement(insertTransactionStatement); + } void TlmRecorder::insertRangeInDB(unsigned int id, const sc_time &begin, diff --git a/DRAMSys/library/src/common/TlmRecorder.h b/DRAMSys/library/src/common/TlmRecorder.h index 31deb14d..8abcb2ac 100644 --- a/DRAMSys/library/src/common/TlmRecorder.h +++ b/DRAMSys/library/src/common/TlmRecorder.h @@ -94,6 +94,7 @@ private: unsigned int id; unsigned int address; unsigned int burstlength; + std::string cmd; DramExtension dramExtension; sc_time timeOfGeneration; TimeInterval timeOnDataStrobe;