Skip to content
Snippets Groups Projects
Commit b1f5222d authored by Maciej Lipinski's avatar Maciej Lipinski Committed by Grzegorz Daniluk
Browse files

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

parent fc3b2d7c
No related merge requests found
......@@ -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;
......@@ -523,6 +524,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;
......
......@@ -317,6 +317,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
......@@ -483,7 +484,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 (
......@@ -539,7 +540,7 @@ begin -- behavioral
pfilter_drop_o <= pfilter_drop;
pfilter_done_o <= pfilter_done;
rtu_rq_valid_o <= rtu_rq_valid;
-----------------------------------------
-- RMON events
-----------------------------------------
......@@ -548,5 +549,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;
......@@ -1038,6 +1038,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;
......
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