void timer_tb::source(void) { enableDebug(); // This will enable the logs on the console read_en.write(0); write_en.write(0); enable.write(1); rst.write(1); wait(); rst.write(0); wait(); rst.write(1); addr.write(0x8); read_en.write(0); write_en.write(1); data_in.write(100); // Writing some value in timer_cmp register wait(); addr.write(0x0); read_en.write(0); write_en.write(1); data_in.write(0x7); // Enable the timer interrupts wait(); enable.write(0); wait(18415, SC_NS); enable.write(1); wait(); addr.write(0x4); read_en.write(1); write_en.write(0); wait(); wait(); cout << "@" << sc_time_stamp() << " Timer Val: " << data_out.read() << endl; wait(1520, SC_NS); cout << "@" << sc_time_stamp() << " Timer Val: " << data_out.read() << endl; // Stop the timer addr.write(0x0); write_en.write(1); read_en.write(0); data_in.write(0); wait(); //wait(); //cout << "@" << sc_time_stamp() << endl; wait(500, SC_NS); // Read the timer val register addr.write(0x4); read_en.write(1); write_en.write(0); wait(); wait(); cout << "@" << sc_time_stamp() << " Timer Val: " << data_out.read() << endl; wait(500, SC_NS); // Enable the timer again. addr.write(0x0); read_en.write(0x0); write_en.write(1); read_en.write(0); data_in.write(0x7); //cout << "@" << sc_time_stamp() << endl; // Read the timer_val register. wait(8980, SC_NS); addr.write(0x4); read_en.write(1); write_en.write(0); wait(); wait(); cout << "@" << sc_time_stamp() << " Timer Val: " << data_out.read() << endl; wait(); addr.write(0x8); write_en.write(1); read_en.write(0); data_in.write(40); //cout << "@" << sc_time_stamp() << endl; wait(10000, SC_NS); disableDebug(); //cout << "@" << sc_time_stamp() << endl; wait(960000, SC_NS); enableDebug(); //cout << "@" << sc_time_stamp() << endl; wait(740, SC_NS); addr.write(0x4); read_en.write(1); write_en.write(0); wait(); wait(); cout << "@" << sc_time_stamp() << " Timer Val: " << data_out.read() << endl; wait(9250, SC_NS); disableDebug(); cout << "@" << sc_time_stamp() << endl; wait(98990, SC_US); cout << "@" << sc_time_stamp() << endl; sc_stop(); }
void MY_Scene_Base::toggleDebug(){ isDebugEnabled() ? disableDebug() : enableDebug(); }