Commit 3fe8e047 authored by Maciej Lipinski's avatar Maciej Lipinski

Endpoint: adding new PSTATs vectors to endpoint -- for each class

parent 45ce3709
......@@ -53,7 +53,7 @@ package endpoint_pkg is
type t_txtsu_timestamp_array is array(integer range <>) of t_txtsu_timestamp;
constant c_epevents_sz : integer := 21; --how many events the endpoint generates
constant c_epevents_sz : integer := 29; --how many events the endpoint generates
component xwr_endpoint
generic (
......
......@@ -105,7 +105,8 @@ package endpoint_private_pkg is
rx_path_timing_failure : std_logic;
tx_pause : std_logic;
tx_underrun : std_logic;
rx_pclass : std_logic_vector(7 downto 0);
rx_pclass : std_logic_vector(7 downto 0); -- packet class (from filter)
rx_tclass : std_logic_vector(7 downto 0); -- traffic class (priority)
tx_frame : std_logic;
rx_frame : std_logic;
rx_drop_at_rtu_full : std_logic;
......@@ -522,6 +523,7 @@ package body endpoint_private_pkg is
trig_out(18)<= trig_in.tx_frame;
trig_out(19)<= trig_in.rx_frame;
trig_out(20)<= trig_in.rx_drop_at_rtu_full;
trig_out(28 downto 21) <= trig_in.rx_tclass(7 downto 0);
end f_pack_rmon_triggers;
......
......@@ -316,6 +316,7 @@ architecture behavioral of ep_rx_path is
signal mbuf_rd, mbuf_valid, mbuf_we, mbuf_pf_drop, mbuf_is_hp : std_logic;
signal mbuf_is_pause, mbuf_full, mbuf_we_d0, mbuf_we_d1 : std_logic;
signal mbuf_pf_class : std_logic_vector(7 downto 0);
signal rtu_rq_valid : std_logic;
begin -- behavioral
......@@ -482,7 +483,7 @@ begin -- behavioral
rtu_rq_o => rtu_rq_o,
rtu_full_i => rtu_full_i,
rtu_rq_valid_o => rtu_rq_valid_o);
rtu_rq_valid_o => rtu_rq_valid);
U_Gen_Status : ep_rx_status_reg_insert
port map (
......@@ -538,7 +539,7 @@ begin -- behavioral
pfilter_drop_o <= pfilter_drop;
pfilter_done_o <= pfilter_done;
rtu_rq_valid_o <= rtu_rq_valid;
-----------------------------------------
-- RMON events
-----------------------------------------
......@@ -547,5 +548,14 @@ begin -- behavioral
rmon_o.rx_pclass(i) <= pfilter_pclass(i) and pfilter_done;
end generate;
rmon_o.rx_tclass(0) <= rtu_rq_valid when (vlan_tclass = "000" and vlan_is_tagged = '1') else '0';
rmon_o.rx_tclass(1) <= rtu_rq_valid when (vlan_tclass = "001" and vlan_is_tagged = '1') else '0';
rmon_o.rx_tclass(2) <= rtu_rq_valid when (vlan_tclass = "010" and vlan_is_tagged = '1') else '0';
rmon_o.rx_tclass(3) <= rtu_rq_valid when (vlan_tclass = "011" and vlan_is_tagged = '1') else '0';
rmon_o.rx_tclass(4) <= rtu_rq_valid when (vlan_tclass = "100" and vlan_is_tagged = '1') else '0';
rmon_o.rx_tclass(5) <= rtu_rq_valid when (vlan_tclass = "101" and vlan_is_tagged = '1') else '0';
rmon_o.rx_tclass(6) <= rtu_rq_valid when (vlan_tclass = "110" and vlan_is_tagged = '1') else '0';
rmon_o.rx_tclass(7) <= rtu_rq_valid when (vlan_tclass = "111" and vlan_is_tagged = '1') else '0';
end behavioral;
......@@ -1037,6 +1037,7 @@ begin
rmon.rx_pause <= rx_path_rmon.rx_pause;
rmon.rx_pfilter_drop <= rx_path_rmon.rx_pfilter_drop;
rmon.rx_pclass <= rx_path_rmon.rx_pclass;
rmon.rx_tclass <= rx_path_rmon.rx_tclass;
rmon.rx_drop_at_rtu_full <= rx_path_rmon.rx_drop_at_rtu_full;
rmon.tx_underrun <= pcs_rmon.tx_underrun;
rmon.rx_overrun <= pcs_rmon.rx_overrun;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment