From 550d96a73c3b61ddb5019a57b7cbbf08ce54e1af Mon Sep 17 00:00:00 2001 From: Blaise Tine Date: Fri, 27 Mar 2020 21:54:55 -0400 Subject: [PATCH] rtlsim driver works with Vortex! --- driver/sw/rtlsim/Makefile | 6 +++--- driver/sw/rtlsim/vortex.cpp | 1 + rtl/VX_warp_scheduler.v | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/driver/sw/rtlsim/Makefile b/driver/sw/rtlsim/Makefile index 6765578e..5fedbe94 100644 --- a/driver/sw/rtlsim/Makefile +++ b/driver/sw/rtlsim/Makefile @@ -1,7 +1,7 @@ #CFLAGS += -std=c++11 -O3 -Wall -Wextra -pedantic -Wfatal-errors CFLAGS += -std=c++11 -g -O0 -Wall -Wextra -pedantic -Wfatal-errors -USE_MULTICORE=1 +#USE_MULTICORE=1 CFLAGS += -I../../include -I../../../../rtl/simulate @@ -30,8 +30,8 @@ VL_FLAGS += -Wno-UNOPTFLAT -Wno-WIDTH VL_FLAGS += -Wno-UNDRIVEN --Wno-PINMISSING -Wno-STMTDLY -Wno-WIDTH -Wno-UNSIGNED -Wno-UNOPTFLAT -Wno-LITENDIAN # Debugigng -VL_FLAGS += --trace -DVL_DEBUG=1 -CFLAGS += -DVCD_OUTPUT +#VL_FLAGS += --trace -DVL_DEBUG=1 +#CFLAGS += -DVCD_OUTPUT PROJECT = libvortex.so diff --git a/driver/sw/rtlsim/vortex.cpp b/driver/sw/rtlsim/vortex.cpp index 50f2c599..a2b7e107 100644 --- a/driver/sw/rtlsim/vortex.cpp +++ b/driver/sw/rtlsim/vortex.cpp @@ -78,6 +78,7 @@ public: : is_done_(false) , mem_allocation_(VX_ALLOC_BASE_ADDR) , vortex_(&ram_) { + vortex_.reset(); thread_ = new std::thread(__thread_proc__, this); } diff --git a/rtl/VX_warp_scheduler.v b/rtl/VX_warp_scheduler.v index a20af31e..22ad21da 100644 --- a/rtl/VX_warp_scheduler.v +++ b/rtl/VX_warp_scheduler.v @@ -298,7 +298,7 @@ module VX_warp_scheduler ( assign global_stall = (stall || wstall_this_cycle || hazard || !real_schedule || is_join); - assign scheduled_warp = !(wstall_this_cycle || hazard || !real_schedule || is_join); + assign scheduled_warp = !(wstall_this_cycle || hazard || !real_schedule || is_join) && !reset; wire real_use_wspawn = use_wsapwn[warp_to_schedule];