eFEX firmware  1.7.3
ATLAS l1-calo - electron and tau feature extraction firmware for eFEX boards

Back to eFEX documentation
interconnect_struct.vhd
Go to the documentation of this file.
1 
8 
9 LIBRARY ieee;
10 USE ieee.std_logic_1164.all;
11 USE ieee.std_logic_arith.all;
12 
14 
15 ENTITY interconnect IS
16  PORT(
18  mac_clk : IN std_logic;
20  master_rx_data : IN std_logic_vector (9 DOWNTO 0);
22  rst_macclk : IN std_logic;
24  tx_data : IN std_logic_vector (8 DOWNTO 0);
26  master_rx_err : OUT std_logic;
28  process_tx_data : OUT std_logic_vector (9 DOWNTO 0);
30  rx_data : OUT std_logic_vector (8 DOWNTO 0)
31  );
32 
33 END interconnect ;
35 
36 ARCHITECTURE struct OF interconnect IS
37 signal master_rx_data_int :std_logic_vector ( 9 downto 0);
38 signal process_tx_data_int:std_logic_vector ( 9 downto 0);
39 
40 
41 
42 BEGIN
43  process (mac_clk)
44  begin
45  if mac_clk' event and mac_clk ='1' then
46  master_rx_data_int <= master_rx_data;
47  process_tx_data <= process_tx_data_int;
48  end if;
49  end process;
50 
51  -- Instance port mappings.
52  U_1 : entity work.parity_checker
53  PORT MAP (
54  Clk => mac_clk,
55  Data_in => master_rx_data_int,
56  Data_out => rx_data,
58  );
59  U_0 : entity work.parity_gen
60  GENERIC MAP (
61  width => 9
62  )
63  PORT MAP (
64  CLK => mac_clk,
65  Data_in => tx_data,
66  data_Parity => process_tx_data_int
67  );
68 
69 END struct;
Top ipbus interconnection.
Top ipbus interconnection.
out rx_data std_logic_vector( 8 DOWNTO 0)
slave_rx_data
in mac_clk std_logic
clock 125 MHz
in master_rx_data std_logic_vector( 9 DOWNTO 0)
IPBUS signals of master rx_data from control FPGA.
in tx_data std_logic_vector( 8 DOWNTO 0)
slave_tx_data
out master_rx_err std_logic
parity error
in rst_macclk std_logic
macclk Reset input
out process_tx_data std_logic_vector( 9 DOWNTO 0)
master_tx_data
out even_parity std_logic
parity bit
in Clk std_logic
clock 125 MHz
in Data_in std_logic_vector( 9 downto 0)
master rx data with parity bit
out Data_out std_logic_vector( 8 downto 0)
master rx data
parity genrator
out data_Parity std_logic_vector( width downto 0)
data with parity
in CLK std_logic
clock 125 MHz
in Data_in std_logic_vector( width- 1 downto 0)
data in to the parity generator block