From 7a6d1ab39347f36f7173c2fb13519931e72e3a20 Mon Sep 17 00:00:00 2001 From: Kevin Kim Date: Mon, 20 Mar 2023 14:19:39 -0700 Subject: [PATCH] added bitmanip 64 tests to updated regression script + alu structural mux changes --- sim/regression-wally | 2 +- src/ieu/alu.sv | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/sim/regression-wally b/sim/regression-wally index 31110454..565f4f6d 100755 --- a/sim/regression-wally +++ b/sim/regression-wally @@ -126,7 +126,7 @@ for test in ahbTests: grepstr="All tests ran without failures") configs.append(tc) -tests64gc = ["arch64f", "arch64d", "arch64i", "arch64priv", "arch64c", "arch64m", "arch64zi", "wally64a", "wally64periph", "wally64priv"] +tests64gc = ["arch64f", "arch64d", "arch64i", "arch64zba", "arch64zbb", "arch64zbc", "arch64zbs", "arch64priv", "arch64c", "arch64m", "arch64zi", "wally64a", "wally64periph", "wally64priv"] if (coverage): # delete all but 64gc tests when running coverage configs = [] coverStr = '-coverage' diff --git a/src/ieu/alu.sv b/src/ieu/alu.sv index de649b5e..110ca418 100644 --- a/src/ieu/alu.sv +++ b/src/ieu/alu.sv @@ -77,7 +77,7 @@ module alu #(parameter WIDTH=32) ( if (`ZBS_SUPPORTED) begin: zbsdec decoder #($clog2(WIDTH)) maskgen (B[$clog2(WIDTH)-1:0], MaskB); - assign CondMaskB = (Mask) ? MaskB : B; + mux2 #(WIDTH) maskmux(B, MaskB, Mask, CondMaskB); end else assign CondMaskB = B; if (WIDTH == 64) begin @@ -89,9 +89,8 @@ module alu #(parameter WIDTH=32) ( end // shifter rotate source select mux - if (`ZBB_SUPPORTED) begin - if (WIDTH == 64) assign rotA = (W64) ? {A[31:0], A[31:0]} : A; - else assign rotA = A; + if (`ZBB_SUPPORTED & WIDTH == 64) begin + mux2 #(WIDTH) rotmux(A, {A[31:0], A[31:0]}, W64, rotA); end else assign rotA = A; if (`ZBA_SUPPORTED) begin: zbamuxes