aboutsummaryrefslogtreecommitdiff
path: root/src/rtl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rtl')
-rw-r--r--src/rtl/trng.v8
-rw-r--r--src/rtl/trng_mixer.v17
2 files changed, 21 insertions, 4 deletions
diff --git a/src/rtl/trng.v b/src/rtl/trng.v
index 728fa39..9e8bf69 100644
--- a/src/rtl/trng.v
+++ b/src/rtl/trng.v
@@ -61,10 +61,10 @@ module trng(
// Internal constant and parameter definitions.
//----------------------------------------------------------------
localparam TRNG_PREFIX = 4'h0;
- localparam ENTROPY1_PREFIX = 4'h5;
- localparam ENTROPY2_PREFIX = 4'h6;
- localparam MIXER_PREFIX = 4'ha;
- localparam CSPRNG_PREFIX = 4'hb;
+ localparam ENTROPY1_PREFIX = 4'h1;
+ localparam ENTROPY2_PREFIX = 4'h2;
+ localparam MIXER_PREFIX = 4'h3;
+ localparam CSPRNG_PREFIX = 4'h4;
localparam DEBUG_ENTROPY0 = 3'h0;
localparam DEBUG_ENTROPY1 = 3'h1;
diff --git a/src/rtl/trng_mixer.v b/src/rtl/trng_mixer.v
index 449dc5c..97777ac 100644
--- a/src/rtl/trng_mixer.v
+++ b/src/rtl/trng_mixer.v
@@ -97,6 +97,10 @@ module trng_mixer(
parameter CTRL_ACK = 4'h4;
parameter CTRL_NEXT = 4'h5;
+ localparam ADDR_NAME0 = 8'h00;
+ localparam ADDR_NAME1 = 8'h01;
+ localparam ADDR_VERSION = 8'h02;
+
parameter ADDR_MIXER_CTRL = 8'h10;
parameter MIXER_CTRL_ENABLE_BIT = 0;
parameter MIXER_CTRL_RESTART_BIT = 1;
@@ -105,6 +109,10 @@ module trng_mixer(
parameter DEFAULT_ENTROPY_TIMEOUT = 24'h100000;
+ parameter CORE_NAME0 = 32'h726e676d; // "rngm"
+ parameter CORE_NAME1 = 32'h69786572; // "ixer"
+ parameter CORE_VERSION = 32'h302e3530; // "0.50"
+
//----------------------------------------------------------------
// Registers including update variables and write enable.
@@ -523,6 +531,15 @@ module trng_mixer(
// Read operations.
case (address)
// Read operations.
+ ADDR_NAME0:
+ tmp_read_data = CORE_NAME0;
+
+ ADDR_NAME1:
+ tmp_read_data = CORE_NAME1;
+
+ ADDR_VERSION:
+ tmp_read_data = CORE_VERSION;
+
ADDR_MIXER_CTRL:
begin
tmp_read_data = {30'h00000000, restart_reg, enable_reg};