- Timestamp:
- 01/27/11 08:32:16 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/data_generator.vhd.bak
r10081 r10121 58 58 adc_otr : in std_logic_vector (3 downto 0); 59 59 drs_channel_id : out std_logic_vector (3 downto 0) := (others => '0'); 60 drs_dwrite : out std_logic := '1'; 60 -- -- 61 -- drs_dwrite : out std_logic := '1'; 62 drs_readout_ready : out std_logic := '0'; 63 -- -- 61 64 drs_clk_en, drs_read_s_cell : out std_logic := '0'; 62 65 … … 69 72 drs_s_cell_array : in drs_s_cell_array_type; 70 73 71 drs_readout_started : out std_logic 74 drs_readout_started : out std_logic := '0' 72 75 ); 73 76 end data_generator ; … … 77 80 type state_generate_type is (INIT, CONFIG, CONFIG1, CONFIG2,CONFIG3, CONFIG4, CONFIG5, CONFIG6, CONFIG7, WRITE_HEADER, WRITE_EXTERNAL_TRIGGER, WRITE_INTERNAL_TRIGGER, WRITE_BOARD_ID, WRITE_TEMPERATURES, 78 81 WRITE_DAC1, WRITE_DAC2, WRITE_CHANNEL_ID, WRITE_START_CELL, WRITE_ROI, WRITE_ADC_DATA, WRITE_DATA_END, WRITE_DATA_END_WAIT, 79 WRITE_END_FLAG, WRITE_DATA_STOP, 82 WRITE_END_FLAG, WRITE_DATA_STOP, WRITE_DATA_STOP1, 80 83 WRITE_DATA_IDLE, WAIT_FOR_ADC, WAIT_FOR_STOP_CELL, START_DRS_READING); 81 84 … … 181 184 sig_drs_readout_started <= '1'; -- is set to '0' in state WRITE_DAC1 182 185 -- stop drs, dwrite low 183 drs_dwrite <= '0';186 -- drs_dwrite <= '0'; 184 187 -- start reading of drs stop cell 185 188 drs_read_s_cell <= '1'; … … 272 275 when WRITE_ADC_DATA => 273 276 if (data_cntr < roi_max (channel_id)) then 274 --data_out <= "000" & adc_otr(3) & adc_data_array(3)275 --& "000" & adc_otr(2) & adc_data_array(2)276 --& "000" & adc_otr(1) & adc_data_array(1)277 --& "000" & adc_otr(0) & adc_data_array(0);278 data_out <= "00000" & conv_std_logic_vector (data_cntr, 11)279 & "00010" & conv_std_logic_vector (data_cntr, 11)280 & "00100" & conv_std_logic_vector (data_cntr, 11)281 & "00110" & conv_std_logic_vector (data_cntr, 11) ;277 data_out <= "000" & adc_otr(3) & adc_data_array(3) 278 & "000" & adc_otr(2) & adc_data_array(2) 279 & "000" & adc_otr(1) & adc_data_array(1) 280 & "000" & adc_otr(0) & adc_data_array(0); 281 -- data_out <= "00000" & conv_std_logic_vector (data_cntr, 11) 282 -- & "00010" & conv_std_logic_vector (data_cntr, 11) 283 -- & "00100" & conv_std_logic_vector (data_cntr, 11) 284 -- & "00110" & conv_std_logic_vector (data_cntr, 11) ; 282 285 addr_cntr <= addr_cntr + 1; 283 286 state_generate <= WRITE_ADC_DATA; … … 329 332 if (ram_write_ready_ack = '0') then 330 333 -- -- 331 drs_dwrite <= '1'; 334 -- drs_dwrite <= '1'; 335 drs_readout_ready <= '1'; 332 336 data_cntr <= 0; 333 337 addr_cntr <= 0; 334 338 channel_id <= 0; 335 state_generate <= WRITE_DATA_ IDLE;339 state_generate <= WRITE_DATA_STOP1; 336 340 -- -- 337 341 end if; 338 342 -- -- 343 when WRITE_DATA_STOP1 => 344 if (drs_readout_ready_ack = '1') then 345 drs_readout_ready <= '0'; 346 state_generate <= WRITE_DATA_IDLE; 347 end if; 339 348 when others => 340 349 null;
Note:
See TracChangeset
for help on using the changeset viewer.