-
Updated: $Date: 2002/06/17 21:53:29 $ (UTC)
-
Firmware desiderata for SVT GhostBuster board
-
Compute beam subtraction internally with 8-bit multiply; use FRAM for sine/cosine table; double-buffer the table of 12 numbers; subtract the beam from each track as it comes in (as now)
-
10-bit by 10-bit multiply (including signs) uses 3% of GB logic, can run at 78 MHz
-
Prefilter tracks on pt, chisq, quality
-
Memory = 288 tracks * (147 bits + "figure of merit"); stores track with best FOM (or 0 for no track)
-
FIFO = 9 bits wide, up to 288 deep; stores list of unique track IDs for current event
-
On RECOVER, zero the memory (slow)
-
When a track comes in, see if its memory location is zero; if so, write ID to FIFO
-
Better of (existing track, new track) is stored in memory
-
At end of event, read list of IDs from FIFO; for each ID, output corresponding track, and then zero the memory for next event
-
Limit on total number of SVT tracks?
-
Capture cable data into VME buffer
-
Using on-chip RAM, can fit 1K words per buffer
-
if overflows, write actual word count, actual EE word
-
Absorb functionality of XTRPemu + XTRP BC check + XTRP track list diagnostic readout
-
upon L1A: reset timing counter, write L1A to FIFO
-
16-bit timing counters go to 2.2 msec, should be enough!
-
option to fake L1A via VME
-
count L1A/buffer since VME clear / since RECOVER
-
count sync errors since VME clear / since RECOVER
-
Use internal Altera FIFO to hold SVT input data (read from Cypress FIFO), so that FIFO control logic is simple
-
initial state: wait for L1A
-
then read L1A, latch time, zero svt word count, wait for (a) svt fifo nonempty, (b) timeout, or (c) "skip svt" mode enabled
-
read svt fifo until EE seen