Project

General

Profile

« Previous | Next » 

Revision 1538

Added by markw 1 day ago

Cut a few registers

View differences:

atari_chips/pokeyv2/pll_reset_sync.vhdl
LIBRARY ieee;
USE ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity pll_reset_sync is
generic (
......
architecture rtl of pll_reset_sync is
signal locked_sync : std_logic_vector(1 downto 0) := (others => '0');
signal shreg : std_logic_vector(RESET_CYCLES-1 downto 0) := (others => '0');
signal cnt : unsigned(5 downto 0) := (others => '0'); -- counts 0..63
begin
-- sync
process(clk)
......
begin
if rising_edge(clk) then
if locked_sync(1) = '0' then
shreg <= (others => '0');
else
shreg <= shreg(RESET_CYCLES-2 downto 0) & '1';
cnt <= (others => '0');
elsif cnt /= RESET_CYCLES-1 then
cnt <= cnt + 1;
end if;
end if;
end process;
reset_n <= shreg(RESET_CYCLES-1);
reset_n <= '1' when cnt = RESET_CYCLES-1 else '0';
end architecture;

Also available in: Unified diff