OpenCores
URL https://opencores.org/ocsvn/spdif_interface/spdif_interface/trunk

Subversion Repositories spdif_interface

[/] [spdif_interface/] [trunk/] [rtl/] [vhdl/] [gen_event_reg.vhd] - Diff between revs 13 and 39

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 13 Rev 39
Line 43... Line 43...
----------------------------------------------------------------------
----------------------------------------------------------------------
--
--
-- CVS Revision History
-- CVS Revision History
--
--
-- $Log: not supported by cvs2svn $
-- $Log: not supported by cvs2svn $
 
-- Revision 1.3  2004/06/06 15:42:20  gedra
 
-- Cleaned up lint warnings.
 
--
-- Revision 1.2  2004/06/04 15:55:07  gedra
-- Revision 1.2  2004/06/04 15:55:07  gedra
-- Cleaned up lint warnings.
-- Cleaned up lint warnings.
--
--
-- Revision 1.1  2004/06/03 17:49:26  gedra
-- Revision 1.1  2004/06/03 17:49:26  gedra
-- Generic event register. Used in both receiver and transmitter.
-- Generic event register. Used in both receiver and transmitter.
Line 72... Line 75...
end gen_event_reg;
end gen_event_reg;
 
 
architecture rtl of gen_event_reg is
architecture rtl of gen_event_reg is
 
 
  signal evt_internal, zero: std_logic_vector(DATA_WIDTH - 1 downto 0);
  signal evt_internal, zero: std_logic_vector(DATA_WIDTH - 1 downto 0);
 
  signal zevent: std_logic_vector(DATA_WIDTH - 1 downto 0);
 
 
begin
begin
 
 
  evt_dout <= evt_internal when evt_rd = '1' else (others => '0');
  evt_dout <= evt_internal when evt_rd = '1' else (others => '0');
  zero <= (others => '0');
  zero <= (others => '0');
Line 100... Line 104...
  EVTREG: for k in evt_din'range generate
  EVTREG: for k in evt_din'range generate
    EBIT: process (clk, rst)
    EBIT: process (clk, rst)
    begin
    begin
      if rst = '1' then
      if rst = '1' then
        evt_internal(k) <= '0';
        evt_internal(k) <= '0';
 
        zevent(k) <= event(k);
      else
      else
        if rising_edge(clk) then
        if rising_edge(clk) then
          if event(k) = '1' then           -- set event
          zevent(k) <= event(k);
 
          if event(k) /= zevent(k) then    -- set event
            evt_internal(k) <= '1';
            evt_internal(k) <= '1';
          elsif evt_wr = '1' and evt_din(k) = '1' then -- clear event
          elsif evt_wr = '1' and evt_din(k) = '1' then -- clear event
            evt_internal(k) <= '0';
            evt_internal(k) <= '0';
          end if;
          end if;
        end if;
        end if;

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.