4. 시간의 표현 (6장. 시간의 표현)
sc_time sc_time 선언 구조 예제 SystemC에서 시간의 측정을 위해 정의한 자료형 sc_time의 시간 단위 SC_SEC : 초 SC_MS : 밀리초 (10-3초) SC_US : 마이크로초 (10-6초) SC_NS : 나노초 (10-9초) SC_PS : 피코초 (10-12초) SC_FS : 펨토초 (10-15초) 선언 구조 예제 sc_time name … ; // 초기화 없이 선언 sc_time name (magitude, time_units) …; // 초기화 포함 선언 sc_time t_PERIOD (5, SC_NS); sc_time t_TIMEOUT (100, SC_MS);
sc_start () st_start () 예제 초기화와 시뮬레이션 수행을 시작 sc_start () : 시뮬레이션 무한 실행 sc_start (max_sc_time) : max_sc_time 시간만큼 시뮬레이션 예제 int sc_main (int argc, char *argv[]) { simple_process_ex my_instance (“my_instance”); sc_start (60, 0, SC_SEC); // 60초 동안 시뮬레이션 실행 return 0; }
sc_time_stamp() sc_time_stamp () 시뮬레이션 중 현재 시간 표시 사용 예제 cout << sc_time_stamp () << endl; cout << “The time is now “ << sc_time_stamp() << “!” << endl;
wait (sc_time) wait (sc_time) wait () 사용 예제 일정 시간동안 프로세스의 실행을 지연 (또는 대기) wait () 사용 예제 void simple_process_ex::my_thread_process (void) { wait (10, SC_NS); cout << “Now at “ << sc_time_stamp() << endl; sc_time t_DELAY (2, SC_MS); cout << “Delaying “ << t_DELAY << endl; wait (t_DELAY); cout << “Now at “ << sc_time_stamp () << endl; } % ./run_example Now at 10 ns Delaying 4 ms Now at 4000010 ns