vecadd bug fixing + ebreak for termination

This commit is contained in:
fares
2019-11-15 14:18:45 -05:00
parent cb30a71deb
commit 19dba43849
13 changed files with 198095 additions and 574679 deletions

View File

@@ -8,7 +8,9 @@ module VX_decode(
// Outputs
VX_frE_to_bckE_req_inter VX_frE_to_bckE_req,
VX_wstall_inter VX_wstall,
VX_join_inter VX_join
VX_join_inter VX_join,
output wire terminate_sim
);
@@ -224,7 +226,7 @@ module VX_decode(
wire ebreak = (curr_opcode == `SYS_INST) && (jal_sys_jal && (|in_valid));
assign VX_frE_to_bckE_req.ebreak = ebreak;
wire out_ebreak = ebreak;
assign terminate_sim = is_e_inst;
// CSR

View File

@@ -31,6 +31,11 @@ wire total_freeze = schedule_delay;
// wire real_fetch_ebreak;
/* verilator lint_on UNUSED */
wire vortex_ebreak;
wire terminate_sim;
assign fetch_ebreak = vortex_ebreak || terminate_sim;
VX_wstall_inter VX_wstall();
VX_join_inter VX_join();
@@ -47,7 +52,7 @@ VX_fetch vx_fetch(
.icache_request (icache_request_fe),
.VX_branch_rsp (VX_branch_rsp),
.out_ebreak (fetch_ebreak), // fetch_ebreak
.out_ebreak (vortex_ebreak), // fetch_ebreak
.fe_inst_meta_fd (fe_inst_meta_fd)
);
@@ -64,7 +69,8 @@ VX_decode vx_decode(
.fd_inst_meta_de (fd_inst_meta_de),
.VX_frE_to_bckE_req(VX_frE_to_bckE_req),
.VX_wstall (VX_wstall),
.VX_join (VX_join)
.VX_join (VX_join),
.terminate_sim (terminate_sim)
);
wire no_br_stall = 0;

View File

@@ -88,6 +88,7 @@ reg out_ebreak;
initial begin
// $fdumpfile("vortex1.vcd");
load_file("../../runtime/mains/simple/vx_simple_main.hex");
// load_file("../../emulator/riscv_tests/rv32ui-p-add.hex");
//load_file("../../kernel/vortex_test.hex");
$dumpvars(0, vortex_tb);
reset = 1;