otsdaq_prepmodernization  v2_05_02_indev
xmii_handler.vhd
1 -------------------------------------
2 -- Author: Ryan Rivera, FNAL
3 -- Created: Sep 4, 2015
4 --
5 -- handles RGMII packets NOT at all. Expects GMII, so just passthrough.
6 --
7 -------------------------------------
8 
9 -----------------------------
10 --
11 -- Comments by rrivera at fnal dot gov : Sep 4, 2015
12 --
13 -- IMPORTANT!! IMPORTANT!!
14 -- It's very important to note!!!
15 --
16 -- The script that moves these files into a Firmware project will
17 -- substitue this rgmii_handler in if parameter 2 is MII_100_1000
18 
19 
20 library IEEE;
21 use IEEE.std_logic_1164.all;
22 use ieee.numeric_std.all;
23 
24 
26  port (
27  clk : in std_logic;
28  reset : in std_logic;
29 
30  -- rx
31  rx_data : in std_logic_vector(7 downto 0);
32  rx_dv : in std_logic;
33  rx_er : in std_logic;
34 
35  rx_data_handled : out std_logic_vector(7 downto 0);
36  rx_dv_handled : out std_logic;
37  rx_er_handled : out std_logic;
38 
39  -- tx
40  tx_data : in std_logic_vector(7 downto 0);
41  tx_dv : in std_logic;
42  tx_er : in std_logic;
43 
44  tx_data_handled : out std_logic_vector(7 downto 0);
45  tx_dv_handled : out std_logic;
46  tx_er_handled : out std_logic
47 
48  ) ;
49 end;
50 
51 
52 architecture arch of MII_100_1000_handler is
53 begin
54 
55  rx_data_handled <= rx_data;
56  rx_dv_handled <= rx_dv;
57  rx_er_handled <= rx_er;
58 
59 
60 
61  tx_data_handled <= tx_data;
62  tx_dv_handled <= tx_dv;
63  tx_er_handled <= tx_er;
64 
65 end arch;
66  --
67 --
68 --entity RX_IN_LATCH is
69 -- Port ( clk : in STD_LOGIC;
70 -- dv : in STD_LOGIC;
71 -- er : in STD_LOGIC;
72 -- d : in STD_LOGIC_VECTOR (7 downto 0);
73 -- dvo : out STD_LOGIC;
74 -- ero : out STD_LOGIC;
75 -- do : out STD_LOGIC_VECTOR (7 downto 0));
76 --end RX_IN_LATCH;
77 --
78 --architecture Behavioral of RX_IN_LATCH is
79 -- signal dvs : STD_LOGIC;
80 -- signal ers : STD_LOGIC;
81 -- signal ds : STD_LOGIC_VECTOR (7 downto 0);
82 --
83 --begin
84 --
85 -- process(clk)
86 -- begin
87 -- if falling_edge(clk) then
88 -- dvs <= dv;
89 -- ers <= er;
90 -- ds <= d;
91 -- end if;
92 -- end process;
93 --
94 -- process(clk)
95 -- begin
96 -- if rising_edge(clk) then
97 -- dvo <= dvs;
98 -- ero <= ers;
99 -- do <= ds;
100 -- end if;
101 -- end process;
102 --
103 --end Behavioral;
104 
105 
106 
107 
108 
109 
110 
111 
112 
113 
114 
115 
116 
117 
118 
119 
120 
121