From 88eab9e746752678467f00d9a7a5c537cb7c9410 Mon Sep 17 00:00:00 2001 From: felsabbagh3 Date: Sun, 27 Oct 2019 22:30:32 -0400 Subject: [PATCH] Removed dependancy on --- rtl/VX_alu.v | 2 +- rtl/VX_csr_wrapper.v | 3 +++ rtl/VX_gpgpu_inst.v | 6 +++++- rtl/cache/VX_Cache_Bank.v | 2 +- rtl/shared_memory/VX_priority_encoder_sm.v | 17 +++++++++++++---- 5 files changed, 23 insertions(+), 7 deletions(-) diff --git a/rtl/VX_alu.v b/rtl/VX_alu.v index ada19985..3b308297 100644 --- a/rtl/VX_alu.v +++ b/rtl/VX_alu.v @@ -1,5 +1,5 @@ -// `include "VX_define.v" +`include "VX_define.v" module VX_alu( input wire[31:0] in_1, diff --git a/rtl/VX_csr_wrapper.v b/rtl/VX_csr_wrapper.v index 32b52d09..0988ca67 100644 --- a/rtl/VX_csr_wrapper.v +++ b/rtl/VX_csr_wrapper.v @@ -1,3 +1,6 @@ + +`include "VX_define.v" + module VX_csr_wrapper ( VX_csr_req_inter VX_csr_req, diff --git a/rtl/VX_gpgpu_inst.v b/rtl/VX_gpgpu_inst.v index 744b5d63..3fdb2b60 100644 --- a/rtl/VX_gpgpu_inst.v +++ b/rtl/VX_gpgpu_inst.v @@ -61,8 +61,12 @@ module VX_gpgpu_inst ( assign split_new_later_mask[curr_s_t] = curr_valids[curr_s_t] & (!curr_bool); end + VX_countones #(.N(`NT)) valids_counter ( + .valids(curr_valids), + .count (num_valids) + ); - wire[`NW_M1:0] num_valids = $countones(curr_valids); + // wire[`NW_M1:0] num_valids = $countones(curr_valids); assign VX_warp_ctl.is_split = is_split && (num_valids > 1) && (split_new_use_mask != 0) && (split_new_use_mask != {`NT{1'b1}}); diff --git a/rtl/cache/VX_Cache_Bank.v b/rtl/cache/VX_Cache_Bank.v index e8da2a52..1d53486f 100644 --- a/rtl/cache/VX_Cache_Bank.v +++ b/rtl/cache/VX_Cache_Bank.v @@ -3,7 +3,7 @@ // Also make sure all possible output states are transmitted back to the bank correctly `include "../VX_define.v" -`include "VX_cache_data.v" +// `include "VX_cache_data.v" module VX_Cache_Bank diff --git a/rtl/shared_memory/VX_priority_encoder_sm.v b/rtl/shared_memory/VX_priority_encoder_sm.v index 313604d7..976722ad 100644 --- a/rtl/shared_memory/VX_priority_encoder_sm.v +++ b/rtl/shared_memory/VX_priority_encoder_sm.v @@ -46,10 +46,19 @@ module VX_priority_encoder_sm wire[NB:0] more_than_one_valid; genvar curr_bank; - for (curr_bank = 0; curr_bank <= NB; curr_bank = curr_bank + 1) - begin - assign more_than_one_valid[curr_bank] = $countones(bank_valids[curr_bank]) > 1; - end + generate + for (curr_bank = 0; curr_bank <= NB; curr_bank = curr_bank + 1) + begin + wire[$clog2(`NT):0] num_valids; + + VX_countones #(.N(`NT)) valids_counter ( + .valids(bank_valids[curr_bank]), + .count (num_valids) + ); + assign more_than_one_valid[curr_bank] = num_valids > 1; + // assign more_than_one_valid[curr_bank] = $countones(bank_valids[curr_bank]) > 1; + end + endgenerate assign stall = (|more_than_one_valid);