Cluster Generation for Firmware Checkout

Preparation of the TELL1 code and configuration files

The following instruction explain how to "inject" test patterns into the input memory of the PP-FPGA.
Note: This is not the same as injecting test pulses in the module Beetles.

  1. Login to a TELL1 control PC (vedaqa02 or vedaqc02).
  2. Change to the directory containing the firmware version to be checked (e.g. /group/velo/ccpc/firmware/tell1lib_release_v2.5_modified).
  3. Change to the directory ccpc_daq.
  4. Start from the default C-file daq_tell1.c and add the cluster generation code. Suggestion: Copy daq_tell.c to a new file daq_tell_cluster.c and change it. Be careful not to overwrite an already existing file. Please find the cluster generation code in a previous version to see what to add (e.g. /group/velo/ccpc/firmware/tell1lib_release_v2.5_modified).
  5. Add the newly created file to a Makefile. Suggestion: Copy Makefile to a new file Makefile_addons and change it. Be careful not to overwrite an already existing file.
  6. Compile the code with the command "make -f Makefile_addons".
  7. Prepare proper configuration files for the different types of cluster generations (i.e. R-/Phi-reordering and Zero-suppressed/Procfull bank format) which are compatible with the firmware under investigation. You can find examples in the directory /group/velo/ccpc/configClusterGeneration.
    Start with the example configuration file coming with the firmware release (directory ccpc_daq). Please find some hints below
    • Enable the data generator:
      _L0019:___    [       1]    --Detector_data_generator_enable
    • Select triggers to be sent by the TELL1 itself:
      _L0015:___    [       0]    --TTC_info_enable. 1=TTC trigger used, 0=triggers and all info sent by ECS
    • Select trigger type to be determined by the TELL1 itself:
      _L0017:___    [       0]    --TTC_trigger_type_available. 1=TTC, 0=ECS
    • Select destibation IP to be determined by the TELL1 itself:
      _L0018:___    [       0]    --TTC_dest_ip_available. 1=TTC, 0=ECS
    • Select class of zero-suppressed bank:
      _L0025:___  0x[       8]    --class of     zs bank(8b), default value VELO(0x08) IT(0x0B) OT(0x05)

      Use 1f instead of 8 in case of the procfull bank. In addition all hit thresholds have to be set to -128 in case of the procfull bank.
    • Disable all the A-Rx cards:
      _L0042:___  0x[       0]    --DAC_set_enable, enable DAC configuration each card (A-Rx) one bit (0x1 for A-Rx0, 0x2 for A-Rx1 ... , 0xF for all)
    • Disable the auto pedestal following:
      _L0076:___    [       0]    --pedestal_auto_update_enable (1=pedestal follower)
    • Select the porper sensor type for reordering:
      _L0061:___    [       1]    --reorder_mode: 0-no reorder; 1-PHI sensor reorder; 2-R sensor reorder
    • Provide the proper start strips per process channel depending on the sensor type:
      _L0287:___    [0,64,128,683,747,811,875,939,1003,171,235,299,1024,1088,1152,1216,1280,1344,342,406,470,1365,1429,1493,1557,1621,1685,512,576,640,1707,1771,1835,1899,1963,2027]    --The start strip. values per Process_Channel

      _L0287:___    [0,64,128,192,256,320,384,448,512,512,576,640,704,768,832,896,960,1024,1024,1088,1152,1216,1280,1344,1408,1472,1536,1536,1600,1664,1728,1792,1856,1920,1984,2048]    --The start strip. values per Process_Channel

Preparation for the data taking

It is not possible to acquire the data in the recommended LHCb way since the TELL1 has to be configured such that it generates the trigger signal itself instead of the ODIN. As a consequence the ODIN bank is not in the readout stream and the event builder throws away the data. Find below a way to acquire the data nevertheless which is not really ideal and requires some help from the online group. In the long term one should run the cluster generation with a test setup or reimplement it in PVSS making use of the step function.

  1. Allocate an HLT subfarm from the VELO top panel to make sure that nobody else uses the filter farm PC you are going to use for the data analysis.
  2. Find out by clicking on the button "???" which filter farm PCs have been allocated.
  3. Ask a member of the online group to login to the first filter farm PC of the list as root.
  4. Issue the command "/sbin/ifconfig".
  5. Insert the IP address of interface eth1 as the source IP in your TELL1 configuration file:
  6. Execute the following command: source /group/velo/scripts/
  7. You should end up in the directory /group/velo/sw/cmtuser/Online_v3r2/Online/OnlineTasks/v1r4/job
  8. Edit the options file ../options/EBSetup.opts in the following way

-- OlafBehrendt - 11 Aug 2008

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2008-08-14 - OlafBehrendt
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback