From d2a42430335330f6c518a937b7c3a19cdfbffe72 Mon Sep 17 00:00:00 2001 From: Olof Kindgren Date: Thu, 26 Aug 2021 09:24:47 +0200 Subject: [PATCH] Add reset for new_irq register --- rtl/serv_csr.v | 8 +++++++- rtl/serv_top.v | 5 ++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/rtl/serv_csr.v b/rtl/serv_csr.v index 49ec01e..d05f962 100644 --- a/rtl/serv_csr.v +++ b/rtl/serv_csr.v @@ -1,7 +1,9 @@ `default_nettype none module serv_csr + #(parameter RESET_STRATEGY = "MINI") ( input wire i_clk, + input wire i_rst, //State input wire i_init, input wire i_en, @@ -76,7 +78,7 @@ module serv_csr timer_irq_r <= timer_irq; o_new_irq <= timer_irq & !timer_irq_r; end - + if (i_mie_en & i_cnt7) mie_mtie <= csr_in; @@ -130,6 +132,10 @@ module serv_csr end if (i_mcause_en & i_cnt_done | i_trap) mcause31 <= i_trap ? o_new_irq : csr_in; + if (i_rst) + if (RESET_STRATEGY != "NONE") + o_new_irq <= 1'b0; + end endmodule diff --git a/rtl/serv_top.v b/rtl/serv_top.v index b517b2e..476e7ec 100644 --- a/rtl/serv_top.v +++ b/rtl/serv_top.v @@ -455,9 +455,12 @@ module serv_top generate if (WITH_CSR) begin - serv_csr csr + serv_csr + #(.RESET_STRATEGY (RESET_STRATEGY)) + csr ( .i_clk (clk), + .i_rst (i_rst), //State .i_init (init), .i_en (cnt_en),