@@ -202,6 +202,7 BEGIN -- beh | |||
|
202 | 202 | dbguart => 0, |
|
203 | 203 | pclow => 2, |
|
204 | 204 | clk_freq => 25000, |
|
205 | IS_RADHARD => 0, | |
|
205 | 206 | NB_CPU => 1, |
|
206 | 207 | ENABLE_FPU => 1, |
|
207 | 208 | FPU_NETLIST => 0, |
@@ -379,7 +380,7 BEGIN -- beh | |||
|
379 | 380 | pirq_ms => 6, |
|
380 | 381 | pirq_wfp => 14, |
|
381 | 382 | hindex => 2, |
|
382 |
top_lfr_version => X"01013 |
|
|
383 | top_lfr_version => X"010139") -- aa.bb.cc version | |
|
383 | 384 | -- AA : BOARD NUMBER |
|
384 | 385 | -- 0 => MINI_LFR |
|
385 | 386 | -- 1 => EM |
@@ -120,6 +120,8 ARCHITECTURE Behavioral OF apb_lfr_manag | |||
|
120 | 120 | SIGNAL HK_temp_2_s : STD_LOGIC_VECTOR(15 DOWNTO 0); |
|
121 | 121 | SIGNAL HK_sel_s : STD_LOGIC_VECTOR(1 DOWNTO 0); |
|
122 | 122 | |
|
123 | SIGNAL previous_fine_time_bit : STD_LOGIC; | |
|
124 | ||
|
123 | 125 |
|
|
124 | 126 | |
|
125 | 127 | BEGIN |
@@ -358,6 +360,9 BEGIN | |||
|
358 | 360 | ----------------------------------------------------------------------------- |
|
359 | 361 | |
|
360 | 362 | PROCESS (clk25MHz, resetn) |
|
363 | CONSTANT BIT_FREQUENCY_UPDATE : INTEGER := 11; -- freq = 2^(16-BIT) | |
|
364 | -- for 11, the update frequency is 32Hz | |
|
365 | -- for each HK, the update frequency is freq/3 | |
|
361 | 366 | BEGIN -- PROCESS |
|
362 | 367 | IF resetn = '0' THEN -- asynchronous reset (active low) |
|
363 | 368 | |
@@ -366,17 +371,21 BEGIN | |||
|
366 | 371 | r.HK_temp_2 <= (OTHERS => '0'); |
|
367 | 372 | |
|
368 | 373 | HK_sel_s <= "00"; |
|
374 | ||
|
375 | previous_fine_time_bit <= '0'; | |
|
369 | 376 | |
|
370 | 377 | ELSIF clk25MHz'EVENT AND clk25MHz = '1' THEN -- rising clock edge |
|
371 | 378 | |
|
372 | 379 | IF HK_val = '1' THEN |
|
373 | CASE HK_sel_s IS | |
|
374 | WHEN "00" => r.HK_temp_0 <= HK_sample; HK_sel_s <= "01"; | |
|
375 | WHEN "01" => r.HK_temp_1 <= HK_sample; HK_sel_s <= "10"; | |
|
376 |
WHEN " |
|
|
377 | WHEN OTHERS => NULL; | |
|
378 | END CASE; | |
|
379 | ||
|
380 | IF previous_fine_time_bit = NOT(fine_time_s(BIT_FREQUENCY_UPDATE)) THEN | |
|
381 | previous_fine_time_bit <= fine_time_s(BIT_FREQUENCY_UPDATE); | |
|
382 | CASE HK_sel_s IS | |
|
383 | WHEN "00" => r.HK_temp_0 <= HK_sample; HK_sel_s <= "01"; | |
|
384 | WHEN "01" => r.HK_temp_1 <= HK_sample; HK_sel_s <= "10"; | |
|
385 | WHEN "10" => r.HK_temp_2 <= HK_sample; HK_sel_s <= "00"; | |
|
386 | WHEN OTHERS => NULL; | |
|
387 | END CASE; | |
|
388 | END IF; | |
|
380 | 389 | END IF; |
|
381 | 390 | |
|
382 | 391 | END IF; |
@@ -384,4 +393,4 BEGIN | |||
|
384 | 393 | |
|
385 | 394 | HK_sel <= HK_sel_s; |
|
386 | 395 | |
|
387 |
END Behavioral; |
|
|
396 | END Behavioral; No newline at end of file |
@@ -284,8 +284,9 BEGIN | |||
|
284 | 284 | PORT MAP (clkm, rstn, ahbmi, ahbmo(i), ahbsi, ahbso, |
|
285 | 285 | irqi(i), irqo(i), dbgi(i), dbgo(i)); |
|
286 | 286 | END GENERATE leon3_non_radhard; |
|
287 | ||
|
287 | 288 |
|
|
288 |
cpu : |
|
|
289 | cpu : leon3ft | |
|
289 | 290 | GENERIC MAP ( |
|
290 | 291 | HINDEX => i, --: integer; --CPU_HINDEX, |
|
291 | 292 | FABTECH => fabtech, --CFG_TECH, |
@@ -562,4 +563,4 BEGIN | |||
|
562 | 563 | |
|
563 | 564 | |
|
564 | 565 | |
|
565 |
END Behavioral; |
|
|
566 | END Behavioral; No newline at end of file |
General Comments 0
You need to be logged in to leave comments.
Login now