diff options
Diffstat (limited to 'core_selector/src/rtl/core_selector.v')
-rw-r--r-- | core_selector/src/rtl/core_selector.v | 28 |
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 |