void TlppVerify::CoreRun()

in src/sim/sim_tlpp.cc [132:162]


void TlppVerify::CoreRun(CORE_TYPE core_type) {
  const VTAGenericInsn *insn = PickFrontInsn(core_type);
  while (insn) {
    /*!
     * Check need to read any dependency queue for wait.
     */
    if (!InsnDependencyCheck(insn, true)) {
      break;
    }
    /*!
     * Execute the instruction.
     */
    run_fsim_function_(insn, fsim_handle_);
    /*!
     *check if need to write any dependency queue for notify.
     */
    InsnDependencyCheck(insn, false);
    /*!
     * If instruction is FINISH set done flag.
     * notification.
     */
    done_ = GetOperationCode(insn) == VTA_OPCODE_FINISH;

    if (debug_) {
      printf("this is thread for %s\n", GetCoreTypeName(core_type));
    }
    ConsumeFrontInsn(core_type);
    insn = PickFrontInsn(core_type);
  }
  return;
}