##// END OF EJS Templates
Update arbitration in front of FFT based on Pong Status
pellion -
r382:bd4b3b04474b (MINI-LFR) WFP_MS-0-1-18 JC
parent child
Show More
@@ -428,7 +428,7 BEGIN -- beh
428 pirq_ms => 6,
428 pirq_ms => 6,
429 pirq_wfp => 14,
429 pirq_wfp => 14,
430 hindex => 2,
430 hindex => 2,
431 top_lfr_version => X"000111") -- aa.bb.cc version
431 top_lfr_version => X"000112") -- aa.bb.cc version
432 PORT MAP (
432 PORT MAP (
433 clk => clk_25,
433 clk => clk_25,
434 rstn => reset,
434 rstn => reset,
@@ -530,7 +530,7 BEGIN -- beh
530 IO11 <= '0';
530 IO11 <= '0';
531 ELSIF clk_25'event AND clk_25 = '1' THEN -- rising clock edge
531 ELSIF clk_25'event AND clk_25 = '1' THEN -- rising clock edge
532 CASE gpioo.dout(2 DOWNTO 0) IS
532 CASE gpioo.dout(2 DOWNTO 0) IS
533 WHEN "000" =>
533 WHEN "011" =>
534 IO0 <= observation_reg(0 );
534 IO0 <= observation_reg(0 );
535 IO1 <= observation_reg(1 );
535 IO1 <= observation_reg(1 );
536 IO2 <= observation_reg(2 );
536 IO2 <= observation_reg(2 );
@@ -569,7 +569,7 BEGIN -- beh
569 IO9 <= '0';
569 IO9 <= '0';
570 IO10 <= '0';
570 IO10 <= '0';
571 IO11 <= '0';
571 IO11 <= '0';
572 WHEN "011" =>
572 WHEN "000" =>
573 IO0 <= observation_vector_0(0 );
573 IO0 <= observation_vector_0(0 );
574 IO1 <= observation_vector_0(1 );
574 IO1 <= observation_vector_0(1 );
575 IO2 <= observation_vector_0(2 );
575 IO2 <= observation_vector_0(2 );
@@ -476,7 +476,8 BEGIN
476 -- FSM LOAD FFT
476 -- FSM LOAD FFT
477 -----------------------------------------------------------------------------
477 -----------------------------------------------------------------------------
478
478
479 sample_ren <= sample_ren_s WHEN sample_load = '1' ELSE (OTHERS => '1');
479 sample_ren <= sample_ren_s WHEN ping_npong = fft_pong AND sample_load = '1' ELSE
480 (OTHERS => '1');
480
481
481 PROCESS (clk, rstn)
482 PROCESS (clk, rstn)
482 BEGIN
483 BEGIN
@@ -551,7 +552,7 BEGIN
551 END PROCESS;
552 END PROCESS;
552
553
553 -- sample_valid <= sample_valid_r AND sample_load;
554 -- sample_valid <= sample_valid_r AND sample_load;
554 sample_valid <= sample_valid_r AND (sample_load AND (ping_npong AND fft_pong));
555 sample_valid <= sample_valid_r AND sample_load WHEN ping_npong = fft_pong ELSE '0';
555
556
556 sample_data <= sample_rdata(16*1-1 DOWNTO 16*0) WHEN next_state_fsm_load_FFT = FIFO_1 ELSE
557 sample_data <= sample_rdata(16*1-1 DOWNTO 16*0) WHEN next_state_fsm_load_FFT = FIFO_1 ELSE
557 sample_rdata(16*2-1 DOWNTO 16*1) WHEN next_state_fsm_load_FFT = FIFO_2 ELSE
558 sample_rdata(16*2-1 DOWNTO 16*1) WHEN next_state_fsm_load_FFT = FIFO_2 ELSE
@@ -576,7 +577,10 BEGIN
576 fft_data_valid => fft_data_valid,
577 fft_data_valid => fft_data_valid,
577 fft_ready => fft_ready);
578 fft_ready => fft_ready);
578
579
579 observation_vector_0(5 DOWNTO 0) <= fft_ready & --5
580 observation_vector_0(11 DOWNTO 0) <= "0000" & --11 10 9 8
581 sample_load_reg & --7
582 ping_npong & --6
583 fft_ready & --5
580 fft_data_valid & --4
584 fft_data_valid & --4
581 fft_pong & --3
585 fft_pong & --3
582 sample_load & --2
586 sample_load & --2
@@ -587,8 +591,8 BEGIN
587 PROCESS (clk, rstn)
591 PROCESS (clk, rstn)
588 BEGIN
592 BEGIN
589 IF rstn = '0' THEN
593 IF rstn = '0' THEN
590 ping_npong <= '0';
594 ping_npong <= '0';
591 sample_load_reg <= '0';
595 sample_load_reg <= '0';
592 ELSIF clk'event AND clk = '1' THEN
596 ELSIF clk'event AND clk = '1' THEN
593 sample_load_reg <= sample_load;
597 sample_load_reg <= sample_load;
594 IF sample_load_reg = '1' AND sample_load = '0' THEN
598 IF sample_load_reg = '1' AND sample_load = '0' THEN
@@ -693,16 +697,14 BEGIN
693
697
694 -----------------------------------------------------------------------------
698 -----------------------------------------------------------------------------
695
699
696 observation_vector_1(11 DOWNTO 0) <= "0000" &
700 observation_vector_1(11 DOWNTO 0) <= '0' &
701 SM_correlation_done & --4
702 SM_correlation_auto & --3
703 SM_correlation_start &
697 SM_correlation_start & --7
704 SM_correlation_start & --7
698 status_MS_input(1 DOWNTO 0)& --6..5
705 status_MS_input(1 DOWNTO 0)& --6..5
699 MEM_IN_SM_locked(4 DOWNTO 0); --4..0
706 MEM_IN_SM_locked(4 DOWNTO 0); --4..0
700
707
701 observation_vector_0(11 DOWNTO 6) <= MEM_IN_SM_locked(0) &
702 SM_correlation_done & --4
703 SM_correlation_auto & --3
704 SM_correlation_start & --2
705 status_component(5 DOWNTO 4); --1..0
706 -----------------------------------------------------------------------------
708 -----------------------------------------------------------------------------
707 MS_control_1 : MS_control
709 MS_control_1 : MS_control
708 PORT MAP (
710 PORT MAP (
@@ -967,4 +969,4 BEGIN
967
969
968 -----------------------------------------------------------------------------
970 -----------------------------------------------------------------------------
969
971
970 END Behavioral;
972 END Behavioral; No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now