From 2f58e8fc6cffd28afbdb31f489cd8ce061cccad4 Mon Sep 17 00:00:00 2001 From: Paul Selkirk Date: Tue, 31 Mar 2015 16:33:43 -0400 Subject: Move eim read delay to novena_eim.v. --- eim/rtl/novena_eim.v | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/eim/rtl/novena_eim.v b/eim/rtl/novena_eim.v index d2b11ed..71b64a9 100644 --- a/eim/rtl/novena_eim.v +++ b/eim/rtl/novena_eim.v @@ -141,6 +141,16 @@ module novena_top // This multiplexer is used to map different types of cores, such as // hashes, RNGs and ciphers to different regions (segments) of memory. //---------------------------------------------------------------- + + // register read data for one clock cycle for EIM + wire [31 : 0] tmp_read_data; + reg [31 : 0] tmp_read_data_reg; + assign sys_eim_din = tmp_read_data_reg; + always @(posedge sys_clk) + begin + tmp_read_data_reg <= tmp_read_data; + end + core_selector cores ( .sys_clk(sys_clk), @@ -153,7 +163,7 @@ module novena_top .sys_eim_rd(sys_eim_rd), .sys_write_data(sys_eim_dout), - .sys_read_data(sys_eim_din), + .sys_read_data(tmp_read_data), .debug(ct_led) ); -- cgit v1.2.3