[entropy_src/rtl] add ast rng fips signal Added an entropy_src to ast signal to indicate fips mode. Fips mode is where ast rng can generate lower quality entropy. Signed-off-by: Mark Branstad <mark.branstad@wdc.com>
diff --git a/hw/ip/entropy_src/data/entropy_src.hjson b/hw/ip/entropy_src/data/entropy_src.hjson index 193ab1a..3bab760 100755 --- a/hw/ip/entropy_src/data/entropy_src.hjson +++ b/hw/ip/entropy_src/data/entropy_src.hjson
@@ -40,6 +40,13 @@ width: 1 package: "" } + { struct: "logic" + type: "uni" + name: "rng_fips" + act: "req" + width: 1 + package: "" + } ], alert_list: [ { name: "recov_alert",
diff --git a/hw/ip/entropy_src/rtl/entropy_src.sv b/hw/ip/entropy_src/rtl/entropy_src.sv old mode 100644 new mode 100755 index c0e7513..469fead --- a/hw/ip/entropy_src/rtl/entropy_src.sv +++ b/hw/ip/entropy_src/rtl/entropy_src.sv
@@ -24,6 +24,9 @@ // Efuse Interface input logic efuse_es_sw_reg_en_i, + // RNG Interface + output logic rng_fips_o, + // Entropy Interface input entropy_src_hw_if_req_t entropy_src_hw_if_i, output entropy_src_hw_if_rsp_t entropy_src_hw_if_o, @@ -74,6 +77,7 @@ .hw2reg, .efuse_es_sw_reg_en_i, + .rng_fips_o, .entropy_src_hw_if_o, .entropy_src_hw_if_i,
diff --git a/hw/ip/entropy_src/rtl/entropy_src_core.sv b/hw/ip/entropy_src/rtl/entropy_src_core.sv old mode 100644 new mode 100755 index 849a2cc..9a5ccfe --- a/hw/ip/entropy_src/rtl/entropy_src_core.sv +++ b/hw/ip/entropy_src/rtl/entropy_src_core.sv
@@ -17,6 +17,9 @@ // Efuse Interface input logic efuse_es_sw_reg_en_i, + // RNG Interface + output logic rng_fips_o, + // Entropy Interface input entropy_src_hw_if_req_t entropy_src_hw_if_i, @@ -975,6 +978,9 @@ assign es_bypass_mode = boot_bypass_q || es_bypass_to_sw; + // send off to AST RNG for possibly faster entropy generation + assign rng_fips_o = es_bypass_mode; + //-------------------------------------------- // common health test window counter //--------------------------------------------
diff --git a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson index ee51546..8f4e924 100644 --- a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson +++ b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
@@ -4330,6 +4330,15 @@ index: -1 } { + name: rng_fips + struct: logic + type: uni + act: req + width: 1 + inst_name: entropy_src + index: -1 + } + { name: tl struct: tl package: tlul_pkg @@ -11447,6 +11456,15 @@ index: -1 } { + name: rng_fips + struct: logic + type: uni + act: req + width: 1 + inst_name: entropy_src + index: -1 + } + { name: tl struct: tl package: tlul_pkg
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv index 76b94e2..36d7832 100644 --- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv +++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
@@ -2054,6 +2054,7 @@ .entropy_src_xht_o(), .entropy_src_xht_i(entropy_src_pkg::ENTROPY_SRC_XHT_RSP_DEFAULT), .efuse_es_sw_reg_en_i('0), + .rng_fips_o(), .tl_i(entropy_src_tl_req), .tl_o(entropy_src_tl_rsp),