Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

General FELIX Documentations

Related DAQ/Electronics Documentations

B33 Integration FELIX Setup


B84 FELIX Test Setup 




FELIX Configuration Process

  1. Assemble the test stand according to figures from the "B84 FELIX Test Setup" section:
    1. Plug any of MTP12_CH1_STX cables where X = 1, 2, 3 or 4 (labeled as "1", "2", "3" or "4") into the VLDB's RX. Setup at SLAC uses X = 1.
    2. Plug mini-HDMI in G0-LinkX on VLDB, where X = 0, 2, 4 or 6. The X value will further be used as "TX" parameter in YARR configs.
    3. Use J77 for mini-HDMI and J93 for mini-DP on the interface board (more details in the board's schematics why). Mini-HDMI and mini-DP ports standing one against another are coupled.

  2. Configure VLDB (GUI is needed for java):
    1. Supply 5VCC with 1A limit in current to VLDB. With 5V input voltage a VLDB may consume as low as 300mA. Once the VLDB and FELIX configuration processes are done, the board consumes about 450mA.
    2. Use the .jar programmer file and the txt config file.
    3. In the command line run:
      $ java -jar programmerv2.20180725.jar
      (Java GUI will appear) 
    4. Click "import i..." in the top left corner and select the txt config file.
    5. Click "Write GBTX". After the process is done, GUI should look like the attached screenshot




  3. Update/install the most recent Felix firmware (assuming Vivado Lab is installed, and one has access to GUI):
    1. Plug in a JTAG-USB cable in a correct port on the FLX-712 board.

      SLAC FLX-712 Board

      ANL FLX-712 Diagram

      Xilinx Dongle:

      No LED light: PC doesn't see the dongle. Check drivers.

      Yellow LED: No target. Check JTAG connections.

      Green LED: Good! Can Proceed.

    2. Get Felix firmware from CERN Box.
    3. In Vivado Lab detect the target, use the .bit file to configure.
    4. Reboot the PC.
    5. Unplug the MTP12-CH1-TXA fiber from the VLDB and make sure you observe red light coming from the fiber. Plug in the fiber back to the VLDB's RX.
    6. If there is no GUI and/or Vivado on the Felix server, one may use an external PC to configure the FLX-712 board: keep the board in the server, plug the Xilinx USB dongle into the external PC and run Vivado from there.
    7. Now you should see the RXDATA LED lighting with dim red color.





  4. Set up FELIX.
    Depends on the number of FLX cards and their actual locations (PCIe ports) in your PC, option -c / -d in the following commands may vary. In the simplest case of one FLX card follow use same values as below.
    1. Run from /home/USER/FELIX/felix-*/x86_64-centos7-gcc8-opt/
      $ source "path_to_felix"/source.sh
    2. Run from
      $ flx-init -c0 
      Run the init command only once. If you run it twice or more in one session, you need to reboot the computer.
      Get information about your FELIX:
      $ flx-info -c0
      May omit the info command, but it is useful to crocs-check that everything is ok.
    3. Check polarity of the channels:
      $ flx-config -d0 list | grep POLARITY
      $ flx-config -d1 list | grep POLARITY
      TX polarity must be inverted, otherwise readout is not possible.
      If you observe "
      GBT-TXPOLARITY 0x000000000000", run:
      $ flx-config -d1 set GBT-TXPOLARITY=0xffffffffffffffff 
      $ flx-config -d1 set GBT-TXPOLARITY=0xffffffffffffffff 
    4. If everything was done properly, the other two LEDs - TXRDY and RXRDY - should light up:





  5. Configure E-links in elinkconfig. 
    elinckconfig tool is described in the Felix manual - Section 6.1. 
    The procedure must be done after each system reboot.
    TL;DR:
    1. $ source "path_to_felix"/source.sh (if not done yet)
    2. $ elinkconfig
    3. elinkconfig GUI appears:

      Initial state of the elinkconfig

      Target state of the elinkconfig

    4. Click "FULLmode" in the top panel. The left panel will collapse into just one box named "Enable FULLMODE": check the small box, and the entire block will turn orange.
    5. Check "TTC-to_Host (63b)" box in the top panel.
    6. Uncheck all the Epaths in the right panel: select "Egroup 0" on the bottom right, click "Disable" on the bottom right, click "Relp 2 All" on the bottom right; uncheck "EC (3f)" by hand.
    7. Click "2-bit" drop down button under the Egroup 0 and select "4-bit".
    8. Check Egroup0-EpathX according to your setup (G0-LinkX mini-HMDI ports on the VLDB).
    9. Click "TH_FanOut..." on the top menu. New window will appear, click "None" and "OK". Repeat same for "FH_FanOut".

      "ToHost FanOut" Initial state (same for "FromHost")

      "ToHost FanOut" Target state (same for "FromHost")

    10. Click "Repl 2 All" on the top panel.
    11. Save the configuration: click "Generate/Update" on the top panels. new window will appear, click the top "Upload" button and "Close".
    12. Click "FLX-device" breakdown menu on the top panel, select 1 instead of 0. Repeat same procedure for the device 1. (NOTE: number of devices and their actual address depend on the number of FLX-712 cards used in a server. In case of one card use only 0 and 1.)


  6. Check some FELIX registers:
    1. flx-config -d0 list | grep GBT_GENERAL_CTRL
      If returns other than 0x0000000000000004, run:
      flx-config -d0 set GBT_GENERAL_CTRL=0x4
    2. flx-config -d0 list | grep GBT_ALIGNMENT_DONE
      returns 0x0..f..0 when an RD53a SCC is connected (one "f" for each SCC).
    3. flx-config -d0 list | grep GBT_RXCDR_LOCK
      returns 0x0..f..0 when an RD53a SCC is connected (one "f" for each SCC). 


Running YARR Scans with FELIX

Build YARR.

Get the correct version of YARR SW - to be updated.

...