Skip to content

Commit af1afba

Browse files
RMorales25ErickOF
authored andcommitted
Add transaction ID tracking
1 parent 8a315e7 commit af1afba

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

modules/router/src/img_router.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ struct img_router: sc_module
7373
//TLM Items queue
7474
sc_fifo<tlm_item> fw_fifo;
7575
sc_fifo<tlm_item> bw_fifo;
76+
77+
//DEBUG
78+
unsigned int transaction_in_fw_path_id = 0;
79+
unsigned int transaction_in_bw_path_id = 0;
7680

7781
//Constructor
7882
SC_CTOR(img_router)
@@ -144,7 +148,7 @@ struct img_router: sc_module
144148
wait(bw_fifo.data_read_event());
145149
}
146150
bw_fifo.nb_write(item);
147-
//wait(bw_fifo.data_written_event());
151+
wait(bw_fifo.data_written_event());
148152
dbgmodprint("[BW_FIFO] Pushed transaction #%0d", img_ext->transaction_number);
149153
return tlm::TLM_ACCEPTED;
150154
}
@@ -225,6 +229,7 @@ struct img_router: sc_module
225229
tlm::tlm_phase local_phase = phase;
226230

227231
sc_dt::uint64 address = trans.get_address();
232+
this->transaction_in_bw_path_id = img_ext->transaction_number;
228233

229234
dbgmodprint("Received transaction #%0d with address %08X in backward path. Redirecting transaction to CPU", img_ext->transaction_number, address);
230235
target_socket->nb_transport_bw(trans, local_phase, this->bw_delay);
@@ -237,6 +242,7 @@ struct img_router: sc_module
237242
tlm::tlm_phase local_phase = phase;
238243

239244
sc_dt::uint64 address = trans.get_address();
245+
this->transaction_in_fw_path_id = img_ext->transaction_number;
240246

241247
unsigned int initiator_id = decode_address(address);
242248
dbgmodprint("Received transaction #%0d with address %08X in forward path. Redirecting transaction through initiator %d", img_ext->transaction_number, address, initiator_id);

modules/router/src/img_target.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ struct img_target: sc_module
3838
//SC_EVENT
3939
sc_event send_response_e;
4040

41+
42+
//DEBUG
43+
unsigned int transaction_in_progress_id = 0;
44+
4145
//Constructor
4246
SC_CTOR(img_target)
4347
: socket("socket"), response_transaction(0), m_peq(this, &img_target::peq_cb) // Construct and name socket
@@ -160,6 +164,7 @@ struct img_target: sc_module
160164
trans.get_extension(img_ext);
161165

162166
dbgmodprint("Processing transaction: %0d", img_ext->transaction_number);
167+
this->transaction_in_progress_id = img_ext->transaction_number;
163168

164169
//Process transaction
165170
switch(cmd) {

modules/router/src/tb_edge_detector_tlm.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -827,6 +827,15 @@ int sc_main(int, char*[])
827827
Tb_top top("top");
828828

829829
// Dump the desired signals
830+
//Transaction tracking
831+
sc_trace(wf, top.tb_initiator->transaction_sent_id, "tb_initiator_sent_trans_id");
832+
sc_trace(wf, top.tb_initiator->transaction_received_id, "tb_initiator_received_trans_id");
833+
sc_trace(wf, top.filter_DUT->transaction_in_progress_id, "filter_DUT_trans_id");
834+
sc_trace(wf, top.edge_detector_DUT->transaction_in_progress_id, "edge_detector_DUT_trans_id");
835+
sc_trace(wf, top.memory_DUT->transaction_in_progress_id, "memory_DUT_trans_id");
836+
sc_trace(wf, top.router->transaction_in_bw_path_id, "router_bw_path_trans_id");
837+
sc_trace(wf, top.router->transaction_in_fw_path_id, "router_fw_path_trans_id");
838+
830839
sc_trace(wf, top.filter_DUT->img_window[0], "filter_window(0)(0)");
831840
sc_trace(wf, top.filter_DUT->img_window[1], "filter_window(0)(1)");
832841
sc_trace(wf, top.filter_DUT->img_window[2], "filter_window(0)(2)");

0 commit comments

Comments
 (0)