##// END OF EJS Templates
Update APB_TIME_MANAGEMENT :...
pellion -
r334:df2e2cec05e6 (MINI-LFR) WFP_MS-0-1-8 JC
parent child
Show More
@@ -266,11 +266,11 BEGIN
266
266
267 tick => new_timecode,
267 tick => new_timecode,
268 new_coarsetime => new_coarsetime,
268 new_coarsetime => new_coarsetime,
269 coarsetime_reg => coarsetime_reg(30 DOWNTO 0),
269 coarsetime_reg => coarsetime_reg(31 DOWNTO 0),
270
270
271 fine_time => fine_time_49,
271 fine_time => fine_time_49,
272 fine_time_new => fine_time_new_49,
272 fine_time_new => fine_time_new_49,
273 coarse_time => coarse_time_49,
273 coarse_time => coarse_time_49,
274 coarse_time_new => coarse_time_new_49);
274 coarse_time_new => coarse_time_new_49);
275
275
276 END Behavioral; No newline at end of file
276 END Behavioral;
@@ -15,7 +15,7 ENTITY coarse_time_counter IS
15
15
16 tick : IN STD_LOGIC;
16 tick : IN STD_LOGIC;
17 set_TCU : IN STD_LOGIC;
17 set_TCU : IN STD_LOGIC;
18 set_TCU_value : IN STD_LOGIC_VECTOR(30 DOWNTO 0);
18 set_TCU_value : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
19 CT_add1 : IN STD_LOGIC;
19 CT_add1 : IN STD_LOGIC;
20 fsm_desync : IN STD_LOGIC;
20 fsm_desync : IN STD_LOGIC;
21 FT_max : IN STD_LOGIC;
21 FT_max : IN STD_LOGIC;
@@ -34,6 +34,9 ARCHITECTURE beh OF coarse_time_counter
34 SIGNAL coarse_time_new_counter : STD_LOGIC;
34 SIGNAL coarse_time_new_counter : STD_LOGIC;
35 SIGNAL coarse_time_31 : STD_LOGIC;
35 SIGNAL coarse_time_31 : STD_LOGIC;
36 SIGNAL coarse_time_31_reg : STD_LOGIC;
36 SIGNAL coarse_time_31_reg : STD_LOGIC;
37
38 SIGNAL set_synchronized : STD_LOGIC;
39 SIGNAL set_synchronized_value : STD_LOGIC_VECTOR(5 DOWNTO 0);
37
40
38 --CONSTANT NB_SECOND_DESYNC : INTEGER := 4; -- TODO : 60
41 --CONSTANT NB_SECOND_DESYNC : INTEGER := 4; -- TODO : 60
39 BEGIN -- beh
42 BEGIN -- beh
@@ -48,12 +51,17 BEGIN -- beh
48 RST_VALUE => (OTHERS => '0'),
51 RST_VALUE => (OTHERS => '0'),
49 MAX_VALUE => "111" & X"FFFFFFF" ,
52 MAX_VALUE => "111" & X"FFFFFFF" ,
50 set => set_TCU,
53 set => set_TCU,
51 set_value => set_TCU_value,
54 set_value => set_TCU_value(30 DOWNTO 0),
52 add1 => CT_add1,
55 add1 => CT_add1,
53 counter => coarse_time(30 DOWNTO 0));
56 counter => coarse_time(30 DOWNTO 0));
54
57
55
58
56 add1_bit31 <= '1' WHEN fsm_desync = '1' AND FT_max = '1' ELSE '0';
59 add1_bit31 <= '1' WHEN fsm_desync = '1' AND FT_max = '1' ELSE '0';
60
61
62 set_synchronized <= (tick AND (NOT coarse_time_31)) OR (coarse_time_31 AND set_TCU);
63 set_synchronized_value <= STD_LOGIC_VECTOR(to_unsigned(NB_SECOND_DESYNC, 6)) WHEN (set_TCU AND set_TCU_value(31)) = '1' ELSE
64 (OTHERS => '0');
57
65
58 counter_2 : general_counter
66 counter_2 : general_counter
59 GENERIC MAP (
67 GENERIC MAP (
@@ -64,8 +72,8 BEGIN -- beh
64 rstn => rstn,
72 rstn => rstn,
65 RST_VALUE => STD_LOGIC_VECTOR(to_unsigned(NB_SECOND_DESYNC, 6)),
73 RST_VALUE => STD_LOGIC_VECTOR(to_unsigned(NB_SECOND_DESYNC, 6)),
66 MAX_VALUE => STD_LOGIC_VECTOR(to_unsigned(NB_SECOND_DESYNC, 6)),
74 MAX_VALUE => STD_LOGIC_VECTOR(to_unsigned(NB_SECOND_DESYNC, 6)),
67 set => tick,
75 set => set_synchronized,
68 set_value => (OTHERS => '0'),
76 set_value => set_synchronized_value,
69 add1 => add1_bit31,
77 add1 => add1_bit31,
70 counter => nb_second_counter);
78 counter => nb_second_counter);
71
79
@@ -34,7 +34,7 ENTITY lfr_time_management IS
34 tick : IN STD_LOGIC; -- transition signal information
34 tick : IN STD_LOGIC; -- transition signal information
35
35
36 new_coarsetime : IN STD_LOGIC; -- transition signal information
36 new_coarsetime : IN STD_LOGIC; -- transition signal information
37 coarsetime_reg : IN STD_LOGIC_VECTOR(30 DOWNTO 0);
37 coarsetime_reg : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
38
38
39 fine_time : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
39 fine_time : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
40 fine_time_new : OUT STD_LOGIC;
40 fine_time_new : OUT STD_LOGIC;
@@ -57,7 +57,7 PACKAGE lpp_lfr_time_management IS
57 rstn : IN STD_LOGIC;
57 rstn : IN STD_LOGIC;
58 tick : IN STD_LOGIC;
58 tick : IN STD_LOGIC;
59 new_coarsetime : IN STD_LOGIC;
59 new_coarsetime : IN STD_LOGIC;
60 coarsetime_reg : IN STD_LOGIC_VECTOR(30 DOWNTO 0);
60 coarsetime_reg : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
61 fine_time : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
61 fine_time : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
62 fine_time_new : OUT STD_LOGIC;
62 fine_time_new : OUT STD_LOGIC;
63 coarse_time : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
63 coarse_time : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
@@ -72,7 +72,7 PACKAGE lpp_lfr_time_management IS
72 rstn : IN STD_LOGIC;
72 rstn : IN STD_LOGIC;
73 tick : IN STD_LOGIC;
73 tick : IN STD_LOGIC;
74 set_TCU : IN STD_LOGIC;
74 set_TCU : IN STD_LOGIC;
75 set_TCU_value : IN STD_LOGIC_VECTOR(30 DOWNTO 0);
75 set_TCU_value : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
76 CT_add1 : IN STD_LOGIC;
76 CT_add1 : IN STD_LOGIC;
77 fsm_desync : IN STD_LOGIC;
77 fsm_desync : IN STD_LOGIC;
78 FT_max : IN STD_LOGIC;
78 FT_max : IN STD_LOGIC;
General Comments 0
You need to be logged in to leave comments. Login now