FIFO_WRITE_OUT => fifo_write_i,
CHANNEL_200_DEBUG => channel_200_debug_i);
- Buffer_128 : if RING_BUFFER_SIZE = 128 generate
+ Buffer_128 : if RING_BUFFER_SIZE = 3 generate
The_Buffer : FIFO_36x128_OutReg
port map (
Data => ch_data_i,
Full => buf_full_i);
end generate Buffer_128;
- Buffer_64 : if RING_BUFFER_SIZE = 64 generate
+ Buffer_64 : if RING_BUFFER_SIZE = 1 generate
The_Buffer : FIFO_36x64_OutReg
port map (
Data => ch_data_i,
Full => buf_full_i);
end generate Buffer_64;
- Buffer_32 : if RING_BUFFER_SIZE = 32 generate
+ Buffer_32 : if RING_BUFFER_SIZE = 0 generate
The_Buffer : FIFO_36x32_OutReg
port map (
Data => ch_data_i,
Full => buf_full_i);
end generate Buffer_32;
- Buffer_16 : if RING_BUFFER_SIZE = 16 generate
- The_Buffer : FIFO_36x16_OutReg
- port map (
- Data => ch_data_i,
- Clock => CLK_100,
- WrEn => ch_data_valid_i,
- RdEn => READ_EN_IN,
- Reset => RESET_100,
- Q => buf_data_i,
- Empty => buf_empty_i,
- Full => buf_full_i);
- end generate Buffer_16;
-
FIFO_DATA_OUT <= buf_data_i;
FIFO_DATA_VALID_OUT <= buf_data_valid_i;
FIFO_EMPTY_OUT <= buf_empty_i;
-- File : Channel_200.vhd
-- Author : c.ugur@gsi.de
-- Created : 2012-08-28
--- Last update: 2014-05-07
+-- Last update: 2014-07-16
-------------------------------------------------------------------------------
-- Description:
-------------------------------------------------------------------------------
BINARY_CODE_OUT => encoder_data_out_i,
ENCODER_DEBUG => encoder_debug_i);
- RingBuffer_128 : if RING_BUFFER_SIZE = 128 generate
+ RingBuffer_128 : if RING_BUFFER_SIZE = 3 generate
FIFO : FIFO_DC_36x128_OutReg
port map (
Data => ringBuffer_data_in_i,
AlmostFull => ringBuffer_almost_full_i);
end generate RingBuffer_128;
- RingBuffer_64 : if RING_BUFFER_SIZE = 64 generate
+ RingBuffer_64 : if RING_BUFFER_SIZE = 1 generate
FIFO : FIFO_DC_36x64_OutReg
port map (
Data => ringBuffer_data_in_i,
AlmostFull => ringBuffer_almost_full_i);
end generate RingBuffer_64;
- RingBuffer_32 : if RING_BUFFER_SIZE = 32 generate
+ RingBuffer_32 : if RING_BUFFER_SIZE = 0 generate
FIFO : FIFO_DC_36x32_OutReg
port map (
Data => ringBuffer_data_in_i,
AlmostFull => ringBuffer_almost_full_i);
end generate RingBuffer_32;
- RingBuffer_16 : if RING_BUFFER_SIZE = 16 generate
- FIFO : FIFO_DC_36x16_OutReg
- port map (
- Data => ringBuffer_data_in_i,
- WrClock => CLK_200,
- RdClock => CLK_100,
- WrEn => ringBuffer_wr_en_i,
- RdEn => ringBuffer_rd_en_i,
- Reset => RESET_100,
- RPReset => RESET_100,
- Q => ringBuffer_data_out_i,
- Empty => ringBuffer_empty_i,
- Full => ringBuffer_full_i,
- AlmostFull => ringBuffer_almost_full_i);
- end generate RingBuffer_16;
-
ringBuffer_almost_full_sync <= ringBuffer_almost_full_i when rising_edge(CLK_100);
ringBuffer_rd_en_i <= ringBuffer_rd_data_i or ringBuffer_almost_full_sync when rising_edge(CLK_100);
MULTICYCLE FROM CELL "THE_TDC/TheEpochCounter/counter*" TO CELL "THE_TDC/GEN_Channels*Channels/epoch_cntr_reg*" 3 X;
MULTICYCLE FROM CELL "THE_TDC/TheEpochCounter/counter*" TO CELL "THE_TDC/ReferenceChannel/epoch_cntr_reg*" 3 X;
-MULTICYCLE TO CELL "THE_TDC/TheFirstReadout/TW_pre*" 4 x;
-MULTICYCLE TO CELL "THE_TDC/TheFirstReadout/TW_post*" 4 x;
-MULTICYCLE TO CELL "THE_TDC/Gen_Readout*Module*TheReadout/TW_pre*" 4 x;
-MULTICYCLE TO CELL "THE_TDC/Gen_Readout*Module*TheReadout/TW_post*" 4 x;
+MULTICYCLE TO CELL "THE_TDC/TheReadout/TW_pre*" 4 x;
+MULTICYCLE TO CELL "THE_TDC/TheReadout/TW_post*" 4 x;
## Maybe effective
-# MULTICYCLE FROM CELL "THE_TDC/GEN_Channels*Channels/The_Buffer/*" TO CELL "THE_TDC/TheFirstReadout/rd_en*" 2 X;
-# MULTICYCLE FROM CELL "THE_TDC/GEN_Channels*Channels/The_Buffer/*" TO CELL "THE_TDC/Gen_Readout*Module*TheReadout/rd_en*" 2 X;
+# MULTICYCLE FROM CELL "THE_TDC/GEN_Channels*Channels/The_Buffer/*" TO CELL "THE_TDC/TheReadout/rd_en*" 2 X;