[entropy_src/rtl] increase output seed FIFO
Increasing the final output seed FIFO to a depth of 4.
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 62336bc..06979ac 100644
--- a/hw/ip/entropy_src/data/entropy_src.hjson
+++ b/hw/ip/entropy_src/data/entropy_src.hjson
@@ -9,7 +9,7 @@
{ name: "EsFifoDepth",
desc: "Depth of the entropy FIFO",
type: "int",
- default: "32",
+ default: "4",
local: "true"
},
],
diff --git a/hw/ip/entropy_src/doc/_index.md b/hw/ip/entropy_src/doc/_index.md
index 4939e01..ae89194 100644
--- a/hw/ip/entropy_src/doc/_index.md
+++ b/hw/ip/entropy_src/doc/_index.md
@@ -228,7 +228,6 @@
## Future Features
- Timer to pace health checks only when there is no demand for entropy seeds
-- One-way threshold values if regen register cannot be used
- Support for golden test pattern
### Entropy Source Hardware Interface
@@ -399,6 +398,8 @@
}
```
+Note that when software makes frequent re-seed requests to CSRNG, any stored up entropy seeds in the final entropy FIFO will quickly consumed.
+Once the FIFO is empty, subsequent entropy seed requests will have to wait the worst case latency time while new entropy is being created.
## Error conditions
diff --git a/hw/ip/entropy_src/doc/entsrc_blk_diag.svg b/hw/ip/entropy_src/doc/entsrc_blk_diag.svg
index d6d56e2..5f8034b 100644
--- a/hw/ip/entropy_src/doc/entsrc_blk_diag.svg
+++ b/hw/ip/entropy_src/doc/entsrc_blk_diag.svg
@@ -379,11 +379,11 @@
</g>
<g id="shape960-198" v:mID="960" v:groupContext="shape" transform="translate(668.102,-336.462)">
<title>Sheet.960</title>
- <desc>2 deep FIFO</desc>
+ <desc>4 deep FIFO</desc>
<v:textBlock v:margins="rect(4,4,4,4)"/>
<v:textRect cx="26.0234" cy="599.18" width="52.05" height="25.6401"/>
<rect x="0" y="586.36" width="52.0468" height="25.6401" class="st4"/>
- <text x="10.73" y="596.18" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>2 deep <tspan
+ <text x="10.73" y="596.18" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>4 deep <tspan
x="14.64" dy="1.2em" class="st3">FIFO</tspan></text> </g>
<g id="shape965-202" v:mID="965" v:groupContext="shape" transform="translate(605.061,-344.053)">
<title>Sheet.965</title>
diff --git a/hw/ip/entropy_src/rtl/entropy_src_core.sv b/hw/ip/entropy_src/rtl/entropy_src_core.sv
index f24db8e..849a2cc 100644
--- a/hw/ip/entropy_src/rtl/entropy_src_core.sv
+++ b/hw/ip/entropy_src/rtl/entropy_src_core.sv
@@ -6,7 +6,7 @@
//
module entropy_src_core import entropy_src_pkg::*; #(
- parameter int EsFifoDepth = 2
+ parameter int EsFifoDepth = 4
) (
input logic clk_i,
input logic rst_ni,
diff --git a/hw/ip/entropy_src/rtl/entropy_src_reg_pkg.sv b/hw/ip/entropy_src/rtl/entropy_src_reg_pkg.sv
index 696edaa..f812613 100644
--- a/hw/ip/entropy_src/rtl/entropy_src_reg_pkg.sv
+++ b/hw/ip/entropy_src/rtl/entropy_src_reg_pkg.sv
@@ -7,7 +7,7 @@
package entropy_src_reg_pkg;
// Param list
- parameter int EsFifoDepth = 32;
+ parameter int EsFifoDepth = 4;
parameter int NumAlerts = 2;
// Address width within the block