diff --git a/driver/sw/rtlsim/Makefile b/driver/sw/rtlsim/Makefile index 5b95c7cb..ca3991b4 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 +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 -I../../../../runtime @@ -15,6 +15,7 @@ ifdef USE_MULTICORE CFLAGS += -DUSE_MULTICORE RTL_TOP = Vortex_SOC else + VL_FLAGS += -DSINGLE_CORE_BENCH RTL_TOP = Vortex endif diff --git a/driver/tests/demo/Makefile b/driver/tests/demo/Makefile index cc505cfc..9d3049f9 100644 --- a/driver/tests/demo/Makefile +++ b/driver/tests/demo/Makefile @@ -50,7 +50,7 @@ run-ase: $(PROJECT) run-rtlsim: $(PROJECT) LD_LIBRARY_PATH=../../sw/rtlsim:$(LD_LIBRARY_PATH) ./$(PROJECT) -f kernel.bin - + run-simx: $(PROJECT) LD_LIBRARY_PATH=../../sw/simx:$(LD_LIBRARY_PATH) ./$(PROJECT) -f kernel.bin diff --git a/driver/tests/demo/demo b/driver/tests/demo/demo index a67bb433..58215168 100755 Binary files a/driver/tests/demo/demo and b/driver/tests/demo/demo differ diff --git a/driver/tests/demo/demo.cpp b/driver/tests/demo/demo.cpp index aeaaae84..9e486d82 100644 --- a/driver/tests/demo/demo.cpp +++ b/driver/tests/demo/demo.cpp @@ -115,7 +115,8 @@ int main(int argc, char *argv[]) { // allocate shared memory std::cout << "allocate shared memory" << std::endl; - ret = vx_alloc_shared_mem(device, buf_size, &buffer); + uint32_t alloc_size = std::max(buf_size, sizeof(kernel_arg_t)); + ret = vx_alloc_shared_mem(device, alloc_size, &buffer); if (ret != 0) { cleanup(); return -1; @@ -205,6 +206,7 @@ int main(int argc, char *argv[]) { if (0 == errors) { printf("PASSED!\n"); } else { + printf("Found %d errors!\n", errors); printf("FAILED!\n"); } diff --git a/rtl/VX_warp_scheduler.v b/rtl/VX_warp_scheduler.v index 22ad21da..38885e6e 100644 --- a/rtl/VX_warp_scheduler.v +++ b/rtl/VX_warp_scheduler.v @@ -133,6 +133,7 @@ module VX_warp_scheduler ( thread_masks[0] <= 1; // Activating first thread in first warp warp_stalled <= 0; didnt_split <= 0; + warp_lock <= 0; // total_barrier_stall = 0; for (curr_w_help = 1; curr_w_help < `NW; curr_w_help=curr_w_help+1) begin warp_pcs[curr_w_help] <= 0;