##// END OF EJS Templates
temp
pellion -
r196:ac9b8685732d JC
parent child
Show More
@@ -1,112 +1,117
1 set_io clk49_152MHz -pinname D5 -fixed yes -DIRECTION Inout
1 set_io clk49_152MHz -pinname D5 -fixed yes -DIRECTION Inout
2 set_io clk50MHz -pinname B3 -fixed yes -DIRECTION Inout
2 set_io clk50MHz -pinname B3 -fixed yes -DIRECTION Inout
3 set_io reset -pinname N18 -fixed yes -DIRECTION Inout
3 set_io reset -pinname N18 -fixed yes -DIRECTION Inout
4
4
5 set_io {address[0]} -pinname H16 -fixed yes -DIRECTION Inout
5 set_io {address[0]} -pinname H16 -fixed yes -DIRECTION Inout
6 set_io {address[1]} -pinname J15 -fixed yes -DIRECTION Inout
6 set_io {address[1]} -pinname J15 -fixed yes -DIRECTION Inout
7 set_io {address[2]} -pinname B18 -fixed yes -DIRECTION Inout
7 set_io {address[2]} -pinname B18 -fixed yes -DIRECTION Inout
8 set_io {address[3]} -pinname C17 -fixed yes -DIRECTION Inout
8 set_io {address[3]} -pinname C17 -fixed yes -DIRECTION Inout
9 set_io {address[4]} -pinname C18 -fixed yes -DIRECTION Inout
9 set_io {address[4]} -pinname C18 -fixed yes -DIRECTION Inout
10 set_io {address[5]} -pinname U2 -fixed yes -DIRECTION Inout
10 set_io {address[5]} -pinname U2 -fixed yes -DIRECTION Inout
11 set_io {address[6]} -pinname U3 -fixed yes -DIRECTION Inout
11 set_io {address[6]} -pinname U3 -fixed yes -DIRECTION Inout
12 set_io {address[7]} -pinname R5 -fixed yes -DIRECTION Inout
12 set_io {address[7]} -pinname R5 -fixed yes -DIRECTION Inout
13 set_io {address[8]} -pinname N11 -fixed yes -DIRECTION Inout
13 set_io {address[8]} -pinname N11 -fixed yes -DIRECTION Inout
14 set_io {address[9]} -pinname R13 -fixed yes -DIRECTION Inout
14 set_io {address[9]} -pinname R13 -fixed yes -DIRECTION Inout
15 set_io {address[10]} -pinname V13 -fixed yes -DIRECTION Inout
15 set_io {address[10]} -pinname V13 -fixed yes -DIRECTION Inout
16 set_io {address[11]} -pinname U13 -fixed yes -DIRECTION Inout
16 set_io {address[11]} -pinname U13 -fixed yes -DIRECTION Inout
17 set_io {address[12]} -pinname V15 -fixed yes -DIRECTION Inout
17 set_io {address[12]} -pinname V15 -fixed yes -DIRECTION Inout
18 set_io {address[13]} -pinname V16 -fixed yes -DIRECTION Inout
18 set_io {address[13]} -pinname V16 -fixed yes -DIRECTION Inout
19 set_io {address[14]} -pinname V17 -fixed yes -DIRECTION Inout
19 set_io {address[14]} -pinname V17 -fixed yes -DIRECTION Inout
20 set_io {address[15]} -pinname N1 -fixed yes -DIRECTION Inout
20 set_io {address[15]} -pinname N1 -fixed yes -DIRECTION Inout
21 set_io {address[16]} -pinname R3 -fixed yes -DIRECTION Inout
21 set_io {address[16]} -pinname R3 -fixed yes -DIRECTION Inout
22 set_io {address[17]} -pinname P4 -fixed yes -DIRECTION Inout
22 set_io {address[17]} -pinname P4 -fixed yes -DIRECTION Inout
23 set_io {address[18]} -pinname N3 -fixed yes -DIRECTION Inout
23 set_io {address[18]} -pinname N3 -fixed yes -DIRECTION Inout
24 set_io {address[19]} -pinname M7 -fixed yes -DIRECTION Inout
24 set_io {address[19]} -pinname M7 -fixed yes -DIRECTION Inout
25
25
26 set_io {data[0]} -pinname P17 -fixed yes -DIRECTION Inout
26 set_io {data[0]} -pinname P17 -fixed yes -DIRECTION Inout
27 set_io {data[1]} -pinname R18 -fixed yes -DIRECTION Inout
27 set_io {data[1]} -pinname R18 -fixed yes -DIRECTION Inout
28 set_io {data[2]} -pinname T18 -fixed yes -DIRECTION Inout
28 set_io {data[2]} -pinname T18 -fixed yes -DIRECTION Inout
29 set_io {data[3]} -pinname J13 -fixed yes -DIRECTION Inout
29 set_io {data[3]} -pinname J13 -fixed yes -DIRECTION Inout
30 set_io {data[4]} -pinname T13 -fixed yes -DIRECTION Inout
30 set_io {data[4]} -pinname T13 -fixed yes -DIRECTION Inout
31 set_io {data[5]} -pinname T12 -fixed yes -DIRECTION Inout
31 set_io {data[5]} -pinname T12 -fixed yes -DIRECTION Inout
32 set_io {data[6]} -pinname R12 -fixed yes -DIRECTION Inout
32 set_io {data[6]} -pinname R12 -fixed yes -DIRECTION Inout
33 set_io {data[7]} -pinname T11 -fixed yes -DIRECTION Inout
33 set_io {data[7]} -pinname T11 -fixed yes -DIRECTION Inout
34 set_io {data[8]} -pinname N2 -fixed yes -DIRECTION Inout
34 set_io {data[8]} -pinname N2 -fixed yes -DIRECTION Inout
35 set_io {data[9]} -pinname P1 -fixed yes -DIRECTION Inout
35 set_io {data[9]} -pinname P1 -fixed yes -DIRECTION Inout
36 set_io {data[10]} -pinname R1 -fixed yes -DIRECTION Inout
36 set_io {data[10]} -pinname R1 -fixed yes -DIRECTION Inout
37 set_io {data[11]} -pinname T1 -fixed yes -DIRECTION Inout
37 set_io {data[11]} -pinname T1 -fixed yes -DIRECTION Inout
38 set_io {data[12]} -pinname M4 -fixed yes -DIRECTION Inout
38 set_io {data[12]} -pinname M4 -fixed yes -DIRECTION Inout
39 set_io {data[13]} -pinname K1 -fixed yes -DIRECTION Inout
39 set_io {data[13]} -pinname K1 -fixed yes -DIRECTION Inout
40 set_io {data[14]} -pinname J1 -fixed yes -DIRECTION Inout
40 set_io {data[14]} -pinname J1 -fixed yes -DIRECTION Inout
41 set_io {data[15]} -pinname H1 -fixed yes -DIRECTION Inout
41 set_io {data[15]} -pinname H1 -fixed yes -DIRECTION Inout
42 set_io {data[16]} -pinname H15 -fixed yes -DIRECTION Inout
42 set_io {data[16]} -pinname H15 -fixed yes -DIRECTION Inout
43 set_io {data[17]} -pinname G15 -fixed yes -DIRECTION Inout
43 set_io {data[17]} -pinname G15 -fixed yes -DIRECTION Inout
44 set_io {data[18]} -pinname H13 -fixed yes -DIRECTION Inout
44 set_io {data[18]} -pinname H13 -fixed yes -DIRECTION Inout
45 set_io {data[19]} -pinname G12 -fixed yes -DIRECTION Inout
45 set_io {data[19]} -pinname G12 -fixed yes -DIRECTION Inout
46 set_io {data[20]} -pinname V14 -fixed yes -DIRECTION Inout
46 set_io {data[20]} -pinname V14 -fixed yes -DIRECTION Inout
47 set_io {data[21]} -pinname N9 -fixed yes -DIRECTION Inout
47 set_io {data[21]} -pinname N9 -fixed yes -DIRECTION Inout
48 set_io {data[22]} -pinname M13 -fixed yes -DIRECTION Inout
48 set_io {data[22]} -pinname M13 -fixed yes -DIRECTION Inout
49 set_io {data[23]} -pinname M15 -fixed yes -DIRECTION Inout
49 set_io {data[23]} -pinname M15 -fixed yes -DIRECTION Inout
50 set_io {data[24]} -pinname J17 -fixed yes -DIRECTION Inout
50 set_io {data[24]} -pinname J17 -fixed yes -DIRECTION Inout
51 set_io {data[25]} -pinname K15 -fixed yes -DIRECTION Inout
51 set_io {data[25]} -pinname K15 -fixed yes -DIRECTION Inout
52 set_io {data[26]} -pinname J14 -fixed yes -DIRECTION Inout
52 set_io {data[26]} -pinname J14 -fixed yes -DIRECTION Inout
53 set_io {data[27]} -pinname U18 -fixed yes -DIRECTION Inout
53 set_io {data[27]} -pinname U18 -fixed yes -DIRECTION Inout
54 set_io {data[28]} -pinname H18 -fixed yes -DIRECTION Inout
54 set_io {data[28]} -pinname H18 -fixed yes -DIRECTION Inout
55 set_io {data[29]} -pinname J18 -fixed yes -DIRECTION Inout
55 set_io {data[29]} -pinname J18 -fixed yes -DIRECTION Inout
56 set_io {data[30]} -pinname G17 -fixed yes -DIRECTION Inout
56 set_io {data[30]} -pinname G17 -fixed yes -DIRECTION Inout
57 set_io {data[31]} -pinname F18 -fixed yes -DIRECTION Inout
57 set_io {data[31]} -pinname F18 -fixed yes -DIRECTION Inout
58
58
59 set_io nSRAM_BE0 -pinname U12 -fixed yes -DIRECTION Inout
59 set_io nSRAM_BE0 -pinname U12 -fixed yes -DIRECTION Inout
60 set_io nSRAM_BE1 -pinname K18 -fixed yes -DIRECTION Inout
60 set_io nSRAM_BE1 -pinname K18 -fixed yes -DIRECTION Inout
61 set_io nSRAM_BE2 -pinname K12 -fixed yes -DIRECTION Inout
61 set_io nSRAM_BE2 -pinname K12 -fixed yes -DIRECTION Inout
62 set_io nSRAM_BE3 -pinname F17 -fixed yes -DIRECTION Inout
62 set_io nSRAM_BE3 -pinname F17 -fixed yes -DIRECTION Inout
63 set_io nSRAM_WE -pinname D18 -fixed yes -DIRECTION Inout
63 set_io nSRAM_WE -pinname D18 -fixed yes -DIRECTION Inout
64 set_io nSRAM_CE -pinname M6 -fixed yes -DIRECTION Inout
64 set_io nSRAM_CE -pinname M6 -fixed yes -DIRECTION Inout
65 set_io nSRAM_OE -pinname N12 -fixed yes -DIRECTION Inout
65 set_io nSRAM_OE -pinname N12 -fixed yes -DIRECTION Inout
66
66
67 set_io spw1_din -pinname D6 -fixed yes -DIRECTION Inout
67 set_io spw1_din -pinname D6 -fixed yes -DIRECTION Inout
68 set_io spw1_sin -pinname C6 -fixed yes -DIRECTION Inout
68 set_io spw1_sin -pinname C6 -fixed yes -DIRECTION Inout
69 set_io spw1_dout -pinname C16 -fixed yes -DIRECTION Inout
69 set_io spw1_dout -pinname C16 -fixed yes -DIRECTION Inout
70 set_io spw1_sout -pinname C4 -fixed yes -DIRECTION Inout
70 set_io spw1_sout -pinname C4 -fixed yes -DIRECTION Inout
71
71
72 set_io spw2_din -pinname E6 -fixed yes -DIRECTION Inout
73 set_io spw2_sin -pinname C15 -fixed yes -DIRECTION Inout
74 set_io spw2_dout -pinname B7 -fixed yes -DIRECTION Inout
75 set_io spw2_sout -pinname D7 -fixed yes -DIRECTION Inout
76
72 set_io {led[0]} -pinname K17 -fixed yes -DIRECTION Inout
77 set_io {led[0]} -pinname K17 -fixed yes -DIRECTION Inout
73 set_io {led[1]} -pinname L18 -fixed yes -DIRECTION Inout
78 set_io {led[1]} -pinname L18 -fixed yes -DIRECTION Inout
74 set_io {led[2]} -pinname M17 -fixed yes -DIRECTION Inout
79 set_io {led[2]} -pinname M17 -fixed yes -DIRECTION Inout
75
80
76 set_io ahbtxd -pinname J12 -fixed yes -DIRECTION Inout
81 set_io ahbtxd -pinname J12 -fixed yes -DIRECTION Inout
77 #set_io TAG2 -pinname K13 -fixed yes -DIRECTION Inout
82 #set_io TAG2 -pinname K13 -fixed yes -DIRECTION Inout
78 set_io ahbrxd -pinname L16 -fixed yes -DIRECTION Inout
83 set_io ahbrxd -pinname L16 -fixed yes -DIRECTION Inout
79 #set_io TAG4 -pinname L15 -fixed yes -DIRECTION Inout
84 #set_io TAG4 -pinname L15 -fixed yes -DIRECTION Inout
80 set_io urxd1 -pinname M16 -fixed yes -DIRECTION Inout
85 set_io urxd1 -pinname M16 -fixed yes -DIRECTION Inout
81 set_io utxd1 -pinname L13 -fixed yes -DIRECTION Inout
86 set_io utxd1 -pinname L13 -fixed yes -DIRECTION Inout
82 set_io errorn -pinname P6 -fixed yes -DIRECTION Inout
87 set_io errorn -pinname P6 -fixed yes -DIRECTION Inout
83 #set_io TAG8 -pinname R6 -fixed yes -DIRECTION Inout
88 #set_io TAG8 -pinname R6 -fixed yes -DIRECTION Inout
84 #set_io TAG9 -pinname T4 -fixed yes -DIRECTION Inout
89 #set_io TAG9 -pinname T4 -fixed yes -DIRECTION Inout
85
90
86 set_io bias_fail_sw -pinname A3 -fixed yes -DIRECTION Inout
91 set_io bias_fail_sw -pinname A3 -fixed yes -DIRECTION Inout
87
92
88 set_io {ADC_OEB_bar_CH[0]} -pinname A13 -fixed yes -DIRECTION Inout
93 set_io {ADC_OEB_bar_CH[0]} -pinname A13 -fixed yes -DIRECTION Inout
89 set_io {ADC_OEB_bar_CH[1]} -pinname A14 -fixed yes -DIRECTION Inout
94 set_io {ADC_OEB_bar_CH[1]} -pinname A14 -fixed yes -DIRECTION Inout
90 set_io {ADC_OEB_bar_CH[2]} -pinname A10 -fixed yes -DIRECTION Inout
95 set_io {ADC_OEB_bar_CH[2]} -pinname A10 -fixed yes -DIRECTION Inout
91 set_io {ADC_OEB_bar_CH[3]} -pinname B10 -fixed yes -DIRECTION Inout
96 set_io {ADC_OEB_bar_CH[3]} -pinname B10 -fixed yes -DIRECTION Inout
92 set_io {ADC_OEB_bar_CH[4]} -pinname B13 -fixed yes -DIRECTION Inout
97 set_io {ADC_OEB_bar_CH[4]} -pinname B13 -fixed yes -DIRECTION Inout
93 set_io {ADC_OEB_bar_CH[5]} -pinname D13 -fixed yes -DIRECTION Inout
98 set_io {ADC_OEB_bar_CH[5]} -pinname D13 -fixed yes -DIRECTION Inout
94 set_io {ADC_OEB_bar_CH[6]} -pinname A11 -fixed yes -DIRECTION Inout
99 set_io {ADC_OEB_bar_CH[6]} -pinname A11 -fixed yes -DIRECTION Inout
95 set_io {ADC_OEB_bar_CH[7]} -pinname B12 -fixed yes -DIRECTION Inout
100 set_io {ADC_OEB_bar_CH[7]} -pinname B12 -fixed yes -DIRECTION Inout
96
101
97 set_io ADC_smpclk -pinname A15 -fixed yes -DIRECTION Inout
102 set_io ADC_smpclk -pinname A15 -fixed yes -DIRECTION Inout
98
103
99 set_io {ADC_data[0]} -pinname A16 -fixed yes -DIRECTION Inout
104 set_io {ADC_data[0]} -pinname A16 -fixed yes -DIRECTION Inout
100 set_io {ADC_data[1]} -pinname B16 -fixed yes -DIRECTION Inout
105 set_io {ADC_data[1]} -pinname B16 -fixed yes -DIRECTION Inout
101 set_io {ADC_data[2]} -pinname A17 -fixed yes -DIRECTION Inout
106 set_io {ADC_data[2]} -pinname A17 -fixed yes -DIRECTION Inout
102 set_io {ADC_data[3]} -pinname C12 -fixed yes -DIRECTION Inout
107 set_io {ADC_data[3]} -pinname C12 -fixed yes -DIRECTION Inout
103 set_io {ADC_data[4]} -pinname B17 -fixed yes -DIRECTION Inout
108 set_io {ADC_data[4]} -pinname B17 -fixed yes -DIRECTION Inout
104 set_io {ADC_data[5]} -pinname C13 -fixed yes -DIRECTION Inout
109 set_io {ADC_data[5]} -pinname C13 -fixed yes -DIRECTION Inout
105 set_io {ADC_data[6]} -pinname D15 -fixed yes -DIRECTION Inout
110 set_io {ADC_data[6]} -pinname D15 -fixed yes -DIRECTION Inout
106 set_io {ADC_data[7]} -pinname E15 -fixed yes -DIRECTION Inout
111 set_io {ADC_data[7]} -pinname E15 -fixed yes -DIRECTION Inout
107 set_io {ADC_data[8]} -pinname D16 -fixed yes -DIRECTION Inout
112 set_io {ADC_data[8]} -pinname D16 -fixed yes -DIRECTION Inout
108 set_io {ADC_data[9]} -pinname F16 -fixed yes -DIRECTION Inout
113 set_io {ADC_data[9]} -pinname F16 -fixed yes -DIRECTION Inout
109 set_io {ADC_data[10]} -pinname F15 -fixed yes -DIRECTION Inout
114 set_io {ADC_data[10]} -pinname F15 -fixed yes -DIRECTION Inout
110 set_io {ADC_data[11]} -pinname G16 -fixed yes -DIRECTION Inout
115 set_io {ADC_data[11]} -pinname G16 -fixed yes -DIRECTION Inout
111 set_io {ADC_data[12]} -pinname F13 -fixed yes -DIRECTION Inout
116 set_io {ADC_data[12]} -pinname F13 -fixed yes -DIRECTION Inout
112 set_io {ADC_data[13]} -pinname G13 -fixed yes -DIRECTION Inout
117 set_io {ADC_data[13]} -pinname G13 -fixed yes -DIRECTION Inout
@@ -1,278 +1,279
1 LIBRARY ieee;
1 LIBRARY ieee;
2 USE ieee.std_logic_1164.ALL;
2 USE ieee.std_logic_1164.ALL;
3
3
4 LIBRARY grlib;
4 LIBRARY grlib;
5 USE grlib.amba.ALL;
5 USE grlib.amba.ALL;
6
6
7 LIBRARY lpp;
7 LIBRARY lpp;
8 USE lpp.lpp_ad_conv.ALL;
8 USE lpp.lpp_ad_conv.ALL;
9 USE lpp.iir_filter.ALL;
9 USE lpp.iir_filter.ALL;
10 USE lpp.FILTERcfg.ALL;
10 USE lpp.FILTERcfg.ALL;
11 USE lpp.lpp_memory.ALL;
11 USE lpp.lpp_memory.ALL;
12 LIBRARY techmap;
12 LIBRARY techmap;
13 USE techmap.gencomp.ALL;
13 USE techmap.gencomp.ALL;
14
14
15 PACKAGE lpp_top_lfr_pkg IS
15 PACKAGE lpp_top_lfr_pkg IS
16
16
17 COMPONENT lpp_top_acq
17 COMPONENT lpp_top_acq
18 GENERIC(
18 GENERIC(
19 tech : INTEGER := 0
19 tech : INTEGER := 0
20 );
20 );
21 PORT (
21 PORT (
22 -- ADS7886
22 -- ADS7886
23 cnv_run : IN STD_LOGIC;
23 cnv_run : IN STD_LOGIC;
24 cnv : OUT STD_LOGIC;
24 cnv : OUT STD_LOGIC;
25 sck : OUT STD_LOGIC;
25 sck : OUT STD_LOGIC;
26 sdo : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
26 sdo : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
27 --
27 --
28 cnv_clk : IN STD_LOGIC; -- 49 MHz
28 cnv_clk : IN STD_LOGIC; -- 49 MHz
29 cnv_rstn : IN STD_LOGIC;
29 cnv_rstn : IN STD_LOGIC;
30 --
30 --
31 clk : IN STD_LOGIC; -- 25 MHz
31 clk : IN STD_LOGIC; -- 25 MHz
32 rstn : IN STD_LOGIC;
32 rstn : IN STD_LOGIC;
33 --
33 --
34 sample_f0_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
34 sample_f0_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
35 sample_f0_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0);
35 sample_f0_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0);
36 --
36 --
37 sample_f1_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
37 sample_f1_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
38 sample_f1_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0);
38 sample_f1_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0);
39 --
39 --
40 sample_f2_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
40 sample_f2_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
41 sample_f2_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0);
41 sample_f2_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0);
42 --
42 --
43 sample_f3_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
43 sample_f3_wen : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
44 sample_f3_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0)
44 sample_f3_wdata : OUT STD_LOGIC_VECTOR((5*16)-1 DOWNTO 0)
45 );
45 );
46 END COMPONENT;
46 END COMPONENT;
47
47
48 COMPONENT lpp_top_apbreg
48 COMPONENT lpp_top_apbreg
49 GENERIC (
49 GENERIC (
50 nb_burst_available_size : INTEGER;
50 nb_burst_available_size : INTEGER;
51 nb_snapshot_param_size : INTEGER;
51 nb_snapshot_param_size : INTEGER;
52 delta_snapshot_size : INTEGER;
52 delta_snapshot_size : INTEGER;
53 delta_f2_f0_size : INTEGER;
53 delta_f2_f0_size : INTEGER;
54 delta_f2_f1_size : INTEGER;
54 delta_f2_f1_size : INTEGER;
55 pindex : INTEGER;
55 pindex : INTEGER;
56 paddr : INTEGER;
56 paddr : INTEGER;
57 pmask : INTEGER;
57 pmask : INTEGER;
58 pirq : INTEGER);
58 pirq : INTEGER);
59 PORT (
59 PORT (
60 HCLK : IN STD_ULOGIC;
60 HCLK : IN STD_ULOGIC;
61 HRESETn : IN STD_ULOGIC;
61 HRESETn : IN STD_ULOGIC;
62 apbi : IN apb_slv_in_type;
62 apbi : IN apb_slv_in_type;
63 apbo : OUT apb_slv_out_type;
63 apbo : OUT apb_slv_out_type;
64 ready_matrix_f0_0 : IN STD_LOGIC;
64 ready_matrix_f0_0 : IN STD_LOGIC;
65 ready_matrix_f0_1 : IN STD_LOGIC;
65 ready_matrix_f0_1 : IN STD_LOGIC;
66 ready_matrix_f1 : IN STD_LOGIC;
66 ready_matrix_f1 : IN STD_LOGIC;
67 ready_matrix_f2 : IN STD_LOGIC;
67 ready_matrix_f2 : IN STD_LOGIC;
68 error_anticipating_empty_fifo : IN STD_LOGIC;
68 error_anticipating_empty_fifo : IN STD_LOGIC;
69 error_bad_component_error : IN STD_LOGIC;
69 error_bad_component_error : IN STD_LOGIC;
70 debug_reg : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
70 debug_reg : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
71 status_ready_matrix_f0_0 : OUT STD_LOGIC;
71 status_ready_matrix_f0_0 : OUT STD_LOGIC;
72 status_ready_matrix_f0_1 : OUT STD_LOGIC;
72 status_ready_matrix_f0_1 : OUT STD_LOGIC;
73 status_ready_matrix_f1 : OUT STD_LOGIC;
73 status_ready_matrix_f1 : OUT STD_LOGIC;
74 status_ready_matrix_f2 : OUT STD_LOGIC;
74 status_ready_matrix_f2 : OUT STD_LOGIC;
75 status_error_anticipating_empty_fifo : OUT STD_LOGIC;
75 status_error_anticipating_empty_fifo : OUT STD_LOGIC;
76 status_error_bad_component_error : OUT STD_LOGIC;
76 status_error_bad_component_error : OUT STD_LOGIC;
77 config_active_interruption_onNewMatrix : OUT STD_LOGIC;
77 config_active_interruption_onNewMatrix : OUT STD_LOGIC;
78 config_active_interruption_onError : OUT STD_LOGIC;
78 config_active_interruption_onError : OUT STD_LOGIC;
79 addr_matrix_f0_0 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
79 addr_matrix_f0_0 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
80 addr_matrix_f0_1 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
80 addr_matrix_f0_1 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
81 addr_matrix_f1 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
81 addr_matrix_f1 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
82 addr_matrix_f2 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
82 addr_matrix_f2 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
83 status_full : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
83 status_full : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
84 status_full_ack : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
84 status_full_ack : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
85 status_full_err : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
85 status_full_err : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
86 status_new_err : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
86 status_new_err : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
87 data_shaping_BW : OUT STD_LOGIC;
87 data_shaping_BW : OUT STD_LOGIC;
88 data_shaping_SP0 : OUT STD_LOGIC;
88 data_shaping_SP0 : OUT STD_LOGIC;
89 data_shaping_SP1 : OUT STD_LOGIC;
89 data_shaping_SP1 : OUT STD_LOGIC;
90 data_shaping_R0 : OUT STD_LOGIC;
90 data_shaping_R0 : OUT STD_LOGIC;
91 data_shaping_R1 : OUT STD_LOGIC;
91 data_shaping_R1 : OUT STD_LOGIC;
92 delta_snapshot : OUT STD_LOGIC_VECTOR(delta_snapshot_size-1 DOWNTO 0);
92 delta_snapshot : OUT STD_LOGIC_VECTOR(delta_snapshot_size-1 DOWNTO 0);
93 delta_f2_f1 : OUT STD_LOGIC_VECTOR(delta_f2_f1_size-1 DOWNTO 0);
93 delta_f2_f1 : OUT STD_LOGIC_VECTOR(delta_f2_f1_size-1 DOWNTO 0);
94 delta_f2_f0 : OUT STD_LOGIC_VECTOR(delta_f2_f0_size-1 DOWNTO 0);
94 delta_f2_f0 : OUT STD_LOGIC_VECTOR(delta_f2_f0_size-1 DOWNTO 0);
95 nb_burst_available : OUT STD_LOGIC_VECTOR(nb_burst_available_size-1 DOWNTO 0);
95 nb_burst_available : OUT STD_LOGIC_VECTOR(nb_burst_available_size-1 DOWNTO 0);
96 nb_snapshot_param : OUT STD_LOGIC_VECTOR(nb_snapshot_param_size-1 DOWNTO 0);
96 nb_snapshot_param : OUT STD_LOGIC_VECTOR(nb_snapshot_param_size-1 DOWNTO 0);
97 enable_f0 : OUT STD_LOGIC;
97 enable_f0 : OUT STD_LOGIC;
98 enable_f1 : OUT STD_LOGIC;
98 enable_f1 : OUT STD_LOGIC;
99 enable_f2 : OUT STD_LOGIC;
99 enable_f2 : OUT STD_LOGIC;
100 enable_f3 : OUT STD_LOGIC;
100 enable_f3 : OUT STD_LOGIC;
101 burst_f0 : OUT STD_LOGIC;
101 burst_f0 : OUT STD_LOGIC;
102 burst_f1 : OUT STD_LOGIC;
102 burst_f1 : OUT STD_LOGIC;
103 burst_f2 : OUT STD_LOGIC;
103 burst_f2 : OUT STD_LOGIC;
104 addr_data_f0 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
104 addr_data_f0 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
105 addr_data_f1 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
105 addr_data_f1 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
106 addr_data_f2 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
106 addr_data_f2 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
107 addr_data_f3 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0));
107 addr_data_f3 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0));
108 END COMPONENT;
108 END COMPONENT;
109
109
110 COMPONENT lpp_top_lfr_wf_picker
110 COMPONENT lpp_top_lfr_wf_picker
111 GENERIC (
111 GENERIC (
112 hindex : INTEGER;
112 hindex : INTEGER;
113 pindex : INTEGER;
113 pindex : INTEGER;
114 paddr : INTEGER;
114 paddr : INTEGER;
115 pmask : INTEGER;
115 pmask : INTEGER;
116 pirq : INTEGER;
116 pirq : INTEGER;
117 tech : INTEGER;
117 tech : INTEGER;
118 nb_burst_available_size : INTEGER;
118 nb_burst_available_size : INTEGER;
119 nb_snapshot_param_size : INTEGER;
119 nb_snapshot_param_size : INTEGER;
120 delta_snapshot_size : INTEGER;
120 delta_snapshot_size : INTEGER;
121 delta_f2_f0_size : INTEGER;
121 delta_f2_f0_size : INTEGER;
122 delta_f2_f1_size : INTEGER;
122 delta_f2_f1_size : INTEGER;
123 ENABLE_FILTER : STD_LOGIC);
123 ENABLE_FILTER : STD_LOGIC);
124 PORT (
124 PORT (
125 cnv_run : IN STD_LOGIC;
125 cnv_run : IN STD_LOGIC;
126 cnv : OUT STD_LOGIC;
126 cnv : OUT STD_LOGIC;
127 sck : OUT STD_LOGIC;
127 sck : OUT STD_LOGIC;
128 sdo : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
128 sdo : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
129 cnv_clk : IN STD_LOGIC;
129 cnv_clk : IN STD_LOGIC;
130 cnv_rstn : IN STD_LOGIC;
130 cnv_rstn : IN STD_LOGIC;
131 HCLK : IN STD_ULOGIC;
131 HCLK : IN STD_ULOGIC;
132 HRESETn : IN STD_ULOGIC;
132 HRESETn : IN STD_ULOGIC;
133 apbi : IN apb_slv_in_type;
133 apbi : IN apb_slv_in_type;
134 apbo : OUT apb_slv_out_type;
134 apbo : OUT apb_slv_out_type;
135 AHB_Master_In : IN AHB_Mst_In_Type;
135 AHB_Master_In : IN AHB_Mst_In_Type;
136 AHB_Master_Out : OUT AHB_Mst_Out_Type;
136 AHB_Master_Out : OUT AHB_Mst_Out_Type;
137 coarse_time_0 : IN STD_LOGIC;
137 coarse_time_0 : IN STD_LOGIC;
138 data_shaping_BW : OUT STD_LOGIC);
138 data_shaping_BW : OUT STD_LOGIC);
139 END COMPONENT;
139 END COMPONENT;
140
140
141
141
142 COMPONENT lpp_top_lfr_wf_picker_ip
142 COMPONENT lpp_top_lfr_wf_picker_ip
143 GENERIC (
143 GENERIC (
144 hindex : INTEGER;
144 hindex : INTEGER;
145 nb_burst_available_size : INTEGER;
145 nb_burst_available_size : INTEGER;
146 nb_snapshot_param_size : INTEGER;
146 nb_snapshot_param_size : INTEGER;
147 delta_snapshot_size : INTEGER;
147 delta_snapshot_size : INTEGER;
148 delta_f2_f0_size : INTEGER;
148 delta_f2_f0_size : INTEGER;
149 delta_f2_f1_size : INTEGER;
149 delta_f2_f1_size : INTEGER;
150 tech : INTEGER;
150 tech : INTEGER;
151 Mem_use : INTEGER);
151 Mem_use : INTEGER);
152 PORT (
152 PORT (
153 sample : IN Samples(7 DOWNTO 0);
153 sample : IN Samples(7 DOWNTO 0);
154 sample_val : IN STD_LOGIC;
154 sample_val : IN STD_LOGIC;
155 cnv_clk : IN STD_LOGIC;
155 cnv_clk : IN STD_LOGIC;
156 cnv_rstn : IN STD_LOGIC;
156 cnv_rstn : IN STD_LOGIC;
157 clk : IN STD_LOGIC;
157 clk : IN STD_LOGIC;
158 rstn : IN STD_LOGIC;
158 rstn : IN STD_LOGIC;
159 sample_f0_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
159 sample_f0_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
160 sample_f0_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
160 sample_f0_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
161 sample_f1_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
161 sample_f1_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
162 sample_f1_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
162 sample_f1_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
163 sample_f2_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
163 sample_f2_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
164 sample_f2_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
164 sample_f2_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
165 sample_f3_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
165 sample_f3_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
166 sample_f3_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
166 sample_f3_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
167 AHB_Master_In : IN AHB_Mst_In_Type;
167 AHB_Master_In : IN AHB_Mst_In_Type;
168 AHB_Master_Out : OUT AHB_Mst_Out_Type;
168 AHB_Master_Out : OUT AHB_Mst_Out_Type;
169 coarse_time_0 : IN STD_LOGIC;
169 coarse_time_0 : IN STD_LOGIC;
170 data_shaping_SP0 : IN STD_LOGIC;
170 data_shaping_SP0 : IN STD_LOGIC;
171 data_shaping_SP1 : IN STD_LOGIC;
171 data_shaping_SP1 : IN STD_LOGIC;
172 data_shaping_R0 : IN STD_LOGIC;
172 data_shaping_R0 : IN STD_LOGIC;
173 data_shaping_R1 : IN STD_LOGIC;
173 data_shaping_R1 : IN STD_LOGIC;
174 delta_snapshot : IN STD_LOGIC_VECTOR(delta_snapshot_size-1 DOWNTO 0);
174 delta_snapshot : IN STD_LOGIC_VECTOR(delta_snapshot_size-1 DOWNTO 0);
175 delta_f2_f1 : IN STD_LOGIC_VECTOR(delta_f2_f1_size-1 DOWNTO 0);
175 delta_f2_f1 : IN STD_LOGIC_VECTOR(delta_f2_f1_size-1 DOWNTO 0);
176 delta_f2_f0 : IN STD_LOGIC_VECTOR(delta_f2_f0_size-1 DOWNTO 0);
176 delta_f2_f0 : IN STD_LOGIC_VECTOR(delta_f2_f0_size-1 DOWNTO 0);
177 enable_f0 : IN STD_LOGIC;
177 enable_f0 : IN STD_LOGIC;
178 enable_f1 : IN STD_LOGIC;
178 enable_f1 : IN STD_LOGIC;
179 enable_f2 : IN STD_LOGIC;
179 enable_f2 : IN STD_LOGIC;
180 enable_f3 : IN STD_LOGIC;
180 enable_f3 : IN STD_LOGIC;
181 burst_f0 : IN STD_LOGIC;
181 burst_f0 : IN STD_LOGIC;
182 burst_f1 : IN STD_LOGIC;
182 burst_f1 : IN STD_LOGIC;
183 burst_f2 : IN STD_LOGIC;
183 burst_f2 : IN STD_LOGIC;
184 nb_burst_available : IN STD_LOGIC_VECTOR(nb_burst_available_size-1 DOWNTO 0);
184 nb_burst_available : IN STD_LOGIC_VECTOR(nb_burst_available_size-1 DOWNTO 0);
185 nb_snapshot_param : IN STD_LOGIC_VECTOR(nb_snapshot_param_size-1 DOWNTO 0);
185 nb_snapshot_param : IN STD_LOGIC_VECTOR(nb_snapshot_param_size-1 DOWNTO 0);
186 status_full : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
186 status_full : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
187 status_full_ack : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
187 status_full_ack : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
188 status_full_err : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
188 status_full_err : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
189 status_new_err : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
189 status_new_err : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
190 addr_data_f0 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
190 addr_data_f0 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
191 addr_data_f1 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
191 addr_data_f1 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
192 addr_data_f2 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
192 addr_data_f2 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
193 addr_data_f3 : IN STD_LOGIC_VECTOR(31 DOWNTO 0));
193 addr_data_f3 : IN STD_LOGIC_VECTOR(31 DOWNTO 0));
194 END COMPONENT;
194 END COMPONENT;
195
195
196 COMPONENT lpp_top_lfr_wf_picker_ip_whitout_filter
196 COMPONENT lpp_top_lfr_wf_picker_ip_whitout_filter
197 GENERIC (
197 GENERIC (
198 hindex : INTEGER;
198 hindex : INTEGER;
199 nb_burst_available_size : INTEGER;
199 nb_burst_available_size : INTEGER;
200 nb_snapshot_param_size : INTEGER;
200 nb_snapshot_param_size : INTEGER;
201 delta_snapshot_size : INTEGER;
201 delta_snapshot_size : INTEGER;
202 delta_f2_f0_size : INTEGER;
202 delta_f2_f0_size : INTEGER;
203 delta_f2_f1_size : INTEGER;
203 delta_f2_f1_size : INTEGER;
204 tech : INTEGER);
204 tech : INTEGER);
205 PORT (
205 PORT (
206 sample : IN Samples(7 DOWNTO 0);
206 sample : IN Samples(7 DOWNTO 0);
207 sample_val : IN STD_LOGIC;
207 sample_val : IN STD_LOGIC;
208 cnv_clk : IN STD_LOGIC;
208 cnv_clk : IN STD_LOGIC;
209 cnv_rstn : IN STD_LOGIC;
209 cnv_rstn : IN STD_LOGIC;
210 clk : IN STD_LOGIC;
210 clk : IN STD_LOGIC;
211 rstn : IN STD_LOGIC;
211 rstn : IN STD_LOGIC;
212 sample_f0_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
212 sample_f0_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
213 sample_f0_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
213 sample_f0_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
214 sample_f1_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
214 sample_f1_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
215 sample_f1_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
215 sample_f1_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
216 sample_f2_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
216 sample_f2_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
217 sample_f2_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
217 sample_f2_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
218 sample_f3_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
218 sample_f3_wen : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
219 sample_f3_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
219 sample_f3_wdata : OUT STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
220 AHB_Master_In : IN AHB_Mst_In_Type;
220 AHB_Master_In : IN AHB_Mst_In_Type;
221 AHB_Master_Out : OUT AHB_Mst_Out_Type;
221 AHB_Master_Out : OUT AHB_Mst_Out_Type;
222 coarse_time_0 : IN STD_LOGIC;
222 coarse_time_0 : IN STD_LOGIC;
223 data_shaping_SP0 : IN STD_LOGIC;
223 data_shaping_SP0 : IN STD_LOGIC;
224 data_shaping_SP1 : IN STD_LOGIC;
224 data_shaping_SP1 : IN STD_LOGIC;
225 data_shaping_R0 : IN STD_LOGIC;
225 data_shaping_R0 : IN STD_LOGIC;
226 data_shaping_R1 : IN STD_LOGIC;
226 data_shaping_R1 : IN STD_LOGIC;
227 delta_snapshot : IN STD_LOGIC_VECTOR(delta_snapshot_size-1 DOWNTO 0);
227 delta_snapshot : IN STD_LOGIC_VECTOR(delta_snapshot_size-1 DOWNTO 0);
228 delta_f2_f1 : IN STD_LOGIC_VECTOR(delta_f2_f1_size-1 DOWNTO 0);
228 delta_f2_f1 : IN STD_LOGIC_VECTOR(delta_f2_f1_size-1 DOWNTO 0);
229 delta_f2_f0 : IN STD_LOGIC_VECTOR(delta_f2_f0_size-1 DOWNTO 0);
229 delta_f2_f0 : IN STD_LOGIC_VECTOR(delta_f2_f0_size-1 DOWNTO 0);
230 enable_f0 : IN STD_LOGIC;
230 enable_f0 : IN STD_LOGIC;
231 enable_f1 : IN STD_LOGIC;
231 enable_f1 : IN STD_LOGIC;
232 enable_f2 : IN STD_LOGIC;
232 enable_f2 : IN STD_LOGIC;
233 enable_f3 : IN STD_LOGIC;
233 enable_f3 : IN STD_LOGIC;
234 burst_f0 : IN STD_LOGIC;
234 burst_f0 : IN STD_LOGIC;
235 burst_f1 : IN STD_LOGIC;
235 burst_f1 : IN STD_LOGIC;
236 burst_f2 : IN STD_LOGIC;
236 burst_f2 : IN STD_LOGIC;
237 nb_burst_available : IN STD_LOGIC_VECTOR(nb_burst_available_size-1 DOWNTO 0);
237 nb_burst_available : IN STD_LOGIC_VECTOR(nb_burst_available_size-1 DOWNTO 0);
238 nb_snapshot_param : IN STD_LOGIC_VECTOR(nb_snapshot_param_size-1 DOWNTO 0);
238 nb_snapshot_param : IN STD_LOGIC_VECTOR(nb_snapshot_param_size-1 DOWNTO 0);
239 status_full : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
239 status_full : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
240 status_full_ack : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
240 status_full_ack : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
241 status_full_err : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
241 status_full_err : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
242 status_new_err : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
242 status_new_err : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
243 addr_data_f0 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
243 addr_data_f0 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
244 addr_data_f1 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
244 addr_data_f1 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
245 addr_data_f2 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
245 addr_data_f2 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
246 addr_data_f3 : IN STD_LOGIC_VECTOR(31 DOWNTO 0));
246 addr_data_f3 : IN STD_LOGIC_VECTOR(31 DOWNTO 0));
247 END COMPONENT;
247 END COMPONENT;
248
248
249 COMPONENT top_wf_picker
249 COMPONENT top_wf_picker
250 GENERIC (
250 GENERIC (
251 hindex : INTEGER;
251 hindex : INTEGER;
252 pindex : INTEGER;
252 pindex : INTEGER;
253 paddr : INTEGER;
253 paddr : INTEGER;
254 pmask : INTEGER;
254 pmask : INTEGER;
255 pirq : INTEGER;
255 pirq : INTEGER;
256 tech : INTEGER;
256 tech : INTEGER;
257 nb_burst_available_size : INTEGER;
257 nb_burst_available_size : INTEGER;
258 nb_snapshot_param_size : INTEGER;
258 nb_snapshot_param_size : INTEGER;
259 delta_snapshot_size : INTEGER;
259 delta_snapshot_size : INTEGER;
260 delta_f2_f0_size : INTEGER;
260 delta_f2_f0_size : INTEGER;
261 delta_f2_f1_size : INTEGER;
261 delta_f2_f1_size : INTEGER;
262 ENABLE_FILTER : STD_LOGIC);
262 ENABLE_FILTER : STD_LOGIC);
263 PORT (
263 PORT (
264 cnv_clk : IN STD_LOGIC;
264 cnv_clk : IN STD_LOGIC;
265 cnv_rstn : IN STD_LOGIC;
265 cnv_rstn : IN STD_LOGIC;
266 sample : IN Samples14v(7 DOWNTO 0);
266 sample_B : IN Samples14v(2 DOWNTO 0);
267 sample_E : IN Samples14v(4 DOWNTO 0);
267 sample_val : IN STD_LOGIC;
268 sample_val : IN STD_LOGIC;
268 HCLK : IN STD_ULOGIC;
269 HCLK : IN STD_ULOGIC;
269 HRESETn : IN STD_ULOGIC;
270 HRESETn : IN STD_ULOGIC;
270 apbi : IN apb_slv_in_type;
271 apbi : IN apb_slv_in_type;
271 apbo : OUT apb_slv_out_type;
272 apbo : OUT apb_slv_out_type;
272 AHB_Master_In : IN AHB_Mst_In_Type;
273 AHB_Master_In : IN AHB_Mst_In_Type;
273 AHB_Master_Out : OUT AHB_Mst_Out_Type;
274 AHB_Master_Out : OUT AHB_Mst_Out_Type;
274 coarse_time_0 : IN STD_LOGIC;
275 coarse_time_0 : IN STD_LOGIC;
275 data_shaping_BW : OUT STD_LOGIC);
276 data_shaping_BW : OUT STD_LOGIC);
276 END COMPONENT;
277 END COMPONENT;
277
278
278 END lpp_top_lfr_pkg; No newline at end of file
279 END lpp_top_lfr_pkg;
@@ -1,343 +1,349
1 LIBRARY ieee;
1 LIBRARY ieee;
2 USE ieee.std_logic_1164.ALL;
2 USE ieee.std_logic_1164.ALL;
3 USE ieee.numeric_std.ALL;
3 USE ieee.numeric_std.ALL;
4
4
5 LIBRARY lpp;
5 LIBRARY lpp;
6 USE lpp.lpp_ad_conv.ALL;
6 USE lpp.lpp_ad_conv.ALL;
7 USE lpp.iir_filter.ALL;
7 USE lpp.iir_filter.ALL;
8 USE lpp.FILTERcfg.ALL;
8 USE lpp.FILTERcfg.ALL;
9 USE lpp.lpp_memory.ALL;
9 USE lpp.lpp_memory.ALL;
10 USE lpp.lpp_waveform_pkg.ALL;
10 USE lpp.lpp_waveform_pkg.ALL;
11 USE lpp.lpp_top_lfr_pkg.ALL;
11 USE lpp.lpp_top_lfr_pkg.ALL;
12
12
13 LIBRARY techmap;
13 LIBRARY techmap;
14 USE techmap.gencomp.ALL;
14 USE techmap.gencomp.ALL;
15
15
16 LIBRARY grlib;
16 LIBRARY grlib;
17 USE grlib.amba.ALL;
17 USE grlib.amba.ALL;
18 USE grlib.stdlib.ALL;
18 USE grlib.stdlib.ALL;
19 USE grlib.devices.ALL;
19 USE grlib.devices.ALL;
20 USE GRLIB.DMA2AHB_Package.ALL;
20 USE GRLIB.DMA2AHB_Package.ALL;
21
21
22 ENTITY top_wf_picker IS
22 ENTITY top_wf_picker IS
23 GENERIC (
23 GENERIC (
24 hindex : INTEGER := 2;
24 hindex : INTEGER := 2;
25 pindex : INTEGER := 15;
25 pindex : INTEGER := 15;
26 paddr : INTEGER := 15;
26 paddr : INTEGER := 15;
27 pmask : INTEGER := 16#fff#;
27 pmask : INTEGER := 16#fff#;
28 pirq : INTEGER := 15;
28 pirq : INTEGER := 15;
29 tech : INTEGER := 0;
29 tech : INTEGER := 0;
30 nb_burst_available_size : INTEGER := 11;
30 nb_burst_available_size : INTEGER := 11;
31 nb_snapshot_param_size : INTEGER := 11;
31 nb_snapshot_param_size : INTEGER := 11;
32 delta_snapshot_size : INTEGER := 16;
32 delta_snapshot_size : INTEGER := 16;
33 delta_f2_f0_size : INTEGER := 10;
33 delta_f2_f0_size : INTEGER := 10;
34 delta_f2_f1_size : INTEGER := 10;
34 delta_f2_f1_size : INTEGER := 10;
35 ENABLE_FILTER : STD_LOGIC := '1'
35 ENABLE_FILTER : STD_LOGIC := '1'
36 );
36 );
37 PORT (
37 PORT (
38 cnv_clk : IN STD_LOGIC;
38 cnv_clk : IN STD_LOGIC;
39 cnv_rstn : IN STD_LOGIC;
39 cnv_rstn : IN STD_LOGIC;
40 --
40 --
41 sample : IN Samples14v(7 DOWNTO 0);
41 sample_B : IN Samples14v(2 DOWNTO 0);
42 sample_E : IN Samples14v(4 DOWNTO 0);
42 sample_val : IN STD_LOGIC;
43 sample_val : IN STD_LOGIC;
43
44
44 -- AMBA AHB system signals
45 -- AMBA AHB system signals
45 HCLK : IN STD_ULOGIC;
46 HCLK : IN STD_ULOGIC;
46 HRESETn : IN STD_ULOGIC;
47 HRESETn : IN STD_ULOGIC;
47
48
48 -- AMBA APB Slave Interface
49 -- AMBA APB Slave Interface
49 apbi : IN apb_slv_in_type;
50 apbi : IN apb_slv_in_type;
50 apbo : OUT apb_slv_out_type;
51 apbo : OUT apb_slv_out_type;
51
52
52 -- AMBA AHB Master Interface
53 -- AMBA AHB Master Interface
53 AHB_Master_In : IN AHB_Mst_In_Type;
54 AHB_Master_In : IN AHB_Mst_In_Type;
54 AHB_Master_Out : OUT AHB_Mst_Out_Type;
55 AHB_Master_Out : OUT AHB_Mst_Out_Type;
55
56
56 --
57 --
57 coarse_time_0 : IN STD_LOGIC;
58 coarse_time_0 : IN STD_LOGIC;
58
59
59 --
60 --
60 data_shaping_BW : OUT STD_LOGIC
61 data_shaping_BW : OUT STD_LOGIC
61 );
62 );
62 END top_wf_picker;
63 END top_wf_picker;
63
64
64 ARCHITECTURE tb OF top_wf_picker IS
65 ARCHITECTURE tb OF top_wf_picker IS
65
66
66 SIGNAL ready_matrix_f0_0 : STD_LOGIC;
67 SIGNAL ready_matrix_f0_0 : STD_LOGIC;
67 SIGNAL ready_matrix_f0_1 : STD_LOGIC;
68 SIGNAL ready_matrix_f0_1 : STD_LOGIC;
68 SIGNAL ready_matrix_f1 : STD_LOGIC;
69 SIGNAL ready_matrix_f1 : STD_LOGIC;
69 SIGNAL ready_matrix_f2 : STD_LOGIC;
70 SIGNAL ready_matrix_f2 : STD_LOGIC;
70 SIGNAL error_anticipating_empty_fifo : STD_LOGIC;
71 SIGNAL error_anticipating_empty_fifo : STD_LOGIC;
71 SIGNAL error_bad_component_error : STD_LOGIC;
72 SIGNAL error_bad_component_error : STD_LOGIC;
72 SIGNAL debug_reg : STD_LOGIC_VECTOR(31 DOWNTO 0);
73 SIGNAL debug_reg : STD_LOGIC_VECTOR(31 DOWNTO 0);
73 SIGNAL status_ready_matrix_f0_0 : STD_LOGIC;
74 SIGNAL status_ready_matrix_f0_0 : STD_LOGIC;
74 SIGNAL status_ready_matrix_f0_1 : STD_LOGIC;
75 SIGNAL status_ready_matrix_f0_1 : STD_LOGIC;
75 SIGNAL status_ready_matrix_f1 : STD_LOGIC;
76 SIGNAL status_ready_matrix_f1 : STD_LOGIC;
76 SIGNAL status_ready_matrix_f2 : STD_LOGIC;
77 SIGNAL status_ready_matrix_f2 : STD_LOGIC;
77 SIGNAL status_error_anticipating_empty_fifo : STD_LOGIC;
78 SIGNAL status_error_anticipating_empty_fifo : STD_LOGIC;
78 SIGNAL status_error_bad_component_error : STD_LOGIC;
79 SIGNAL status_error_bad_component_error : STD_LOGIC;
79 SIGNAL config_active_interruption_onNewMatrix : STD_LOGIC;
80 SIGNAL config_active_interruption_onNewMatrix : STD_LOGIC;
80 SIGNAL config_active_interruption_onError : STD_LOGIC;
81 SIGNAL config_active_interruption_onError : STD_LOGIC;
81 SIGNAL addr_matrix_f0_0 : STD_LOGIC_VECTOR(31 DOWNTO 0);
82 SIGNAL addr_matrix_f0_0 : STD_LOGIC_VECTOR(31 DOWNTO 0);
82 SIGNAL addr_matrix_f0_1 : STD_LOGIC_VECTOR(31 DOWNTO 0);
83 SIGNAL addr_matrix_f0_1 : STD_LOGIC_VECTOR(31 DOWNTO 0);
83 SIGNAL addr_matrix_f1 : STD_LOGIC_VECTOR(31 DOWNTO 0);
84 SIGNAL addr_matrix_f1 : STD_LOGIC_VECTOR(31 DOWNTO 0);
84 SIGNAL addr_matrix_f2 : STD_LOGIC_VECTOR(31 DOWNTO 0);
85 SIGNAL addr_matrix_f2 : STD_LOGIC_VECTOR(31 DOWNTO 0);
85
86
86 SIGNAL status_full : STD_LOGIC_VECTOR(3 DOWNTO 0);
87 SIGNAL status_full : STD_LOGIC_VECTOR(3 DOWNTO 0);
87 SIGNAL status_full_ack : STD_LOGIC_VECTOR(3 DOWNTO 0);
88 SIGNAL status_full_ack : STD_LOGIC_VECTOR(3 DOWNTO 0);
88 SIGNAL status_full_err : STD_LOGIC_VECTOR(3 DOWNTO 0);
89 SIGNAL status_full_err : STD_LOGIC_VECTOR(3 DOWNTO 0);
89 SIGNAL status_new_err : STD_LOGIC_VECTOR(3 DOWNTO 0);
90 SIGNAL status_new_err : STD_LOGIC_VECTOR(3 DOWNTO 0);
90 SIGNAL data_shaping_SP0 : STD_LOGIC;
91 SIGNAL data_shaping_SP0 : STD_LOGIC;
91 SIGNAL data_shaping_SP1 : STD_LOGIC;
92 SIGNAL data_shaping_SP1 : STD_LOGIC;
92 SIGNAL data_shaping_R0 : STD_LOGIC;
93 SIGNAL data_shaping_R0 : STD_LOGIC;
93 SIGNAL data_shaping_R1 : STD_LOGIC;
94 SIGNAL data_shaping_R1 : STD_LOGIC;
94 SIGNAL delta_snapshot : STD_LOGIC_VECTOR(delta_snapshot_size-1 DOWNTO 0);
95 SIGNAL delta_snapshot : STD_LOGIC_VECTOR(delta_snapshot_size-1 DOWNTO 0);
95 SIGNAL delta_f2_f1 : STD_LOGIC_VECTOR(delta_f2_f1_size-1 DOWNTO 0);
96 SIGNAL delta_f2_f1 : STD_LOGIC_VECTOR(delta_f2_f1_size-1 DOWNTO 0);
96 SIGNAL delta_f2_f0 : STD_LOGIC_VECTOR(delta_f2_f0_size-1 DOWNTO 0);
97 SIGNAL delta_f2_f0 : STD_LOGIC_VECTOR(delta_f2_f0_size-1 DOWNTO 0);
97 SIGNAL nb_burst_available : STD_LOGIC_VECTOR(nb_burst_available_size-1 DOWNTO 0);
98 SIGNAL nb_burst_available : STD_LOGIC_VECTOR(nb_burst_available_size-1 DOWNTO 0);
98 SIGNAL nb_snapshot_param : STD_LOGIC_VECTOR(nb_snapshot_param_size-1 DOWNTO 0);
99 SIGNAL nb_snapshot_param : STD_LOGIC_VECTOR(nb_snapshot_param_size-1 DOWNTO 0);
99 SIGNAL enable_f0 : STD_LOGIC;
100 SIGNAL enable_f0 : STD_LOGIC;
100 SIGNAL enable_f1 : STD_LOGIC;
101 SIGNAL enable_f1 : STD_LOGIC;
101 SIGNAL enable_f2 : STD_LOGIC;
102 SIGNAL enable_f2 : STD_LOGIC;
102 SIGNAL enable_f3 : STD_LOGIC;
103 SIGNAL enable_f3 : STD_LOGIC;
103 SIGNAL burst_f0 : STD_LOGIC;
104 SIGNAL burst_f0 : STD_LOGIC;
104 SIGNAL burst_f1 : STD_LOGIC;
105 SIGNAL burst_f1 : STD_LOGIC;
105 SIGNAL burst_f2 : STD_LOGIC;
106 SIGNAL burst_f2 : STD_LOGIC;
106 SIGNAL addr_data_f0 : STD_LOGIC_VECTOR(31 DOWNTO 0);
107 SIGNAL addr_data_f0 : STD_LOGIC_VECTOR(31 DOWNTO 0);
107 SIGNAL addr_data_f1 : STD_LOGIC_VECTOR(31 DOWNTO 0);
108 SIGNAL addr_data_f1 : STD_LOGIC_VECTOR(31 DOWNTO 0);
108 SIGNAL addr_data_f2 : STD_LOGIC_VECTOR(31 DOWNTO 0);
109 SIGNAL addr_data_f2 : STD_LOGIC_VECTOR(31 DOWNTO 0);
109 SIGNAL addr_data_f3 : STD_LOGIC_VECTOR(31 DOWNTO 0);
110 SIGNAL addr_data_f3 : STD_LOGIC_VECTOR(31 DOWNTO 0);
110
111
111 SIGNAL sample_f0_wen : STD_LOGIC_VECTOR(5 DOWNTO 0);
112 SIGNAL sample_f0_wen : STD_LOGIC_VECTOR(5 DOWNTO 0);
112 SIGNAL sample_f0_wdata : STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
113 SIGNAL sample_f0_wdata : STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
113 SIGNAL sample_f1_wen : STD_LOGIC_VECTOR(5 DOWNTO 0);
114 SIGNAL sample_f1_wen : STD_LOGIC_VECTOR(5 DOWNTO 0);
114 SIGNAL sample_f1_wdata : STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
115 SIGNAL sample_f1_wdata : STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
115 SIGNAL sample_f2_wen : STD_LOGIC_VECTOR(5 DOWNTO 0);
116 SIGNAL sample_f2_wen : STD_LOGIC_VECTOR(5 DOWNTO 0);
116 SIGNAL sample_f2_wdata : STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
117 SIGNAL sample_f2_wdata : STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
117 SIGNAL sample_f3_wen : STD_LOGIC_VECTOR(5 DOWNTO 0);
118 SIGNAL sample_f3_wen : STD_LOGIC_VECTOR(5 DOWNTO 0);
118 SIGNAL sample_f3_wdata : STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
119 SIGNAL sample_f3_wdata : STD_LOGIC_VECTOR((6*16)-1 DOWNTO 0);
119
120
120 CONSTANT ChanelCount : INTEGER := 8;
121 CONSTANT ChanelCount : INTEGER := 8;
121 CONSTANT ncycle_cnv_high : INTEGER := 40;
122 CONSTANT ncycle_cnv_high : INTEGER := 40;
122 CONSTANT ncycle_cnv : INTEGER := 250;
123 CONSTANT ncycle_cnv : INTEGER := 250;
123
124
124 SIGNAL sample_s : Samples(ChanelCount-1 DOWNTO 0);
125 SIGNAL sample_s : Samples(ChanelCount-1 DOWNTO 0);
126 SIGNAL sample : Samples14v(7 DOWNTO 0);
125
127
126 BEGIN
128 BEGIN
127
129
130 sample(4 DOWNTO 0) <= sample_E(4 DOWNTO 0);
131 sample(7 DOWNTO 5) <= sample_B(2 DOWNTO 0);
132
133
128 ready_matrix_f0_0 <= '0';
134 ready_matrix_f0_0 <= '0';
129 ready_matrix_f0_1 <= '0';
135 ready_matrix_f0_1 <= '0';
130 ready_matrix_f1 <= '0';
136 ready_matrix_f1 <= '0';
131 ready_matrix_f2 <= '0';
137 ready_matrix_f2 <= '0';
132 error_anticipating_empty_fifo <= '0';
138 error_anticipating_empty_fifo <= '0';
133 error_bad_component_error <= '0';
139 error_bad_component_error <= '0';
134 debug_reg <= (OTHERS => '0');
140 debug_reg <= (OTHERS => '0');
135
141
136 lpp_top_apbreg_1 : lpp_top_apbreg
142 lpp_top_apbreg_1 : lpp_top_apbreg
137 GENERIC MAP (
143 GENERIC MAP (
138 nb_burst_available_size => nb_burst_available_size,
144 nb_burst_available_size => nb_burst_available_size,
139 nb_snapshot_param_size => nb_snapshot_param_size,
145 nb_snapshot_param_size => nb_snapshot_param_size,
140 delta_snapshot_size => delta_snapshot_size,
146 delta_snapshot_size => delta_snapshot_size,
141 delta_f2_f0_size => delta_f2_f0_size,
147 delta_f2_f0_size => delta_f2_f0_size,
142 delta_f2_f1_size => delta_f2_f1_size,
148 delta_f2_f1_size => delta_f2_f1_size,
143 pindex => pindex,
149 pindex => pindex,
144 paddr => paddr,
150 paddr => paddr,
145 pmask => pmask,
151 pmask => pmask,
146 pirq => pirq)
152 pirq => pirq)
147 PORT MAP (
153 PORT MAP (
148 HCLK => HCLK,
154 HCLK => HCLK,
149 HRESETn => HRESETn,
155 HRESETn => HRESETn,
150 apbi => apbi,
156 apbi => apbi,
151 apbo => apbo,
157 apbo => apbo,
152
158
153 ready_matrix_f0_0 => ready_matrix_f0_0,
159 ready_matrix_f0_0 => ready_matrix_f0_0,
154 ready_matrix_f0_1 => ready_matrix_f0_1,
160 ready_matrix_f0_1 => ready_matrix_f0_1,
155 ready_matrix_f1 => ready_matrix_f1,
161 ready_matrix_f1 => ready_matrix_f1,
156 ready_matrix_f2 => ready_matrix_f2,
162 ready_matrix_f2 => ready_matrix_f2,
157 error_anticipating_empty_fifo => error_anticipating_empty_fifo,
163 error_anticipating_empty_fifo => error_anticipating_empty_fifo,
158 error_bad_component_error => error_bad_component_error,
164 error_bad_component_error => error_bad_component_error,
159 debug_reg => debug_reg,
165 debug_reg => debug_reg,
160 status_ready_matrix_f0_0 => status_ready_matrix_f0_0,
166 status_ready_matrix_f0_0 => status_ready_matrix_f0_0,
161 status_ready_matrix_f0_1 => status_ready_matrix_f0_1,
167 status_ready_matrix_f0_1 => status_ready_matrix_f0_1,
162 status_ready_matrix_f1 => status_ready_matrix_f1,
168 status_ready_matrix_f1 => status_ready_matrix_f1,
163 status_ready_matrix_f2 => status_ready_matrix_f2,
169 status_ready_matrix_f2 => status_ready_matrix_f2,
164 status_error_anticipating_empty_fifo => status_error_anticipating_empty_fifo,
170 status_error_anticipating_empty_fifo => status_error_anticipating_empty_fifo,
165 status_error_bad_component_error => status_error_bad_component_error,
171 status_error_bad_component_error => status_error_bad_component_error,
166 config_active_interruption_onNewMatrix => config_active_interruption_onNewMatrix,
172 config_active_interruption_onNewMatrix => config_active_interruption_onNewMatrix,
167 config_active_interruption_onError => config_active_interruption_onError,
173 config_active_interruption_onError => config_active_interruption_onError,
168 addr_matrix_f0_0 => addr_matrix_f0_0,
174 addr_matrix_f0_0 => addr_matrix_f0_0,
169 addr_matrix_f0_1 => addr_matrix_f0_1,
175 addr_matrix_f0_1 => addr_matrix_f0_1,
170 addr_matrix_f1 => addr_matrix_f1,
176 addr_matrix_f1 => addr_matrix_f1,
171 addr_matrix_f2 => addr_matrix_f2,
177 addr_matrix_f2 => addr_matrix_f2,
172
178
173 status_full => status_full,
179 status_full => status_full,
174 status_full_ack => status_full_ack,
180 status_full_ack => status_full_ack,
175 status_full_err => status_full_err,
181 status_full_err => status_full_err,
176 status_new_err => status_new_err,
182 status_new_err => status_new_err,
177 data_shaping_BW => data_shaping_BW,
183 data_shaping_BW => data_shaping_BW,
178 data_shaping_SP0 => data_shaping_SP0,
184 data_shaping_SP0 => data_shaping_SP0,
179 data_shaping_SP1 => data_shaping_SP1,
185 data_shaping_SP1 => data_shaping_SP1,
180 data_shaping_R0 => data_shaping_R0,
186 data_shaping_R0 => data_shaping_R0,
181 data_shaping_R1 => data_shaping_R1,
187 data_shaping_R1 => data_shaping_R1,
182 delta_snapshot => delta_snapshot,
188 delta_snapshot => delta_snapshot,
183 delta_f2_f1 => delta_f2_f1,
189 delta_f2_f1 => delta_f2_f1,
184 delta_f2_f0 => delta_f2_f0,
190 delta_f2_f0 => delta_f2_f0,
185 nb_burst_available => nb_burst_available,
191 nb_burst_available => nb_burst_available,
186 nb_snapshot_param => nb_snapshot_param,
192 nb_snapshot_param => nb_snapshot_param,
187 enable_f0 => enable_f0,
193 enable_f0 => enable_f0,
188 enable_f1 => enable_f1,
194 enable_f1 => enable_f1,
189 enable_f2 => enable_f2,
195 enable_f2 => enable_f2,
190 enable_f3 => enable_f3,
196 enable_f3 => enable_f3,
191 burst_f0 => burst_f0,
197 burst_f0 => burst_f0,
192 burst_f1 => burst_f1,
198 burst_f1 => burst_f1,
193 burst_f2 => burst_f2,
199 burst_f2 => burst_f2,
194 addr_data_f0 => addr_data_f0,
200 addr_data_f0 => addr_data_f0,
195 addr_data_f1 => addr_data_f1,
201 addr_data_f1 => addr_data_f1,
196 addr_data_f2 => addr_data_f2,
202 addr_data_f2 => addr_data_f2,
197 addr_data_f3 => addr_data_f3);
203 addr_data_f3 => addr_data_f3);
198
204
199
205
200
206
201
207
202 --DIGITAL_acquisition : AD7688_drvr_sync
208 --DIGITAL_acquisition : AD7688_drvr_sync
203 -- GENERIC MAP (
209 -- GENERIC MAP (
204 -- ChanelCount => ChanelCount,
210 -- ChanelCount => ChanelCount,
205 -- ncycle_cnv_high => ncycle_cnv_high,
211 -- ncycle_cnv_high => ncycle_cnv_high,
206 -- ncycle_cnv => ncycle_cnv)
212 -- ncycle_cnv => ncycle_cnv)
207 -- PORT MAP (
213 -- PORT MAP (
208 -- cnv_clk => cnv_clk, --
214 -- cnv_clk => cnv_clk, --
209 -- cnv_rstn => cnv_rstn, --
215 -- cnv_rstn => cnv_rstn, --
210 -- cnv_run => cnv_run, --
216 -- cnv_run => cnv_run, --
211 -- cnv => cnv, --
217 -- cnv => cnv, --
212 -- sck => sck, --
218 -- sck => sck, --
213 -- sdo => sdo(ChanelCount-1 DOWNTO 0), --
219 -- sdo => sdo(ChanelCount-1 DOWNTO 0), --
214 -- sample => sample,
220 -- sample => sample,
215 -- sample_val => sample_val);
221 -- sample_val => sample_val);
216
222
217 all_channel: FOR i IN 7 DOWNTO 0 GENERATE
223 all_channel: FOR i IN 7 DOWNTO 0 GENERATE
218 sample_s(i) <= sample(i)(13) & sample(i)(13) & sample(i);
224 sample_s(i) <= sample(i)(13) & sample(i)(13) & sample(i);
219 END GENERATE all_channel;
225 END GENERATE all_channel;
220
226
221
227
222 wf_picker_with_filter : IF ENABLE_FILTER = '1' GENERATE
228 wf_picker_with_filter : IF ENABLE_FILTER = '1' GENERATE
223
229
224 lpp_top_lfr_wf_picker_ip_1 : lpp_top_lfr_wf_picker_ip
230 lpp_top_lfr_wf_picker_ip_1 : lpp_top_lfr_wf_picker_ip
225 GENERIC MAP (
231 GENERIC MAP (
226 hindex => hindex,
232 hindex => hindex,
227 nb_burst_available_size => nb_burst_available_size,
233 nb_burst_available_size => nb_burst_available_size,
228 nb_snapshot_param_size => nb_snapshot_param_size,
234 nb_snapshot_param_size => nb_snapshot_param_size,
229 delta_snapshot_size => delta_snapshot_size,
235 delta_snapshot_size => delta_snapshot_size,
230 delta_f2_f0_size => delta_f2_f0_size,
236 delta_f2_f0_size => delta_f2_f0_size,
231 delta_f2_f1_size => delta_f2_f1_size,
237 delta_f2_f1_size => delta_f2_f1_size,
232 tech => tech,
238 tech => tech,
233 Mem_use => use_RAM
239 Mem_use => use_RAM
234 )
240 )
235 PORT MAP (
241 PORT MAP (
236 sample => sample_s,
242 sample => sample_s,
237 sample_val => sample_val,
243 sample_val => sample_val,
238
244
239 cnv_clk => HCLK,--cnv_clk,
245 cnv_clk => HCLK,--cnv_clk,
240 cnv_rstn => HRESETn,--cnv_rstn,
246 cnv_rstn => HRESETn,--cnv_rstn,
241
247
242 clk => HCLK,
248 clk => HCLK,
243 rstn => HRESETn,
249 rstn => HRESETn,
244
250
245 sample_f0_wen => sample_f0_wen,
251 sample_f0_wen => sample_f0_wen,
246 sample_f0_wdata => sample_f0_wdata,
252 sample_f0_wdata => sample_f0_wdata,
247 sample_f1_wen => sample_f1_wen,
253 sample_f1_wen => sample_f1_wen,
248 sample_f1_wdata => sample_f1_wdata,
254 sample_f1_wdata => sample_f1_wdata,
249 sample_f2_wen => sample_f2_wen,
255 sample_f2_wen => sample_f2_wen,
250 sample_f2_wdata => sample_f2_wdata,
256 sample_f2_wdata => sample_f2_wdata,
251 sample_f3_wen => sample_f3_wen,
257 sample_f3_wen => sample_f3_wen,
252 sample_f3_wdata => sample_f3_wdata,
258 sample_f3_wdata => sample_f3_wdata,
253 AHB_Master_In => AHB_Master_In,
259 AHB_Master_In => AHB_Master_In,
254 AHB_Master_Out => AHB_Master_Out,
260 AHB_Master_Out => AHB_Master_Out,
255 coarse_time_0 => coarse_time_0,
261 coarse_time_0 => coarse_time_0,
256 data_shaping_SP0 => data_shaping_SP0,
262 data_shaping_SP0 => data_shaping_SP0,
257 data_shaping_SP1 => data_shaping_SP1,
263 data_shaping_SP1 => data_shaping_SP1,
258 data_shaping_R0 => data_shaping_R0,
264 data_shaping_R0 => data_shaping_R0,
259 data_shaping_R1 => data_shaping_R1,
265 data_shaping_R1 => data_shaping_R1,
260 delta_snapshot => delta_snapshot,
266 delta_snapshot => delta_snapshot,
261 delta_f2_f1 => delta_f2_f1,
267 delta_f2_f1 => delta_f2_f1,
262 delta_f2_f0 => delta_f2_f0,
268 delta_f2_f0 => delta_f2_f0,
263 enable_f0 => enable_f0,
269 enable_f0 => enable_f0,
264 enable_f1 => enable_f1,
270 enable_f1 => enable_f1,
265 enable_f2 => enable_f2,
271 enable_f2 => enable_f2,
266 enable_f3 => enable_f3,
272 enable_f3 => enable_f3,
267 burst_f0 => burst_f0,
273 burst_f0 => burst_f0,
268 burst_f1 => burst_f1,
274 burst_f1 => burst_f1,
269 burst_f2 => burst_f2,
275 burst_f2 => burst_f2,
270 nb_burst_available => nb_burst_available,
276 nb_burst_available => nb_burst_available,
271 nb_snapshot_param => nb_snapshot_param,
277 nb_snapshot_param => nb_snapshot_param,
272 status_full => status_full,
278 status_full => status_full,
273 status_full_ack => status_full_ack,
279 status_full_ack => status_full_ack,
274 status_full_err => status_full_err,
280 status_full_err => status_full_err,
275 status_new_err => status_new_err,
281 status_new_err => status_new_err,
276 addr_data_f0 => addr_data_f0,
282 addr_data_f0 => addr_data_f0,
277 addr_data_f1 => addr_data_f1,
283 addr_data_f1 => addr_data_f1,
278 addr_data_f2 => addr_data_f2,
284 addr_data_f2 => addr_data_f2,
279 addr_data_f3 => addr_data_f3);
285 addr_data_f3 => addr_data_f3);
280
286
281 END GENERATE wf_picker_with_filter;
287 END GENERATE wf_picker_with_filter;
282
288
283
289
284 wf_picker_without_filter : IF ENABLE_FILTER = '0' GENERATE
290 wf_picker_without_filter : IF ENABLE_FILTER = '0' GENERATE
285
291
286 lpp_top_lfr_wf_picker_ip_2 : lpp_top_lfr_wf_picker_ip_whitout_filter
292 lpp_top_lfr_wf_picker_ip_2 : lpp_top_lfr_wf_picker_ip_whitout_filter
287 GENERIC MAP (
293 GENERIC MAP (
288 hindex => hindex,
294 hindex => hindex,
289 nb_burst_available_size => nb_burst_available_size,
295 nb_burst_available_size => nb_burst_available_size,
290 nb_snapshot_param_size => nb_snapshot_param_size,
296 nb_snapshot_param_size => nb_snapshot_param_size,
291 delta_snapshot_size => delta_snapshot_size,
297 delta_snapshot_size => delta_snapshot_size,
292 delta_f2_f0_size => delta_f2_f0_size,
298 delta_f2_f0_size => delta_f2_f0_size,
293 delta_f2_f1_size => delta_f2_f1_size,
299 delta_f2_f1_size => delta_f2_f1_size,
294 tech => tech
300 tech => tech
295 )
301 )
296 PORT MAP (
302 PORT MAP (
297 sample => sample_s,
303 sample => sample_s,
298 sample_val => sample_val,
304 sample_val => sample_val,
299
305
300 cnv_clk => cnv_clk,
306 cnv_clk => cnv_clk,
301 cnv_rstn => cnv_rstn,
307 cnv_rstn => cnv_rstn,
302
308
303 clk => HCLK,
309 clk => HCLK,
304 rstn => HRESETn,
310 rstn => HRESETn,
305
311
306 sample_f0_wen => sample_f0_wen,
312 sample_f0_wen => sample_f0_wen,
307 sample_f0_wdata => sample_f0_wdata,
313 sample_f0_wdata => sample_f0_wdata,
308 sample_f1_wen => sample_f1_wen,
314 sample_f1_wen => sample_f1_wen,
309 sample_f1_wdata => sample_f1_wdata,
315 sample_f1_wdata => sample_f1_wdata,
310 sample_f2_wen => sample_f2_wen,
316 sample_f2_wen => sample_f2_wen,
311 sample_f2_wdata => sample_f2_wdata,
317 sample_f2_wdata => sample_f2_wdata,
312 sample_f3_wen => sample_f3_wen,
318 sample_f3_wen => sample_f3_wen,
313 sample_f3_wdata => sample_f3_wdata,
319 sample_f3_wdata => sample_f3_wdata,
314 AHB_Master_In => AHB_Master_In,
320 AHB_Master_In => AHB_Master_In,
315 AHB_Master_Out => AHB_Master_Out,
321 AHB_Master_Out => AHB_Master_Out,
316 coarse_time_0 => coarse_time_0,
322 coarse_time_0 => coarse_time_0,
317 data_shaping_SP0 => data_shaping_SP0,
323 data_shaping_SP0 => data_shaping_SP0,
318 data_shaping_SP1 => data_shaping_SP1,
324 data_shaping_SP1 => data_shaping_SP1,
319 data_shaping_R0 => data_shaping_R0,
325 data_shaping_R0 => data_shaping_R0,
320 data_shaping_R1 => data_shaping_R1,
326 data_shaping_R1 => data_shaping_R1,
321 delta_snapshot => delta_snapshot,
327 delta_snapshot => delta_snapshot,
322 delta_f2_f1 => delta_f2_f1,
328 delta_f2_f1 => delta_f2_f1,
323 delta_f2_f0 => delta_f2_f0,
329 delta_f2_f0 => delta_f2_f0,
324 enable_f0 => enable_f0,
330 enable_f0 => enable_f0,
325 enable_f1 => enable_f1,
331 enable_f1 => enable_f1,
326 enable_f2 => enable_f2,
332 enable_f2 => enable_f2,
327 enable_f3 => enable_f3,
333 enable_f3 => enable_f3,
328 burst_f0 => burst_f0,
334 burst_f0 => burst_f0,
329 burst_f1 => burst_f1,
335 burst_f1 => burst_f1,
330 burst_f2 => burst_f2,
336 burst_f2 => burst_f2,
331 nb_burst_available => nb_burst_available,
337 nb_burst_available => nb_burst_available,
332 nb_snapshot_param => nb_snapshot_param,
338 nb_snapshot_param => nb_snapshot_param,
333 status_full => status_full,
339 status_full => status_full,
334 status_full_ack => status_full_ack,
340 status_full_ack => status_full_ack,
335 status_full_err => status_full_err,
341 status_full_err => status_full_err,
336 status_new_err => status_new_err,
342 status_new_err => status_new_err,
337 addr_data_f0 => addr_data_f0,
343 addr_data_f0 => addr_data_f0,
338 addr_data_f1 => addr_data_f1,
344 addr_data_f1 => addr_data_f1,
339 addr_data_f2 => addr_data_f2,
345 addr_data_f2 => addr_data_f2,
340 addr_data_f3 => addr_data_f3);
346 addr_data_f3 => addr_data_f3);
341
347
342 END GENERATE wf_picker_without_filter;
348 END GENERATE wf_picker_without_filter;
343 END tb;
349 END tb;
General Comments 0
You need to be logged in to leave comments. Login now