Reformat all files.
This commit is contained in:
53
tests/tests_simulator/cache/ListInitiator.cpp
vendored
53
tests/tests_simulator/cache/ListInitiator.cpp
vendored
@@ -43,11 +43,11 @@
|
||||
#include <tlm>
|
||||
#include <utility>
|
||||
|
||||
ListInitiator::ListInitiator(const sc_core::sc_module_name &name, MemoryManager &memoryManager)
|
||||
: sc_core::sc_module(name),
|
||||
iSocket("iSocket"),
|
||||
peq(this, &ListInitiator::peqCallback),
|
||||
memoryManager(memoryManager)
|
||||
ListInitiator::ListInitiator(const sc_core::sc_module_name& name, MemoryManager& memoryManager) :
|
||||
sc_core::sc_module(name),
|
||||
iSocket("iSocket"),
|
||||
peq(this, &ListInitiator::peqCallback),
|
||||
memoryManager(memoryManager)
|
||||
{
|
||||
iSocket.register_nb_transport_bw(this, &ListInitiator::nb_transport_bw);
|
||||
SC_THREAD(process);
|
||||
@@ -55,7 +55,7 @@ ListInitiator::ListInitiator(const sc_core::sc_module_name &name, MemoryManager
|
||||
|
||||
void ListInitiator::process()
|
||||
{
|
||||
for (auto &testTransactionData : testTransactionList)
|
||||
for (auto& testTransactionData : testTransactionList)
|
||||
{
|
||||
wait(testTransactionData.startTime - sc_core::sc_time_stamp());
|
||||
|
||||
@@ -64,10 +64,10 @@ void ListInitiator::process()
|
||||
? tlm::TLM_WRITE_COMMAND
|
||||
: tlm::TLM_READ_COMMAND;
|
||||
|
||||
auto &trans = memoryManager.allocate(testTransactionData.dataLength);
|
||||
auto& trans = memoryManager.allocate(testTransactionData.dataLength);
|
||||
trans.acquire();
|
||||
|
||||
TestExtension *ext = new TestExtension(testTransactionData);
|
||||
TestExtension* ext = new TestExtension(testTransactionData);
|
||||
trans.set_auto_extension(ext);
|
||||
|
||||
trans.set_command(command);
|
||||
@@ -79,7 +79,8 @@ void ListInitiator::process()
|
||||
trans.set_response_status(tlm::TLM_INCOMPLETE_RESPONSE);
|
||||
|
||||
if (trans.is_write())
|
||||
std::memcpy(trans.get_data_ptr(), &testTransactionData.data, testTransactionData.dataLength);
|
||||
std::memcpy(
|
||||
trans.get_data_ptr(), &testTransactionData.data, testTransactionData.dataLength);
|
||||
|
||||
if (requestInProgress != nullptr)
|
||||
{
|
||||
@@ -113,15 +114,15 @@ void ListInitiator::process()
|
||||
}
|
||||
}
|
||||
|
||||
tlm::tlm_sync_enum ListInitiator::nb_transport_bw(tlm::tlm_generic_payload &trans,
|
||||
tlm::tlm_phase &phase,
|
||||
sc_core::sc_time &delay)
|
||||
tlm::tlm_sync_enum ListInitiator::nb_transport_bw(tlm::tlm_generic_payload& trans,
|
||||
tlm::tlm_phase& phase,
|
||||
sc_core::sc_time& delay)
|
||||
{
|
||||
peq.notify(trans, phase, delay);
|
||||
return tlm::TLM_ACCEPTED;
|
||||
}
|
||||
|
||||
void ListInitiator::peqCallback(tlm::tlm_generic_payload &trans, const tlm::tlm_phase &phase)
|
||||
void ListInitiator::peqCallback(tlm::tlm_generic_payload& trans, const tlm::tlm_phase& phase)
|
||||
{
|
||||
if (phase == tlm::END_REQ || (&trans == requestInProgress && phase == tlm::BEGIN_RESP))
|
||||
{
|
||||
@@ -145,7 +146,7 @@ void ListInitiator::peqCallback(tlm::tlm_generic_payload &trans, const tlm::tlm_
|
||||
}
|
||||
}
|
||||
|
||||
void ListInitiator::checkTransaction(tlm::tlm_generic_payload &trans)
|
||||
void ListInitiator::checkTransaction(tlm::tlm_generic_payload& trans)
|
||||
{
|
||||
if (trans.is_response_error())
|
||||
{
|
||||
@@ -153,19 +154,19 @@ void ListInitiator::checkTransaction(tlm::tlm_generic_payload &trans)
|
||||
}
|
||||
|
||||
tlm::tlm_command command = trans.get_command();
|
||||
|
||||
uint64_t transData{};
|
||||
|
||||
if (trans.get_data_length() == 1)
|
||||
transData = *reinterpret_cast<uint8_t *>(trans.get_data_ptr());
|
||||
else if (trans.get_data_length() == 2)
|
||||
transData = *reinterpret_cast<uint16_t *>(trans.get_data_ptr());
|
||||
else if (trans.get_data_length() == 4)
|
||||
transData = *reinterpret_cast<uint32_t *>(trans.get_data_ptr());
|
||||
else if (trans.get_data_length() == 8)
|
||||
transData = *reinterpret_cast<uint64_t *>(trans.get_data_ptr());
|
||||
|
||||
TestExtension *ext = nullptr;
|
||||
uint64_t transData{};
|
||||
|
||||
if (trans.get_data_length() == 1)
|
||||
transData = *reinterpret_cast<uint8_t*>(trans.get_data_ptr());
|
||||
else if (trans.get_data_length() == 2)
|
||||
transData = *reinterpret_cast<uint16_t*>(trans.get_data_ptr());
|
||||
else if (trans.get_data_length() == 4)
|
||||
transData = *reinterpret_cast<uint32_t*>(trans.get_data_ptr());
|
||||
else if (trans.get_data_length() == 8)
|
||||
transData = *reinterpret_cast<uint64_t*>(trans.get_data_ptr());
|
||||
|
||||
TestExtension* ext = nullptr;
|
||||
trans.get_extension(ext);
|
||||
TestTransactionData data = ext->getTestData();
|
||||
|
||||
|
||||
28
tests/tests_simulator/cache/ListInitiator.h
vendored
28
tests/tests_simulator/cache/ListInitiator.h
vendored
@@ -44,7 +44,7 @@ public:
|
||||
tlm_utils::simple_initiator_socket<ListInitiator> iSocket;
|
||||
|
||||
SC_HAS_PROCESS(ListInitiator);
|
||||
ListInitiator(const sc_core::sc_module_name &name, MemoryManager &memoryManager);
|
||||
ListInitiator(const sc_core::sc_module_name& name, MemoryManager& memoryManager);
|
||||
|
||||
struct TestTransactionData
|
||||
{
|
||||
@@ -62,9 +62,11 @@ public:
|
||||
uint64_t data;
|
||||
};
|
||||
|
||||
void appendTestTransactionList(const std::vector<TestTransactionData> &testTransactionList)
|
||||
void appendTestTransactionList(const std::vector<TestTransactionData>& testTransactionList)
|
||||
{
|
||||
std::copy(testTransactionList.cbegin(), testTransactionList.cend(), std::back_inserter(this->testTransactionList));
|
||||
std::copy(testTransactionList.cbegin(),
|
||||
testTransactionList.cend(),
|
||||
std::back_inserter(this->testTransactionList));
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -73,11 +75,11 @@ private:
|
||||
public:
|
||||
TestExtension(TestTransactionData data) : data(std::move(data)) {}
|
||||
|
||||
tlm_extension_base *clone() const { return new TestExtension(data); }
|
||||
tlm_extension_base* clone() const { return new TestExtension(data); }
|
||||
|
||||
void copy_from(const tlm_extension_base &ext)
|
||||
void copy_from(const tlm_extension_base& ext)
|
||||
{
|
||||
const TestExtension &cpyFrom = static_cast<const TestExtension &>(ext);
|
||||
const TestExtension& cpyFrom = static_cast<const TestExtension&>(ext);
|
||||
data = cpyFrom.getTestData();
|
||||
}
|
||||
|
||||
@@ -89,16 +91,16 @@ private:
|
||||
|
||||
void process();
|
||||
|
||||
tlm::tlm_sync_enum nb_transport_bw(tlm::tlm_generic_payload &trans,
|
||||
tlm::tlm_phase &phase,
|
||||
sc_core::sc_time &delay);
|
||||
void peqCallback(tlm::tlm_generic_payload &trans, const tlm::tlm_phase &phase);
|
||||
void checkTransaction(tlm::tlm_generic_payload &trans);
|
||||
tlm::tlm_sync_enum nb_transport_bw(tlm::tlm_generic_payload& trans,
|
||||
tlm::tlm_phase& phase,
|
||||
sc_core::sc_time& delay);
|
||||
void peqCallback(tlm::tlm_generic_payload& trans, const tlm::tlm_phase& phase);
|
||||
void checkTransaction(tlm::tlm_generic_payload& trans);
|
||||
|
||||
std::vector<TestTransactionData> testTransactionList;
|
||||
|
||||
sc_core::sc_event endRequest;
|
||||
tlm_utils::peq_with_cb_and_phase<ListInitiator> peq;
|
||||
tlm::tlm_generic_payload *requestInProgress = nullptr;
|
||||
MemoryManager &memoryManager;
|
||||
tlm::tlm_generic_payload* requestInProgress = nullptr;
|
||||
MemoryManager& memoryManager;
|
||||
};
|
||||
|
||||
38
tests/tests_simulator/cache/TargetMemory.cpp
vendored
38
tests/tests_simulator/cache/TargetMemory.cpp
vendored
@@ -42,16 +42,16 @@
|
||||
|
||||
DECLARE_EXTENDED_PHASE(INTERNAL);
|
||||
|
||||
TargetMemory::TargetMemory(const sc_core::sc_module_name &name,
|
||||
TargetMemory::TargetMemory(const sc_core::sc_module_name& name,
|
||||
sc_core::sc_time acceptDelay,
|
||||
sc_core::sc_time memoryLatency,
|
||||
std::size_t bufferSize)
|
||||
: sc_core::sc_module(name),
|
||||
tSocket("tSocket"),
|
||||
bufferSize(bufferSize),
|
||||
acceptDelay(acceptDelay),
|
||||
memoryLatency(memoryLatency),
|
||||
peq(this, &TargetMemory::peqCallback)
|
||||
std::size_t bufferSize) :
|
||||
sc_core::sc_module(name),
|
||||
tSocket("tSocket"),
|
||||
bufferSize(bufferSize),
|
||||
acceptDelay(acceptDelay),
|
||||
memoryLatency(memoryLatency),
|
||||
peq(this, &TargetMemory::peqCallback)
|
||||
{
|
||||
tSocket.register_nb_transport_fw(this, &TargetMemory::nb_transport_fw);
|
||||
|
||||
@@ -59,9 +59,9 @@ TargetMemory::TargetMemory(const sc_core::sc_module_name &name,
|
||||
std::fill(memory.begin(), memory.end(), 0);
|
||||
}
|
||||
|
||||
tlm::tlm_sync_enum TargetMemory::nb_transport_fw(tlm::tlm_generic_payload &trans,
|
||||
tlm::tlm_phase &phase,
|
||||
sc_core::sc_time &delay)
|
||||
tlm::tlm_sync_enum TargetMemory::nb_transport_fw(tlm::tlm_generic_payload& trans,
|
||||
tlm::tlm_phase& phase,
|
||||
sc_core::sc_time& delay)
|
||||
{
|
||||
peq.notify(trans, phase, delay);
|
||||
return tlm::TLM_ACCEPTED;
|
||||
@@ -86,7 +86,7 @@ void TargetMemory::printBuffer(int max, int n)
|
||||
std::cout.flush();
|
||||
}
|
||||
|
||||
void TargetMemory::peqCallback(tlm::tlm_generic_payload &trans, const tlm::tlm_phase &phase)
|
||||
void TargetMemory::peqCallback(tlm::tlm_generic_payload& trans, const tlm::tlm_phase& phase)
|
||||
{
|
||||
sc_core::sc_time delay;
|
||||
|
||||
@@ -116,7 +116,7 @@ void TargetMemory::peqCallback(tlm::tlm_generic_payload &trans, const tlm::tlm_p
|
||||
responseInProgress = false;
|
||||
if (!responseQueue.empty())
|
||||
{
|
||||
tlm::tlm_generic_payload *next = responseQueue.front();
|
||||
tlm::tlm_generic_payload* next = responseQueue.front();
|
||||
responseQueue.pop();
|
||||
sendResponse(*next);
|
||||
}
|
||||
@@ -146,7 +146,7 @@ void TargetMemory::peqCallback(tlm::tlm_generic_payload &trans, const tlm::tlm_p
|
||||
}
|
||||
}
|
||||
|
||||
void TargetMemory::sendEndRequest(tlm::tlm_generic_payload &trans)
|
||||
void TargetMemory::sendEndRequest(tlm::tlm_generic_payload& trans)
|
||||
{
|
||||
tlm::tlm_phase bw_phase;
|
||||
sc_core::sc_time delay;
|
||||
@@ -165,7 +165,7 @@ void TargetMemory::sendEndRequest(tlm::tlm_generic_payload &trans)
|
||||
printBuffer(bufferSize, currentTransactions);
|
||||
}
|
||||
|
||||
void TargetMemory::sendResponse(tlm::tlm_generic_payload &trans)
|
||||
void TargetMemory::sendResponse(tlm::tlm_generic_payload& trans)
|
||||
{
|
||||
sc_assert(responseInProgress == false);
|
||||
|
||||
@@ -186,13 +186,13 @@ void TargetMemory::sendResponse(tlm::tlm_generic_payload &trans)
|
||||
trans.release();
|
||||
}
|
||||
|
||||
void TargetMemory::executeTransaction(tlm::tlm_generic_payload &trans)
|
||||
void TargetMemory::executeTransaction(tlm::tlm_generic_payload& trans)
|
||||
{
|
||||
tlm::tlm_command command = trans.get_command();
|
||||
sc_dt::uint64 address = trans.get_address();
|
||||
unsigned char *data_ptr = trans.get_data_ptr();
|
||||
unsigned char* data_ptr = trans.get_data_ptr();
|
||||
unsigned int data_length = trans.get_data_length();
|
||||
unsigned char *byte_enable_ptr = trans.get_byte_enable_ptr();
|
||||
unsigned char* byte_enable_ptr = trans.get_byte_enable_ptr();
|
||||
unsigned int streaming_width = trans.get_streaming_width();
|
||||
|
||||
if (address >= SIZE - 64)
|
||||
@@ -225,7 +225,7 @@ void TargetMemory::executeTransaction(tlm::tlm_generic_payload &trans)
|
||||
<< (command == tlm::TLM_WRITE_COMMAND ? "Exec. Write " : "Exec. Read ")
|
||||
<< "Addr = " << std::setfill('0') << std::setw(8) << std::dec << address << " Data = "
|
||||
<< "0x" << std::setfill('0') << std::setw(8) << std::hex
|
||||
<< *reinterpret_cast<int *>(data_ptr) << "\033[0m" << std::endl;
|
||||
<< *reinterpret_cast<int*>(data_ptr) << "\033[0m" << std::endl;
|
||||
|
||||
trans.set_response_status(tlm::TLM_OK_RESPONSE);
|
||||
}
|
||||
|
||||
20
tests/tests_simulator/cache/TargetMemory.h
vendored
20
tests/tests_simulator/cache/TargetMemory.h
vendored
@@ -47,21 +47,21 @@ class TargetMemory : public sc_core::sc_module
|
||||
public:
|
||||
tlm_utils::simple_target_socket<TargetMemory> tSocket;
|
||||
SC_HAS_PROCESS(TargetMemory);
|
||||
TargetMemory(const sc_core::sc_module_name &name,
|
||||
TargetMemory(const sc_core::sc_module_name& name,
|
||||
sc_core::sc_time acceptDelay,
|
||||
sc_core::sc_time memoryLatency,
|
||||
std::size_t bufferSize = DEFAULT_BUFFER_SIZE);
|
||||
|
||||
private:
|
||||
tlm::tlm_sync_enum nb_transport_fw(tlm::tlm_generic_payload &trans,
|
||||
tlm::tlm_phase &phase,
|
||||
sc_core::sc_time &delay);
|
||||
tlm::tlm_sync_enum nb_transport_fw(tlm::tlm_generic_payload& trans,
|
||||
tlm::tlm_phase& phase,
|
||||
sc_core::sc_time& delay);
|
||||
|
||||
void peqCallback(tlm::tlm_generic_payload &trans, const tlm::tlm_phase &phase);
|
||||
void peqCallback(tlm::tlm_generic_payload& trans, const tlm::tlm_phase& phase);
|
||||
|
||||
void sendEndRequest(tlm::tlm_generic_payload &trans);
|
||||
void sendResponse(tlm::tlm_generic_payload &trans);
|
||||
void executeTransaction(tlm::tlm_generic_payload &trans);
|
||||
void sendEndRequest(tlm::tlm_generic_payload& trans);
|
||||
void sendResponse(tlm::tlm_generic_payload& trans);
|
||||
void executeTransaction(tlm::tlm_generic_payload& trans);
|
||||
|
||||
void printBuffer(int max, int n);
|
||||
|
||||
@@ -76,8 +76,8 @@ private:
|
||||
|
||||
unsigned int currentTransactions = 0;
|
||||
bool responseInProgress = false;
|
||||
tlm::tlm_generic_payload *endRequestPending = nullptr;
|
||||
tlm::tlm_generic_payload* endRequestPending = nullptr;
|
||||
|
||||
tlm_utils::peq_with_cb_and_phase<TargetMemory> peq;
|
||||
std::queue<tlm::tlm_generic_payload *> responseQueue;
|
||||
std::queue<tlm::tlm_generic_payload*> responseQueue;
|
||||
};
|
||||
|
||||
34
tests/tests_simulator/cache/tests_cache.cpp
vendored
34
tests/tests_simulator/cache/tests_cache.cpp
vendored
@@ -50,23 +50,23 @@ public:
|
||||
class DirectMappedCache : public SystemCTest
|
||||
{
|
||||
protected:
|
||||
DirectMappedCache()
|
||||
: memoryManager(true),
|
||||
initiator("ListInitiator", memoryManager),
|
||||
target("TargetMemory",
|
||||
sc_core::sc_time(1, sc_core::SC_NS),
|
||||
sc_core::sc_time(10, sc_core::SC_NS)),
|
||||
cache("Cache",
|
||||
32768,
|
||||
1,
|
||||
32,
|
||||
8,
|
||||
8,
|
||||
8,
|
||||
true,
|
||||
sc_core::sc_time(1, sc_core::SC_NS),
|
||||
5,
|
||||
memoryManager)
|
||||
DirectMappedCache() :
|
||||
memoryManager(true),
|
||||
initiator("ListInitiator", memoryManager),
|
||||
target("TargetMemory",
|
||||
sc_core::sc_time(1, sc_core::SC_NS),
|
||||
sc_core::sc_time(10, sc_core::SC_NS)),
|
||||
cache("Cache",
|
||||
32768,
|
||||
1,
|
||||
32,
|
||||
8,
|
||||
8,
|
||||
8,
|
||||
true,
|
||||
sc_core::sc_time(1, sc_core::SC_NS),
|
||||
5,
|
||||
memoryManager)
|
||||
{
|
||||
initiator.iSocket.bind(cache.tSocket);
|
||||
cache.iSocket.bind(target.tSocket);
|
||||
|
||||
Reference in New Issue
Block a user