Project

General

Profile

« Previous | Next » 

Revision 148

Added by markw about 11 years ago

Changed to ~0.6 seconds for core reload

View differences:

chameleon/atari800core_chameleon.vhd
-- signal mux_d_reg : unsigned(3 downto 0) := (others => '1');
-- reset from chameleon
signal chameleon_reset_n_next : std_logic_vector(9 downto 0);
signal chameleon_reset_n_reg : std_logic_vector(9 downto 0);
signal chameleon_reset_n_next : std_logic_vector(6 downto 0);
signal chameleon_reset_n_reg : std_logic_vector(6 downto 0);
signal reset_short_next : std_logic;
signal reset_short_reg : std_logic;
signal reset_long_next : std_logic;
......
process(ena_10hz, chameleon_reset_n_reg, reconfig_reg, reset_long_reg, reset_short_reg)
begin
reconfig_next <= reconfig_reg;
chameleon_reset_n_next(9 downto 1) <= chameleon_reset_n_reg(9 downto 1);
chameleon_reset_n_next(6 downto 1) <= chameleon_reset_n_reg(6 downto 1);
reset_short_next <= reset_short_reg;
reset_long_next <= reset_long_reg;
reconfig_next <= reconfig_reg or reset_long_reg;
......
reset_short_next <= '0';
reset_long_next <= '0';
chameleon_reset_n_next(9 downto 1) <= chameleon_reset_n_reg(8 downto 0);
chameleon_reset_n_next(6 downto 1) <= chameleon_reset_n_reg(5 downto 0);
if (chameleon_reset_n_reg(0) = '0') then
reset_short_next <= '1';
end if;
if (or_reduce(chameleon_reset_n_reg(9 downto 0)) = '0') then
if (or_reduce(chameleon_reset_n_reg(6 downto 0)) = '0') then
reset_long_next <= '1';
end if;
end if;

Also available in: Unified diff