|
|
LIBRARY ieee;
|
|
|
USE ieee.std_logic_1164.ALL;
|
|
|
|
|
|
LIBRARY grlib;
|
|
|
USE grlib.amba.ALL;
|
|
|
|
|
|
LIBRARY lpp;
|
|
|
USE lpp.lpp_ad_conv.ALL;
|
|
|
USE lpp.iir_filter.ALL;
|
|
|
USE lpp.FILTERcfg.ALL;
|
|
|
USE lpp.lpp_memory.ALL;
|
|
|
LIBRARY techmap;
|
|
|
USE techmap.gencomp.ALL;
|
|
|
|
|
|
PACKAGE lpp_top_lfr_pkg IS
|
|
|
|
|
|
COMPONENT lpp_top_acq
|
|
|
GENERIC(
|
|
|
tech : INTEGER := 0
|
|
|
);
|
|
|
PORT (
|
|
|
-- ADS7886
|
|
|
cnv_run : IN STD_LOGIC;
|
|
|
cnv : OUT STD_LOGIC;
|
|
|
sck : OUT STD_LOGIC;
|
|
|
sdo : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
|
|
|
--
|
|
|
cnv_clk : IN STD_LOGIC; -- 49 MHz
|
|
|
cnv_rstn : IN STD_LOGIC;
|
|
|
--
|
|
|
clk : IN STD_LOGIC; -- 25 MHz
|
|
|
rstn : IN STD_LOGIC;
|
|
|
--
|
|
|
sample_f0_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
|
|
|
sample_f0_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0);
|
|
|
--
|
|
|
sample_f1_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
|
|
|
sample_f1_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0);
|
|
|
--
|
|
|
sample_f2_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
|
|
|
sample_f2_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0);
|
|
|
--
|
|
|
sample_f3_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
|
|
|
sample_f3_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0)
|
|
|
);
|
|
|
END COMPONENT;
|
|
|
|
|
|
COMPONENT lpp_top_apbreg
|
|
|
GENERIC (
|
|
|
nb_burst_available_size : INTEGER;
|
|
|
nb_snapshot_param_size : INTEGER;
|
|
|
delta_snapshot_size : INTEGER;
|
|
|
delta_f2_f0_size : INTEGER;
|
|
|
delta_f2_f1_size : INTEGER;
|
|
|
pindex : INTEGER;
|
|
|
paddr : INTEGER;
|
|
|
pmask : INTEGER;
|
|
|
pirq : INTEGER);
|
|
|
PORT (
|
|
|
HCLK : IN STD_ULOGIC;
|
|
|
HRESETn : IN STD_ULOGIC;
|
|
|
apbi : IN apb_slv_in_type;
|
|
|
apbo : OUT apb_slv_out_type;
|
|
|
ready_matrix_f0_0 : IN STD_LOGIC;
|
|
|
ready_matrix_f0_1 : IN STD_LOGIC;
|
|
|
ready_matrix_f1 : IN STD_LOGIC;
|
|
|
ready_matrix_f2 : IN STD_LOGIC;
|
|
|
error_anticipating_empty_fifo : IN STD_LOGIC;
|
|
|
error_bad_component_error : IN STD_LOGIC;
|
|
|
debug_reg : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
|
|
status_ready_matrix_f0_0 : OUT STD_LOGIC;
|
|
|
status_ready_matrix_f0_1 : OUT STD_LOGIC;
|
|
|
status_ready_matrix_f1 : OUT STD_LOGIC;
|
|
|
status_ready_matrix_f2 : OUT STD_LOGIC;
|
|
|
status_error_anticipating_empty_fifo : OUT STD_LOGIC;
|
|
|
status_error_bad_component_error : OUT STD_LOGIC;
|
|
|
config_active_interruption_onNewMatrix : OUT STD_LOGIC;
|
|
|
config_active_interruption_onError : OUT STD_LOGIC;
|
|
|
addr_matrix_f0_0 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
|
|
|
addr_matrix_f0_1 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
|
|
|
addr_matrix_f1 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
|
|
|
addr_matrix_f2 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
|
|
|
status_full : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
|
|
|
status_full_ack : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
|
|
status_full_err : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
|
|
|
status_new_err : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
|
|
|
data_shaping_BW : OUT STD_LOGIC;
|
|
|
data_shaping_SP0 : OUT STD_LOGIC;
|
|
|
data_shaping_SP1 : OUT STD_LOGIC;
|
|
|
data_shaping_R0 : OUT STD_LOGIC;
|
|
|
data_shaping_R1 : OUT STD_LOGIC;
|
|
|
delta_snapshot : OUT STD_LOGIC_VECTOR(delta_snapshot_size-1 DOWNTO 0);
|
|
|
delta_f2_f1 : OUT STD_LOGIC_VECTOR(delta_f2_f1_size-1 DOWNTO 0);
|
|
|
delta_f2_f0 : OUT STD_LOGIC_VECTOR(delta_f2_f0_size-1 DOWNTO 0);
|
|
|
nb_burst_available : OUT STD_LOGIC_VECTOR(nb_burst_available_size-1 DOWNTO 0);
|
|
|
nb_snapshot_param : OUT STD_LOGIC_VECTOR(nb_snapshot_param_size-1 DOWNTO 0);
|
|
|
enable_f0 : OUT STD_LOGIC;
|
|
|
enable_f1 : OUT STD_LOGIC;
|
|
|
enable_f2 : OUT STD_LOGIC;
|
|
|
enable_f3 : OUT STD_LOGIC;
|
|
|
burst_f0 : OUT STD_LOGIC;
|
|
|
burst_f1 : OUT STD_LOGIC;
|
|
|
burst_f2 : OUT STD_LOGIC;
|
|
|
addr_data_f0 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
|
|
|
addr_data_f1 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
|
|
|
addr_data_f2 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
|
|
|
addr_data_f3 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0));
|
|
|
END COMPONENT;
|
|
|
|
|
|
COMPONENT lpp_top_lfr_wf_picker
|
|
|
GENERIC (
|
|
|
hindex : INTEGER;
|
|
|
pindex : INTEGER;
|
|
|
paddr : INTEGER;
|
|
|
pmask : INTEGER;
|
|
|
pirq : INTEGER;
|
|
|
tech : INTEGER;
|
|
|
nb_burst_available_size : INTEGER;
|
|
|
nb_snapshot_param_size : INTEGER;
|
|
|
delta_snapshot_size : INTEGER;
|
|
|
delta_f2_f0_size : INTEGER;
|
|
|
delta_f2_f1_size : INTEGER);
|
|
|
PORT (
|
|
|
cnv_run : IN STD_LOGIC;
|
|
|
cnv : OUT STD_LOGIC;
|
|
|
sck : OUT STD_LOGIC;
|
|
|
sdo : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
|
|
|
cnv_clk : IN STD_LOGIC;
|
|
|
cnv_rstn : IN STD_LOGIC;
|
|
|
HCLK : IN STD_ULOGIC;
|
|
|
HRESETn : IN STD_ULOGIC;
|
|
|
apbi : IN apb_slv_in_type;
|
|
|
apbo : OUT apb_slv_out_type;
|
|
|
AHB_Master_In : IN AHB_Mst_In_Type;
|
|
|
AHB_Master_Out : OUT AHB_Mst_Out_Type;
|
|
|
coarse_time_0 : IN STD_LOGIC;
|
|
|
data_shaping_BW : OUT STD_LOGIC);
|
|
|
END COMPONENT;
|
|
|
|
|
|
|
|
|
COMPONENT lpp_top_lfr_wf_picker_ip
|
|
|
GENERIC (
|
|
|
hindex : INTEGER;
|
|
|
nb_burst_available_size : INTEGER;
|
|
|
nb_snapshot_param_size : INTEGER;
|
|
|
delta_snapshot_size : INTEGER;
|
|
|
delta_f2_f0_size : INTEGER;
|
|
|
delta_f2_f1_size : INTEGER;
|
|
|
tech : INTEGER);
|
|
|
PORT (
|
|
|
cnv_run : IN STD_LOGIC;
|
|
|
cnv : OUT STD_LOGIC;
|
|
|
sck : OUT STD_LOGIC;
|
|
|
sdo : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
|
|
|
cnv_clk : IN STD_LOGIC;
|
|
|
cnv_rstn : IN STD_LOGIC;
|
|
|
clk : IN STD_LOGIC;
|
|
|
rstn : IN STD_LOGIC;
|
|
|
sample_f0_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
|
|
|
sample_f0_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
|
|
|
sample_f1_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
|
|
|
sample_f1_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
|
|
|
sample_f2_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
|
|
|
sample_f2_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
|
|
|
sample_f3_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
|
|
|
sample_f3_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
|
|
|
AHB_Master_In : IN AHB_Mst_In_Type;
|
|
|
AHB_Master_Out : OUT AHB_Mst_Out_Type;
|
|
|
coarse_time_0 : IN STD_LOGIC;
|
|
|
data_shaping_SP0 : IN STD_LOGIC;
|
|
|
data_shaping_SP1 : IN STD_LOGIC;
|
|
|
data_shaping_R0 : IN STD_LOGIC;
|
|
|
data_shaping_R1 : IN STD_LOGIC;
|
|
|
delta_snapshot : IN STD_LOGIC_VECTOR(delta_snapshot_size-1 DOWNTO 0);
|
|
|
delta_f2_f1 : IN STD_LOGIC_VECTOR(delta_f2_f1_size-1 DOWNTO 0);
|
|
|
delta_f2_f0 : IN STD_LOGIC_VECTOR(delta_f2_f0_size-1 DOWNTO 0);
|
|
|
enable_f0 : IN STD_LOGIC;
|
|
|
enable_f1 : IN STD_LOGIC;
|
|
|
enable_f2 : IN STD_LOGIC;
|
|
|
enable_f3 : IN STD_LOGIC;
|
|
|
burst_f0 : IN STD_LOGIC;
|
|
|
burst_f1 : IN STD_LOGIC;
|
|
|
burst_f2 : IN STD_LOGIC;
|
|
|
nb_burst_available : IN STD_LOGIC_VECTOR(nb_burst_available_size-1 DOWNTO 0);
|
|
|
nb_snapshot_param : IN STD_LOGIC_VECTOR(nb_snapshot_param_size-1 DOWNTO 0);
|
|
|
status_full : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
|
|
status_full_ack : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
|
|
|
status_full_err : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
|
|
status_new_err : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
|
|
|
addr_data_f0 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
|
|
addr_data_f1 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
|
|
addr_data_f2 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
|
|
|
addr_data_f3 : IN STD_LOGIC_VECTOR(31 DOWNTO 0));
|
|
|
END COMPONENT;
|
|
|
|
|
|
|
|
|
|
|
|
END lpp_top_lfr_pkg;
|
|
|
|