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;
}