VATE >= v1.0.0

Events Order

ON_LOAD

vate_sysmod_do_on_load_all()

vate_bspmod_do_on_load_all()

vate_phimod_do_on_load_all()

vate_extmod_do_on_load_all()

vate_datmod_do_on_load_all()

vate_usermod_do_on_load_all()

... vate_tpmod_do_on_load()

ON_TP_LOAD

vate_tpmod_load()

vate_datmod_do_on_tp_load_all()

vate_bspmod_do_on_tp_load_all()

vate_sysmod_do_on_tp_load_all()

ON_READY

vate_sysmod_do_on_ready_all()

NOTE: this will be invoked after all modules been loaded (except TPMOD)

ON_UNLOAD

... vate_tpmod_do_on_unload()

ON_TP_UNLOAD

vate_sysmod_do_on_tp_unload_all()

vate_bspmod_do_on_tp_unload_all()

vate_datmod_do_on_tp_unload_all()

vate_tpmod_unload()

vate_usermod_do_on_unload()

vate_datmod_do_on_unload_all()

vate_extmod_do_on_unload_all()

vate_phimod_do_on_unload_all()

vate_bspmod_do_on_unload_all()

vate_sysmod_do_on_unload_all()

INIT * N

ON_SESSION_START

if (1st_DUT) { ON_FIRST_DUT }

vate_sysmod_do_on_init_all()

vate_bspmod_do_on_init_all()

vate_datmod_do_on_init_all() * N

vate_tp_do_init() * N

TEST * N

ON_ATTACH (auto mode)

ON_SESSION_START

vate_sysmod_do_on_test_all()

vate_datmod_do_on_test_all() * N

vate_tp_do_test() * N

ON_RETEST

vate_datmod_do_on_retest_all()

vate_phimod_do_on_retest()

ON_EOT * N

vate_tp_do_eot() * N

vate_datmod_do_on_eot_all() * N

ON_EOT_DONE

vate_tpmod_do_on_eot_done()

vate_datmod_do_on_eot_done_all()

NOTE: dep. on mod param "datmod_thread" of core_sys, this could be run as

          a standalone thread so it could overlap with PHI index time to max performance.

vate_gui_update_eot_done()

vate_phimod_do_on_eot_done()

vate_sysmod_do_on_eot_done_all()

ON_RESET * N

vate_tp_do_reset() * N

vate_datmod_do_on_reset_all() * N

vate_bspmod_do_on_reset_all()

vate_sysmod_do_on_reset_all()

ON_SESSION_END

vate_tpmod_do_on_session_end()

vate_datmod_do_on_session_end_all()

vate_phimod_do_on_session_end()

vate_usermod_do_on_session_end()

ON_DETACH (auto mode)

ON_EOW

vate_phimod_do_on_eow()

vate_tpmod_do_on_eow()

vate_datmod_do_on_eow_all()

ON_SESSION_END

ON_EOL

vate_phimod_do_on_eol()

vate_tpmod_do_on_eol()

vate_datmod_do_on_eol_all()

ON_SESSION_END

ON_CALIBRATE

vate_phimod_do_on_calibrate()

ON_ATTACH

PHI

ON_DETACH

PHI

ON_SELECT

PHI

ON_DESELECT

PHI

ON_ENABLE

DAT

ON_DISABLE

DAT

    Guide Line of VATE Event Order

  • The order is more or less symmetry if you look at them using "Before INIT/TEST" and "After EOT/RESET" as reference.
  • Before INIT/TEST
    • SYS is always the 1st one
    • Hareward is invoked before Software
    • EXT is the 1st one of Software
    • TP is the latest
  • After EOT/RESET
    • TP is always the 1st one
    • EXT is the latest of Software
    • Software is invoked before Hardware
    • SYS is always the latest
  • Order of USER/GUI module sometime is random, no special rule yet ...