[edn/csrng] change REGWEN to be module enable based Signed-off-by: Mark Branstad <mark.branstad@wdc.com>
diff --git a/hw/ip/csrng/rtl/csrng_state_db.sv b/hw/ip/csrng/rtl/csrng_state_db.sv index 2cd40a2..30ec6a5 100644 --- a/hw/ip/csrng/rtl/csrng_state_db.sv +++ b/hw/ip/csrng/rtl/csrng_state_db.sv
@@ -51,6 +51,7 @@ localparam int InternalStateWidth = 2+KeyLen+BlkLen+CtrLen; localparam int RegInternalStateWidth = 30+InternalStateWidth; localparam int RegW = 32; + localparam int StateWidth = 1+1+KeyLen+BlkLen+CtrLen+StateId+1; logic [StateId-1:0] state_db_id; logic [KeyLen-1:0] state_db_key; @@ -170,7 +171,8 @@ assign {state_db_fips,state_db_inst_st, state_db_key, state_db_v,state_db_rc, - state_db_id,state_db_sts} = {state_db_wr_fips_i,instance_status, + state_db_id,state_db_sts} = {StateWidth{state_db_enable_i}} & + {state_db_wr_fips_i,instance_status, state_db_wr_key_i, state_db_wr_v_i,state_db_wr_res_ctr_i, state_db_wr_inst_id_i,state_db_wr_sts_i}; @@ -184,15 +186,12 @@ assign state_db_write = state_db_enable_i && state_db_wr_req_i; assign state_db_sts_ack_d = - (!state_db_enable_i) ? '0 : state_db_write; assign state_db_sts_sts_d = - (!state_db_enable_i) ? '0 : state_db_sts; assign state_db_sts_id_d = - (!state_db_enable_i) ? '0 : state_db_id; assign state_db_sts_ack_o = state_db_sts_ack_q;