Add reset for new_irq register

This commit is contained in:
Olof Kindgren 2021-08-26 09:24:47 +02:00
parent 621baeff31
commit d2a4243033
2 changed files with 11 additions and 2 deletions

View file

@ -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

View file

@ -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),