~ruther/jesd204b-vhdl

ref: f83380237147be4aa6f79a29a0e251e54f631a76 jesd204b-vhdl/src/descrambler.vhd -rw-r--r-- 858 bytes
f8338023 — František Boháček feat: add lmfc counter clock generator 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
library ieee;
use ieee.std_logic_1164.all;
use work.data_link_pkg.all;

entity descrambler is
  generic (
    F : integer range 1 to 256);
  port (
    ci_frame_clk : in  std_logic;
    ci_reset    : in  std_logic;
    di_data     : in  std_logic_vector(8*F - 1 downto 0);
    do_data     : out std_logic_vector(8*F - 1 downto 0));

end entity descrambler;

-- 1+x^14 + x^15
-- in JESD204 specification Annex D
architecture a1 of descrambler is
begin  -- architecture a1
  set_next: process (ci_frame_clk, ci_reset) is
  begin  -- process set_next
    if ci_reset = '0' then              -- asynchronous reset (active low)
      do_data <= (others => '0');
    elsif ci_frame_clk'event and ci_frame_clk = '1' then  -- rising clock edge
      do_data <= di_data; -- TODO: implement the descrambler...
    end if;
  end process set_next;

end architecture a1;
Do not follow this link