未验证 提交 41f83845 编写于 作者: W William Wang 提交者: GitHub

Emu: stop sim if assertion is triggered (#776)

* Emu: stop sim if assertion is triggered

* Difftest: fix record_inst wdata width

* Difftest: fix xs_assert

* fix assert bug in L3
Co-authored-by: NLinJiawei <linjiawei20s@ict.ac.cn>
上级 b3af5d87
Subproject commit bdcb4f3f229905149f9b2d1b162e00316511daf0
Subproject commit 1566b4be1693f0e0d076172f70055693c8cea503
#include <csignal>
#include "common.h"
int assert_count = -1;
int assert_count = 0;
static pthread_mutex_t assert_mutex;
int signal_num = 0;
......
......@@ -137,7 +137,7 @@ public:
retire_group_cnt_queue[retire_group_pointer] = count;
retire_group_pointer = (retire_group_pointer + 1) % DEBUG_GROUP_TRACE_SIZE;
};
void record_inst(uint64_t pc, uint32_t inst, uint8_t en, uint8_t dest, uint8_t data) {
void record_inst(uint64_t pc, uint32_t inst, uint8_t en, uint8_t dest, uint64_t data) {
retire_inst_pc_queue [retire_inst_pointer] = pc;
retire_inst_inst_queue [retire_inst_pointer] = inst;
retire_inst_wen_queue [retire_inst_pointer] = en;
......
......@@ -241,6 +241,7 @@ uint64_t Emulator::execute(uint64_t max_cycle, uint64_t max_instr) {
// difftest[0]->display();
eprintf("The simulation stopped. There might be some assertion failed.\n");
trapCode = STATE_ABORT;
break;
}
// signals
if (signal_num != 0) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册