[keymgr/dv] Truncate kmac digest for key/SW output

Digest is 384 bits wide while SW output is only 256.

This will fix CI falures in #7646

Signed-off-by: Weicai Yang <weicai@google.com>
diff --git a/hw/ip/keymgr/dv/env/keymgr_scoreboard.sv b/hw/ip/keymgr/dv/env/keymgr_scoreboard.sv
index b7e42f6..aa01c52 100644
--- a/hw/ip/keymgr/dv/env/keymgr_scoreboard.sv
+++ b/hw/ip/keymgr/dv/env/keymgr_scoreboard.sv
@@ -181,7 +181,9 @@
 
     case (update_result)
       UpdateInternalKey: begin
-        current_internal_key[current_cdi] = {item.rsp_digest_share1, item.rsp_digest_share0};
+        // digest is 384 bits wide while internal key is only 256, need to truncate it
+        current_internal_key[current_cdi] = {item.rsp_digest_share1[keymgr_pkg::KeyWidth-1:0],
+                                             item.rsp_digest_share0[keymgr_pkg::KeyWidth-1:0]};
         cfg.keymgr_vif.store_internal_key(current_internal_key[current_cdi], current_state,
                                           current_cdi);
 
@@ -191,7 +193,9 @@
       UpdateSwOut: begin
         bit [keymgr_pkg::Shares-1:0][DIGEST_SHARE_WORD_NUM-1:0][TL_DW-1:0] sw_share_output;
 
-        sw_share_output = {item.rsp_digest_share1, item.rsp_digest_share0};
+        // digest is 384 bits wide while SW output is only 256, need to truncate it
+        sw_share_output = {item.rsp_digest_share1[keymgr_pkg::KeyWidth-1:0],
+                           item.rsp_digest_share0[keymgr_pkg::KeyWidth-1:0]};
         foreach (sw_share_output[i, j]) begin
           string csr_name = $sformatf("sw_share%0d_output_%0d", i, j);
           uvm_reg csr = ral.get_reg_by_name(csr_name);