aboutsummaryrefslogtreecommitdiff
path: root/src/rtl/trng_csprng.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/rtl/trng_csprng.v')
-rw-r--r--src/rtl/trng_csprng.v36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/rtl/trng_csprng.v b/src/rtl/trng_csprng.v
index 83c383f..c4576e8 100644
--- a/src/rtl/trng_csprng.v
+++ b/src/rtl/trng_csprng.v
@@ -65,6 +65,19 @@ module trng_csprng(
//----------------------------------------------------------------
// Internal constant and parameter definitions.
//----------------------------------------------------------------
+ parameter ADDR_CTRL = 8'h10;
+ parameter CTRL_ENABLE_BIT = 0;
+ parameter CTRL_SEED_BIT = 1;
+
+ parameter ADDR_STATUS = 8'h11;
+ parameter STATUS_RND_VALID_BIT = 0;
+
+ parameter ADDR_RND_DATA = 8'h20;
+
+ parameter ADDR_NUM_ROUNDS = 8'h40;
+ parameter ADDR_NUM_BLOCKS_LOW = 8'h41;
+ parameter ADDR_NUM_BLOCKS_HIGH = 8'h42;
+
parameter CIPHER_KEYLEN256 = 1'b1; // 256 bit key.
parameter CIPHER_MAX_BLOCKS = 64'h1000000000000000;
@@ -82,19 +95,6 @@ module trng_csprng(
parameter DEFAULT_NUM_ROUNDS = 5'h18;
parameter DEFAULT_NUM_BLOCKS = 64'h1000000000000000;
- parameter ADDR_CTRL = 8'h10;
- parameter CTRL_ENABLE_BIT = 0;
- parameter CTRL_SEED_BIT = 1;
-
- parameter ADDR_STATUS = 8'h11;
- parameter STATUS_RND_VALID_BIT = 0;
-
- parameter ADDR_RND_DATA = 8'h20;
-
- parameter ADDR_NUM_ROUNDS = 8'h40;
- parameter ADDR_NUM_BLOCK_LOW = 8'h41;
- parameter ADDR_NUM_BLOCK_HIGH = 8'h42;
-
//----------------------------------------------------------------
// Registers including update variables and write enable.
@@ -253,7 +253,7 @@ module trng_csprng(
more_seed_reg <= 0;
seed_ack_reg <= 0;
ready_reg <= 0;
- enable_reg <= 0;
+ enable_reg <= 1;
seed_reg <= 0;
num_rounds_reg <= DEFAULT_NUM_ROUNDS;
num_blocks_low_reg <= DEFAULT_NUM_BLOCKS[31 : 0];
@@ -366,13 +366,13 @@ module trng_csprng(
num_rounds_we = 1;
end
- ADDR_NUM_BLOCK_LOW:
+ ADDR_NUM_BLOCKS_LOW:
begin
num_blocks_low_new = write_data;
num_blocks_low_we = 1;
end
- ADDR_NUM_BLOCK_HIGH:
+ ADDR_NUM_BLOCKS_HIGH:
begin
num_blocks_high_new = write_data;
num_blocks_high_we = 1;
@@ -411,12 +411,12 @@ module trng_csprng(
tmp_read_data = {27'h0000000, num_rounds_reg};
end
- ADDR_NUM_BLOCK_LOW:
+ ADDR_NUM_BLOCKS_LOW:
begin
tmp_read_data = num_blocks_low_reg;
end
- ADDR_NUM_BLOCK_HIGH:
+ ADDR_NUM_BLOCKS_HIGH:
begin
tmp_read_data = num_blocks_high_reg;
end