Commit ef699437 authored by Maciej Lipinski's avatar Maciej Lipinski

Added communication between WR Streamers statistics and WRPC.

This is to allow in the future to retrieve and reset statistics
collected by WR Streamers via SNMP.
parent 1daada1a
......@@ -42,9 +42,13 @@ use ieee.std_logic_1164.all;
use work.wishbone_pkg.all; -- needed for t_wishbone_slave_in, etc
use work.streamers_pkg.all; -- needed for streamers
use work.wr_fabric_pkg.all; -- neede for :t_wrf_source_in, etc
use work.wrcore_pkg.all; -- needed for t_generic_word_array
use work.wr_transmission_wbgen2_pkg.all;
package wr_transmission_pkg is
constant c_WR_TRANS_ARR_SIZE_OUT : integer := c_STREAMERS_ARR_SIZE_OUT;
constant c_WR_TRANS_ARR_SIZE_IN : integer := c_STREAMERS_ARR_SIZE_IN;
component xwr_transmission is
generic (
......@@ -72,7 +76,9 @@ package wr_transmission_pkg is
tm_tai_i : in std_logic_vector(39 downto 0) := x"0000000000";
tm_cycles_i : in std_logic_vector(27 downto 0) := x"0000000";
wb_slave_i : in t_wishbone_slave_in := cc_dummy_slave_in;
wb_slave_o : out t_wishbone_slave_out
wb_slave_o : out t_wishbone_slave_out;
snmp_array_o : out t_generic_word_array(c_WR_TRANS_ARR_SIZE_OUT-1 downto 0);
snmp_array_i : in t_generic_word_array(c_WR_TRANS_ARR_SIZE_IN -1 downto 0)
);
......
......@@ -44,8 +44,11 @@ use IEEE.NUMERIC_STD.ALL;
library work;
use work.wishbone_pkg.all; -- needed for t_wishbone_slave_in, etc
use work.streamers_pkg.all; -- needed for streamers
use work.wr_fabric_pkg.all; -- neede for :t_wrf_source_in, etc
use work.wr_fabric_pkg.all; -- needed for :t_wrf_source_in, etc
use work.WRBtrain_pkg.all; -- needed for c_STREAMER_DATA_WIDTH
use work.wrcore_pkg.all; -- needed for t_generic_word_array
use work.wr_transmission_wbgen2_pkg.all;
use work.wr_transmission_pkg.all; -- needed for c_WR_TRANS_ARR_SIZE_*
entity xwr_transmission is
......@@ -117,8 +120,10 @@ entity xwr_transmission is
-- wishbone interface
wb_slave_i : in t_wishbone_slave_in := cc_dummy_slave_in;
wb_slave_o : out t_wishbone_slave_out
wb_slave_o : out t_wishbone_slave_out;
snmp_array_o : out t_generic_word_array(c_WR_TRANS_ARR_SIZE_OUT-1 downto 0);
snmp_array_i : in t_generic_word_array(c_WR_TRANS_ARR_SIZE_IN -1 downto 0)
);
end xwr_transmission;
......@@ -143,7 +148,7 @@ architecture rtl of xwr_transmission is
);
end component;
constant c_STREAMER_DATA_WIDTH : integer :=208;
-- constant c_STREAMER_DATA_WIDTH : integer :=208;
constant c_STREAMER_ETHERTYPE : std_logic_vector(15 downto 0) := x"dbff";
signal regs_to_wb : t_wr_transmission_in_registers;
signal regs_from_wb : t_wr_transmission_out_registers;
......@@ -265,7 +270,9 @@ begin
latency_acc_o => latency_acc,
latency_max_o => regs_to_wb.rx_stat3_rx_latency_max_i,
latency_min_o => regs_to_wb.rx_stat4_rx_latency_min_i,
latency_acc_overflow_o => regs_to_wb.sscr1_rx_latency_acc_overflow_i
latency_acc_overflow_o => regs_to_wb.sscr1_rx_latency_acc_overflow_i,
snmp_array_o => snmp_array_o,
snmp_array_i => snmp_array_i
);
regs_to_wb.sscr2_rst_ts_tai_lsb_i <= reset_time_tai(31 downto 0);
......
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