13 #ifndef TB_Stream_IN_TESTBENCH_FILE_H
14 #define TB_Stream_IN_TESTBENCH_FILE_H
28 tasks_execution_time = WCET;
30 for (
int i = 0; i < NB_TRANSACTIONS_TO_SEND; i++) {
34 tasks_execution_time = BCET;
36 tasks_execution_time = RANDOM;
39 #ifdef GENERATE_LOG_FILE
40 Simulation_controller::get_logfile() << endl << sc_time_stamp() <<
": " << tb_interface.
TB_IF_name() <<
" checks instantiation for following modules" << endl;
44 for(
int j = 0; j < No; j++) {
46 for(
int k = 0; k < 16; k++) data_out_ptr[k] = (i << 16) | k;
58 #ifdef GENERATE_LOG_FILE
59 Simulation_controller::get_logfile() << sc_time_stamp() <<
": " << tb_interface.
TB_IF_name() <<
": Transaction " << i <<
" has been sent" << endl;
62 if(i != (NB_TRANSACTIONS_TO_SEND - 1)) {
64 sc_time delayToNextPacket((i + 2) * tb_interface.
TB_IF_get_period() - sc_time_stamp());
65 if(delayToNextPacket < SC_ZERO_TIME) {
66 cerr <<
"ERROR in TB: Negative delay to next packet send! Consider revising periods and other timing information" << endl;
67 exit(RECOSIM_INTERNAL_ERROR_ERRCODE);
69 wait(delayToNextPacket);
76 Simulation_controller::get_logfile() << sc_time_stamp() <<
": " << tb_interface.
TB_IF_name() <<
": All transactions have been sent" << endl;
virtual void TB_IF_nb_send_all_data(void)=0
Non-blocking data send through every socket.
virtual sc_time TB_IF_get_period(void) const =0
Get testbench period.
virtual void TB_IF_increment_current_transaction_id(void)=0
Increments working transaction counter.
Definition: testbench_out_interface.h:31
virtual int * TB_IF_get_data_out_ptr(int socketID) const =0
Get pointer to ougoing data structure.
virtual const sc_event & TB_IF_all_responses_received_event(void) const =0
Watch the event issued once all TLM responses have been sent from following modules to testbench...
virtual const char * TB_IF_name(void) const =0
Get testbench full name.