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

Subversion Repositories spdif_interface

[/] [spdif_interface/] [trunk/] [rtl/] [vhdl/] [rx_spdif.vhd] - Diff between revs 42 and 58

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

Rev 42 Rev 58
Line 43... Line 43...
----------------------------------------------------------------------
----------------------------------------------------------------------
--
--
-- CVS Revision History
-- CVS Revision History
--
--
-- $Log: not supported by cvs2svn $
-- $Log: not supported by cvs2svn $
 
-- Revision 1.4  2004/07/12 17:06:41  gedra
 
-- Fixed bug with lock event generation.
 
--
-- Revision 1.3  2004/07/11 16:19:50  gedra
-- Revision 1.3  2004/07/11 16:19:50  gedra
-- Bug-fix.
-- Bug-fix.
--
--
-- Revision 1.2  2004/06/27 16:16:55  gedra
-- Revision 1.2  2004/06/27 16:16:55  gedra
-- Signal renaming and bug fix.
-- Signal renaming and bug fix.
Line 59... Line 62...
library IEEE;
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_1164.all;
use work.rx_package.all;
use work.rx_package.all;
 
 
entity rx_spdif is
entity rx_spdif is
  generic (DATA_WIDTH: integer range 16 to 32 := 16;
  generic (DATA_WIDTH: integer range 16 to 32;
           ADDR_WIDTH: integer range 8 to 64 := 8;
           ADDR_WIDTH: integer range 8 to 64;
           CH_ST_CAPTURE: integer range 0 to 8 := 0;
           CH_ST_CAPTURE: integer range 0 to 8;
           WISHBONE_FREQ: natural:= 33);
           WISHBONE_FREQ: natural);
  port (
  port (
    -- Wishbone interface
    -- Wishbone interface
    wb_clk_i: in std_logic;
    wb_clk_i: in std_logic;
    wb_rst_i: in std_logic;
    wb_rst_i: in std_logic;
    wb_sel_i: in std_logic;
    wb_sel_i: in std_logic;
Line 120... Line 123...
                when wb_adr_i(ADDR_WIDTH - 1) = '0' else sample_dout;
                when wb_adr_i(ADDR_WIDTH - 1) = '0' else sample_dout;
  end generate DB16;
  end generate DB16;
  DB32: if DATA_WIDTH = 32 generate
  DB32: if DATA_WIDTH = 32 generate
    data_out <= ver_dout or conf_dout or stat_dout or imask_dout or istat_dout or
    data_out <= ver_dout or conf_dout or stat_dout or imask_dout or istat_dout or
                cap_dout(1) or cap_dout(2) or cap_dout(3) or cap_dout(4) or
                cap_dout(1) or cap_dout(2) or cap_dout(3) or cap_dout(4) or
                cap_dout(5) or cap_dout(6) or cap_dout(7) when
                cap_dout(5) or cap_dout(6) or cap_dout(7) or cap_dout(0) when
                wb_adr_i(ADDR_WIDTH - 1) = '0' else sample_dout;
                wb_adr_i(ADDR_WIDTH - 1) = '0' else sample_dout;
  end generate DB32;
  end generate DB32;
 
 
-- Wishbone bus cycle decoder
-- Wishbone bus cycle decoder
  WB: rx_wb_decoder
  WB: rx_wb_decoder
Line 274... Line 277...
  istat_events(3) <= istat_paritya;
  istat_events(3) <= istat_paritya;
  istat_events(4) <= istat_parityb;
  istat_events(4) <= istat_parityb;
  istat_events(15 downto 5) <= (others => '0');
  istat_events(15 downto 5) <= (others => '0');
  IS32: if DATA_WIDTH = 32 generate
  IS32: if DATA_WIDTH = 32 generate
    istat_events(23 downto 16) <= istat_cap(7 downto 0);
    istat_events(23 downto 16) <= istat_cap(7 downto 0);
    istat_events(32 downto 24) <= (others => '0');
    istat_events(31 downto 24) <= (others => '0');
  end generate IS32;
  end generate IS32;
 
 
-- capture registers
-- capture registers
  GCAP: if DATA_WIDTH = 32 and CH_ST_CAPTURE > 0 generate
  GCAP: if DATA_WIDTH = 32 and CH_ST_CAPTURE > 0 generate
    CAPR: for k in 0 to CH_ST_CAPTURE - 1 generate
    CAPR: for k in 0 to CH_ST_CAPTURE - 1 generate
Line 299... Line 302...
        cs_a_en => cs_a_en,
        cs_a_en => cs_a_en,
        cs_b_en => cs_b_en);
        cs_b_en => cs_b_en);
    end generate CAPR;
    end generate CAPR;
    -- unused capture registers set to zero
    -- unused capture registers set to zero
    UCAPR: if CH_ST_CAPTURE < 8 generate
    UCAPR: if CH_ST_CAPTURE < 8 generate
      UC: for k in CH_ST_CAPTURE - 1 to 7 generate
      UC: for k in CH_ST_CAPTURE to 7 generate
        cap_dout(k) <= (others => '0');
        cap_dout(k) <= (others => '0');
      end generate UC;
      end generate UC;
    end generate UCAPR;
    end generate UCAPR;
  end generate GCAP;
  end generate GCAP;
 
 

powered by: WebSVN 2.1.0

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