# HG changeset patch # User pellion # Date 2014-11-03 11:46:03 # Node ID 0383b34f8a0118119d162f253c4ef1ae43ba6c7c # Parent 01f76e8377252499fadcf2db89c60b56ea982912 MINI_LFR-WFP_MS-0.1.29.pdb : -> update lpp_lfr_apb_reg diff --git a/designs/MINI-LFR_WFP_MS/MINI_LFR_top.vhd b/designs/MINI-LFR_WFP_MS/MINI_LFR_top.vhd --- a/designs/MINI-LFR_WFP_MS/MINI_LFR_top.vhd +++ b/designs/MINI-LFR_WFP_MS/MINI_LFR_top.vhd @@ -428,7 +428,7 @@ BEGIN -- beh pirq_ms => 6, pirq_wfp => 14, hindex => 2, - top_lfr_version => X"00011C") -- aa.bb.cc version + top_lfr_version => X"00011D") -- aa.bb.cc version PORT MAP ( clk => clk_25, rstn => reset, diff --git a/lib/lpp/dsp/cic/cic_lfr_control.vhd b/lib/lpp/dsp/cic/cic_lfr_control.vhd --- a/lib/lpp/dsp/cic/cic_lfr_control.vhd +++ b/lib/lpp/dsp/cic/cic_lfr_control.vhd @@ -58,6 +58,8 @@ ARCHITECTURE beh OF cic_lfr_control IS TYPE STATE_CIC_LFR_TYPE IS (IDLE,INT_0, INT_1, INT_2); SIGNAL STATE_CIC_LFR : STATE_CIC_LFR_TYPE; + + SIGNAL nb_data_receipt : INTEGER; BEGIN @@ -81,6 +83,8 @@ BEGIN w_addr_init <= '0'; w_addr_base <= (OTHERS => '0'); w_addr_add1 <= '0'; + -- + nb_data_receipt <= 0; ELSIF clk'event AND clk = '1' THEN -- rising clock edge IF run = '0' THEN STATE_CIC_LFR <= IDLE; @@ -100,6 +104,8 @@ BEGIN w_addr_init <= '0'; w_addr_base <= (OTHERS => '0'); w_addr_add1 <= '0'; + -- + nb_data_receipt <= 0; ELSE CASE STATE_CIC_LFR IS WHEN IDLE => @@ -118,6 +124,12 @@ BEGIN w_addr_init <= '0'; w_addr_base <= (OTHERS => '0'); w_addr_add1 <= '0'; + IF data_in_valid = '1' THEN + nb_data_receipt <= 0; + STATE_CIC_LFR <= INT_0; + END IF; + WHEN INT_0 => + WHEN OTHERS => NULL; END CASE; END IF; diff --git a/lib/lpp/lpp_top_lfr/lpp_lfr_apbreg.vhd b/lib/lpp/lpp_top_lfr/lpp_lfr_apbreg.vhd --- a/lib/lpp/lpp_top_lfr/lpp_lfr_apbreg.vhd +++ b/lib/lpp/lpp_top_lfr/lpp_lfr_apbreg.vhd @@ -608,7 +608,7 @@ BEGIN -- beh --26 WHEN "011111" => all_reg_wp_status_bit: FOR I IN 3 DOWNTO 0 LOOP - reg_wp.status_ready_buffer_f(I) <= ((NOT apbi.pwdata(I) ) AND reg_wp.status_ready_buffer_f(I) ) OR reg_ready_buffer_f(I); + reg_wp.status_ready_buffer_f(I*2) <= ((NOT apbi.pwdata(I*2) ) AND reg_wp.status_ready_buffer_f(I*2) ) OR reg_ready_buffer_f(I*2); reg_wp.status_ready_buffer_f(I*2+1) <= ((NOT apbi.pwdata(I*2+1)) AND reg_wp.status_ready_buffer_f(I*2+1)) OR reg_ready_buffer_f(I*2+1); reg_wp.error_buffer_full(I) <= ((NOT apbi.pwdata(I+8) ) AND reg_wp.error_buffer_full(I) ) OR wfp_error_buffer_full(I); reg_wp.status_new_err(I) <= ((NOT apbi.pwdata(I+12) ) AND reg_wp.status_new_err(I) ) OR status_new_err(I);