URL
https://opencores.org/ocsvn/spdif_interface/spdif_interface/trunk
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;
|
© copyright 1999-2025
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.