URL
https://opencores.org/ocsvn/neorv32/neorv32/trunk
[/] [neorv32/] [trunk/] [rtl/] [core/] [neorv32_bus_keeper.vhd] - Diff between revs 68 and 69
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 68 |
Rev 69 |
Line 85... |
Line 85... |
signal rden : std_ulogic; -- read enable
|
signal rden : std_ulogic; -- read enable
|
|
|
-- controller --
|
-- controller --
|
type control_t is record
|
type control_t is record
|
pending : std_ulogic;
|
pending : std_ulogic;
|
timeout : std_ulogic_vector(index_size_f(max_proc_int_response_time_c)-1 downto 0);
|
timeout : std_ulogic_vector(index_size_f(max_proc_int_response_time_c) downto 0);
|
err_type : std_ulogic;
|
err_type : std_ulogic;
|
bus_err : std_ulogic;
|
bus_err : std_ulogic;
|
end record;
|
end record;
|
signal control : control_t;
|
signal control : control_t;
|
|
|
Line 146... |
Line 146... |
-- defaults --
|
-- defaults --
|
control.bus_err <= '0';
|
control.bus_err <= '0';
|
|
|
-- access monitor: IDLE --
|
-- access monitor: IDLE --
|
if (control.pending = '0') then
|
if (control.pending = '0') then
|
control.timeout <= std_ulogic_vector(to_unsigned(max_proc_int_response_time_c, index_size_f(max_proc_int_response_time_c)));
|
control.timeout <= std_ulogic_vector(to_unsigned(max_proc_int_response_time_c, index_size_f(max_proc_int_response_time_c)+1));
|
if (bus_rden_i = '1') or (bus_wren_i = '1') then
|
if (bus_rden_i = '1') or (bus_wren_i = '1') then
|
control.pending <= '1';
|
control.pending <= '1';
|
end if;
|
end if;
|
-- access monitor: PENDING --
|
-- access monitor: PENDING --
|
else
|
else
|
© copyright 1999-2025
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.