# Presentation: 683930

## DFEA Status and Algorithm

## DFEA Hardware Status

- 88 DFEA Daughterboards fabricated by ADCO Circuits (includes 8 spares)
- 2 Daughterboards have one or more open nets; these will be returned to ADCO for rework.
- All 80 Daughterboards are attached to 40 DFE Motherboards and tested – 11 have minor problems and are currently being tested at PREP.
- Approximately 16 DFEA Motherboards have been installed and powered up on the platform for the past month.

## DFEA Firmware: What’s Done

- Each of the four track finder FPGAs has been successfully compiled in Xilinx Foundation.
- The “maximum” FPGA has been extensively tested using a datapump.
- CPS Axial cluster finder code is done (supports dual thresholds).
- A pipeline to perform track-cluster matching has been designed and functionally simulated.  This matches 24 tracks against 6 high and 6 low clusters and consumes 13% of an XCV300.

## DFEA Firmware: What’s Left

- Modify cluster finder for single threshold.
- Modify cluster-track matcher for single threshold.
- Design FIFOs to store clusters and tracks for readout following L1 Accept.
- Format L1 and L2 output to match Manuel’s specification.
- Support sharing of isolation information between adjacent DFEAs.
- Redesign the Muon CFT Track sorter using FIFOs instead of LIFOs so track order is not scrambled.

## DFEA Algorithm Terminology

- There are four Pt Bins: Max, High, Medium and Low.
- Each Pt Bin is further divided into Sub-Bins.  In the Medium and Low Pt Bins each Sub-bin corresponds to an A-layer offset; in Max and High Pt Bins the Sub-Bin groupings are based on calculated Pt ranges.

## Serializing Tracks

- Track Equations are represented as a two dimensional array 44 wide (Phi) and 8 tall (±4 Sub-bins).

## Serializing Tracks

- The 44x8 array is subdivided into 16 1x22 blocks:

## Serializing Tracks

- Logic selects the first six blocks that contain one or more found tracks; these blocks are sent down a pipeline one at a time.

## Serialization Pipeline Operation

- If there are no tracks in the block, check the stack.  If a track is present on the stack report it.
- If there is only one track in a block it is reported.
- If there are two tracks in a block the leftmost track is reported and the rightmost track pushed onto a stack.
- If there are three or more tracks in a block the leftmost is reported, the rightmost is pushed onto the stack, and the tracks in the middle are lost.

## Serialization Pipeline (continued)

- In the above array 8 tracks are found, however, only six tracks are reported as follows:
- Track A is reported.
- Track B is reported, C is pushed on the stack.
- Track D is reported
- Track E is reported, G is pushed on the stack, F is Lost.
- Track H is reported.
- Track G is popped from the stack and reported.  Stack is then cleared.

## Cluster Finder

- The CPS Axial cluster finder sees 16 strips from the Home sector and 8 strips each from Previous and Next sectors.
- The cluster finder reports the first six rightmost and first six leftmost clusters, for a total of up to 12 clusters.

## Track and Cluster Matching

- Tracks are extrapolated out to the CPS Axial radius.  The extrapolation is takes into account which Pt Bin the track belongs to.
- If the extrapolated track passes within three strips of a cluster centroid, the track and cluster are considered matched.

## Reporting Tracks to Muon

- The Muon track sorter selects the 6 highest Pt tracks from all four Pt Bins.
- Tracks arrive one per clock cycle from each of the four Pt Bins.
- Muon Track Sorter latency is two clock cycles.
- The reported tracks are not sorted by Pt Bin.  That is, all of the Max tracks are reported first, then all of the High tracks, Medium tracks, etc.
- Within each Pt Bin the tracks should be considered UNSORTED. This is due in part to the CFT track serialization scheme previously discussed in this presentation.  Muon does not care about this slight scrambling.
- For specifics on the selection algorithm, see my engineering note 1999-02-18a.