URL
https://opencores.org/ocsvn/neorv32/neorv32/trunk
[/] [neorv32/] [trunk/] [rtl/] [core/] [neorv32_wdt.vhd] - Diff between revs 65 and 68
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 65 |
Rev 68 |
Line 138... |
Line 138... |
ctrl_reg.enforce <= '0';
|
ctrl_reg.enforce <= '0';
|
ctrl_reg.enable <= '0'; -- disable WDT
|
ctrl_reg.enable <= '0'; -- disable WDT
|
ctrl_reg.mode <= '0'; -- trigger interrupt on WDT overflow
|
ctrl_reg.mode <= '0'; -- trigger interrupt on WDT overflow
|
ctrl_reg.clk_sel <= (others => '1'); -- slowest clock source
|
ctrl_reg.clk_sel <= (others => '1'); -- slowest clock source
|
ctrl_reg.lock <= '0';
|
ctrl_reg.lock <= '0';
|
cpu_irq.clr <= '-';
|
|
elsif rising_edge(clk_i) then
|
elsif rising_edge(clk_i) then
|
-- acknowledge interrupt when resetting WDT --
|
-- acknowledge interrupt when resetting WDT --
|
cpu_irq.clr <= ctrl_reg.reset;
|
|
if (rstn_sync = '0') then -- internal reset
|
if (rstn_sync = '0') then -- internal reset
|
ctrl_reg.reset <= '0';
|
ctrl_reg.reset <= '0';
|
ctrl_reg.enforce <= '0';
|
ctrl_reg.enforce <= '0';
|
ctrl_reg.enable <= '0'; -- disable WDT
|
ctrl_reg.enable <= '0'; -- disable WDT
|
ctrl_reg.mode <= '0'; -- trigger interrupt on WDT overflow
|
ctrl_reg.mode <= '0'; -- trigger interrupt on WDT overflow
|
Line 188... |
Line 186... |
end if;
|
end if;
|
end process wdt_counter;
|
end process wdt_counter;
|
|
|
-- action trigger --
|
-- action trigger --
|
cpu_irq.set <= ctrl_reg.enable and (wdt_cnt(wdt_cnt'left) or ctrl_reg.enforce) and (not ctrl_reg.mode); -- mode 0: IRQ
|
cpu_irq.set <= ctrl_reg.enable and (wdt_cnt(wdt_cnt'left) or ctrl_reg.enforce) and (not ctrl_reg.mode); -- mode 0: IRQ
|
|
cpu_irq.clr <= ctrl_reg.reset; -- ack IRQ on WDT reset
|
hw_rst <= ctrl_reg.enable and (wdt_cnt(wdt_cnt'left) or ctrl_reg.enforce) and ( ctrl_reg.mode); -- mode 1: RESET
|
hw_rst <= ctrl_reg.enable and (wdt_cnt(wdt_cnt'left) or ctrl_reg.enforce) and ( ctrl_reg.mode); -- mode 1: RESET
|
|
|
|
|
-- Interrupt ------------------------------------------------------------------------------
|
-- Interrupt ------------------------------------------------------------------------------
|
-- -------------------------------------------------------------------------------------------
|
-- -------------------------------------------------------------------------------------------
|
© copyright 1999-2025
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.