aboutsummaryrefslogtreecommitdiff
path: root/core_selector/src/rtl/core_selector.v
diff options
context:
space:
mode:
Diffstat (limited to 'core_selector/src/rtl/core_selector.v')
-rw-r--r--core_selector/src/rtl/core_selector.v28
1 files changed, 24 insertions, 4 deletions
diff --git a/core_selector/src/rtl/core_selector.v b/core_selector/src/rtl/core_selector.v
index 79c1fa4..34068a5 100644
--- a/core_selector/src/rtl/core_selector.v
+++ b/core_selector/src/rtl/core_selector.v
@@ -118,6 +118,11 @@ module core_selector
.sys_read_data(segment_globals_read_data),
.sys_error(segment_globals_error)
);
+
+ reg [31: 0] segment_globals_read_data_reg;
+ always @(posedge sys_clk)
+ segment_globals_read_data_reg <= segment_globals_read_data;
+
`endif
@@ -142,6 +147,11 @@ module core_selector
.sys_read_data(segment_hashes_read_data),
.sys_error(segment_hashes_error)
);
+
+ reg [31: 0] segment_hashes_read_data_reg;
+ always @(posedge sys_clk)
+ segment_hashes_read_data_reg <= segment_hashes_read_data;
+
`endif
@@ -170,6 +180,11 @@ module core_selector
.noise(noise), // only RNG segment uses these ports
.debug(segment_rngs_debug)
);
+
+ reg [31: 0] segment_rngs_read_data_reg;
+ always @(posedge sys_clk)
+ segment_rngs_read_data_reg <= segment_rngs_read_data;
+
`endif
@@ -193,6 +208,11 @@ module core_selector
.sys_read_data(segment_ciphers_read_data),
.sys_error(segment_ciphers_error)
);
+
+ reg [31: 0] segment_ciphers_read_data_reg;
+ always @(posedge sys_clk)
+ segment_ciphers_read_data_reg <= segment_ciphers_read_data;
+
`endif
@@ -240,21 +260,21 @@ module core_selector
`ifdef USE_SEGMENT_GLOBALS
SEGMENT_ADDR_GLOBALS:
begin
- sys_read_data_reg = segment_globals_read_data;
+ sys_read_data_reg = segment_globals_read_data_reg;
sys_error_reg = segment_globals_error;
end
`endif
`ifdef USE_SEGMENT_HASHES
SEGMENT_ADDR_HASHES:
begin
- sys_read_data_reg = segment_hashes_read_data;
+ sys_read_data_reg = segment_hashes_read_data_reg;
sys_error_reg = segment_hashes_error;
end
`endif
`ifdef USE_SEGMENT_RNGS
SEGMENT_ADDR_RNGS:
begin
- sys_read_data_reg = segment_rngs_read_data;
+ sys_read_data_reg = segment_rngs_read_data_reg;
sys_error_reg = segment_rngs_error;
sys_debug = segment_rngs_debug;
end
@@ -262,7 +282,7 @@ module core_selector
`ifdef USE_SEGMENT_CIPHERS
SEGMENT_ADDR_CIPHERS:
begin
- sys_read_data_reg = segment_ciphers_read_data;
+ sys_read_data_reg = segment_ciphers_read_data_reg;
sys_error_reg = segment_ciphers_error;
end
`endif