Commit f8a6c067 authored by Michael Munch's avatar Michael Munch
Browse files

Don't return to IDLE until BERR is released

parent 11a11d7a
Pipeline #25825 failed with stage
in 25 seconds
......@@ -202,7 +202,8 @@ architecture rtl of vme_data_bus is
BLT_WRITE_WAIT, -- 8
IDLE_DELAY, -- 9
TIMEOUT, -- 10
TIMEOUT_WAIT -- 11
TIMEOUT_WAIT, -- 11
BERR_HIGH_WAIT -- 12
);
type addr_type_t is (
......@@ -662,6 +663,10 @@ begin
state <= IDLE;
busy <= '0';
when BERR_HIGH_WAIT =>
if (vme_berr_n_i = '1') then
state <= IDLE;
end if;
-- Timeout! Something is preventing the state machine
-- from completing. Either an external error (e.g. a
......@@ -708,8 +713,7 @@ begin
-- Release BERR line
vme_berr_n_o <= '1';
vme_berr_n_dir <= c_PIN_IN;
state <= IDLE_DELAY; -- Delay return to IDLE by 1 cycle
-- Gives the BERR* line two cycles to settle.
state <= BERR_HIGH_WAIT;
end if;
end case;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment