diff --git a/hw/ip/spatz/src/spatz_vrf.sv b/hw/ip/spatz/src/spatz_vrf.sv index 4c132a0..a3773f4 100644 --- a/hw/ip/spatz/src/spatz_vrf.sv +++ b/hw/ip/spatz/src/spatz_vrf.sv @@ -53,7 +53,7 @@ module spatz_vrf automatic logic [1:0] vreg8 = addr[$clog2(8*NrWordsPerVector) +: 2]; // Barber's pole. Advance the starting bank of each vector by one every eight vector registers. - f_bank = addr[$clog2(NrVRFBanks)-1:0] + vreg8; + f_bank = addr[$clog2(NrVRFBanks)-1:0]; endfunction: f_bank ///////////// diff --git a/sw/spatzBenchmarks/dp-fdotp/main.c b/sw/spatzBenchmarks/dp-fdotp/main.c index 1d29171..639000c 100644 --- a/sw/spatzBenchmarks/dp-fdotp/main.c +++ b/sw/spatzBenchmarks/dp-fdotp/main.c @@ -94,6 +94,10 @@ int main() { result[0] = acc; } + // End timer and check if new best runtime + if (cid == 0) + timer = benchmark_get_cycle() - timer; + // Wait for all cores to finish snrt_cluster_hw_barrier(); @@ -101,10 +105,6 @@ int main() { if (cid == 0) stop_kernel(); - // End timer and check if new best runtime - if (cid == 0) - timer = benchmark_get_cycle() - timer; - // Check and display results if (cid == 0) { long unsigned int performance = 1000 * 2 * dotp_l.M / timer;