How to Read a Column at the Frame Rate

From MCEWiki
  • To read a column on one Readout Card at the frame rate, the return communication bandwidth of the Bus Backplane was doubled by using both return LVDS return channels from each card to the Clock Card, and interleaving words on each pair of channels.
  • As such, one must load firmware that supports dual-channel readout on all FPGA cards in the MCE (Clock Card, Readout Cards, Bias Cards, Address Card). The versions of firmware that support dual-channel readout are rev. 5.0.0+ for all cards. That is to say, rev. 5.0.0 is the first revision that supports it, and rev. 5.0.0+ must be loaded on all cards for the cards to communicate.
  • The ability to read out a column of of data has been generalized in firmware rev. 5.0.0+. That is to say, one can specify an arbitrary rectangular patch of the array (the same on all readout cards) for readout, using the {num_cols_reported, readout_col_index}, and {num_rows_reported, readout_row_index} command-couplets.
  • The num_rows_reported and num_columns_reported is encapsulated in the header of every data packet returned to the PC. The num_rows_reported parameter is stored at word index 3 of the frame header, and the num_cols_reported parameter is stored at word index 0, bits 19:16. The inclusion of these two fields allows software to do processing on binary data files without having to read the .run file associated with it. For more information on the data header, see the document discussing MCE File Formats. For more information on the new commands listed below, see the MCE Command Descriptions
-- This is setup for the ACT array
wb cc data_rate 1
wb sys row_len 100
wb sys num_rows 33
-- The following commands specify the readout area:  a column in this case
wb sys num_cols_reported 1
wb rc1 readout_col_index 0
wb sys num_rows_reported 33
wb rc1 readout_row_index 0
-- This is setup to read out data that helps identify which rows and columns you are actually reading.
-- The data reported will contain the row index (bits 8:3) concatenated with the column index (bits 2:0).
wb rc1 data_mode 11
-- This parameter specifies that data should be read out across rows
wb rc1 readout_priority 0