Ignore:
Timestamp:
02/08/11 11:54:22 (14 years ago)
Author:
neise
Message:
 
Location:
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/data_generator.vhd

    r10121 r10138  
    172172          when CONFIG7 =>
    173173            if (drs_srin_write_ready = '1') then
     174              drs_channel_id <= DRS_ADDR_IDLE; -- to make sure not to write accidentally into DRS shift registers
    174175              roi_max_int <= roi_max;
    175176              state_generate <= WRITE_DATA_IDLE;
  • firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/drs_pulser_dummy.vhd

    r10081 r10138  
    8585        when SRIN_WRITE_END =>
    8686          SRCLK_EN <= '0';
    87           srin_out <= '1';
     87          srin_out <= '0';
    8888          srin_write_ready <= '1';
    8989          srin_write_ack <= '0';
  • firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/fad_definitions.vhd

    r10129 r10138  
    163163
    164164-- DRS Registers
     165  constant DRS_ADDR_IDLE : std_logic_vector := "1001";
    165166  constant DRS_CONFIG_REG : std_logic_vector := "1100"; 
    166167  constant DRS_WRITE_SHIFT_REG : std_logic_vector := "1101"; 
  • firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/w5300_modul.vhd

    r10137 r10138  
    144144signal local_fifo_channels : std_logic_vector (3 downto 0);
    145145
    146 signal data_valid_int : std_logic := '0';
     146
    147147
    148148
     
    162162        -- signals for synching in asynchronous input signals
    163163        ------------------------------------------------------------------------------
    164         signal w5300_interrupt_sr : std_logic_vector(1 downto 0);
     164        signal w5300_interrupt_sr : std_logic_vector(1 downto 0) := "11";
     165         --?? not sure if this init value is good
     166         -- but should be no problem, because interrupt_ignore is not true during the first 2 clock cycles.
     167         -- I hope!
     168        signal data_valid_sr : std_logic_vector(1 downto 0) := "00";
    165169        ------------------------------------------------------------------------------
    166170
     
    187191                -- synch asynchronous input in:
    188192                w5300_interrupt_sr <= w5300_interrupt_sr(1) & int;
     193                data_valid_sr <= data_valid_sr(1) & data_valid;
    189194               
    190195                        -- interrupt is handled synchronously
    191196                        -- W5300 pulls low its interrpt line in case of:
    192                         --      ??? I don't know ... connection loss ???
     197                        --      When Sockets time out and
     198                        -- When sockets receive disconnection request.
    193199                       
    194200                        if (w5300_interrupt_sr = "01") and (interrupt_ignore = '0') then
     
    560566                                            state_init <= MAIN;
    561567                                          end if;
    562                                        
    563           -- main "loop"
     568                                        -----------------------------------------
     569          -- MAIN "loop" --------------------------
     570          -----------------------------------------
     571         
    564572                                        when MAIN =>
    565573                                          socks_waiting <= '0';
     
    573581            data_valid_ack <= '0';
    574582            state_init <= MAIN1;
    575             data_valid_int <= data_valid;
     583            --data_valid_int <= data_valid;
    576584                                        when MAIN1 =>
    577585            if (chk_recv_cntr = 1000) then
     
    586594          when MAIN2 =>
    587595            busy <= '0';
    588                                           if (data_valid = '1') then
    589                                             data_valid_int <= '0';
     596                                          --if (data_valid = '1') then
     597                                          if (data_valid_sr = "01" or data_valid_sr = "11") then
     598                                            --data_valid_int <= '0';
    590599                                            busy <= '1';
    591600              local_write_length <= write_length;
     
    607616            next_state <= MAIN;
    608617            state_init <= WRITE_DATA;
     618
     619            -----------------------------------------
     620            -- END OF MAIN         ------------------
     621            -----------------------------------------
     622
    609623                                         
    610624
Note: See TracChangeset for help on using the changeset viewer.