[Halld-tracking-hw] fADC125 FE firmware
Naomi Jarvis
nsj at cmu.edu
Tue Aug 6 16:14:33 EDT 2013
Hi Cody, Gerard,
Yes I think it does need a head-start of 5 samples. When upsampling a smaller chunk of the data, 20 samples total was enough, starting 10 before the initial hit threshold. There is a little more info here https://halldweb1.jlab.org/wiki/index.php/LE_algo and Gerard's original code is still here http://npvm.ceem.indiana.edu/~gvisser/GlueX/rdat.c I'll send you (Cody&Beni) my c++ code when I've cleaned it up a bit.
Naomi.
On Aug 6, 2013, at 12:50 PM, Gerard Visser wrote:
> Hi Cody,
> If the upsampling is done continuously then the processing has to be done in
> the frontend FPGA's, obviously you don't want to send 4-5x as much data over the
> daisy-chain to "processor" FPGA.
> Perhaps you will find that you can fit all the required processing in the
> frontend FPGA's. This would be nice, and would remove any concerns about the
> readout daisy-chain bandwidth. In this case it is simplest to upsample
> continuously. And probably to process on-the-fly (although you'll have to think
> how you will handle overlapping windows from closely spaced triggers, e.g. will
> need multiple copies of the integrator/accumulator).
> If that is not the plan, if you would put the processing in the "processor"
> FPGA and send raw samples from the frontend to the processor FPGA as was the
> original intention, then the upsampling needs to be done on a small region. I
> think this will be perfectly feasible... Upsampling just consists of replicating
> samples and then passing through an FIR filter so if the filter is short enough
> not many original samples are needed to fully prime the pipeline. Perhaps as
> little as 5 or so? Clearly the FIR coefficient vector needs to be chosen
> carefully. Naomi is probably (?) still using the original one that I calculated
> but a shorter one may give good enough performance. Of course this can and
> should be investigated offline with a given raw data set analyzed with varying
> algorithms.
>
> - Gerard
>
> p.s. Details on the frontend to processor daisy-chain: I expect this to be able
> to run at 80MHz, possibly 100MHz or more. There are 18 bits, but let's say 2 are
> just used as flags to manage the transfer, so this is >160 MB/s. There is one of
> these per main/mezzanine set of 36 channels, i.e. total data rate into
> "processor" FPGA is limited to 320 MB/s (or 400 MB/s if you can get 100 MHz, etc.)
>
> p.s.2. For filter design I have used "meteor" which is available at
> http://www.cs.princeton.edu/~ken/meteor.html .
>
> On 8/6/2013 11:25 AM, Cody Dickover wrote:
>>
>> Hi Gerard,
>>
> ...>
>> 1. There was some question at the tracking meeting about up-sampling on a constant basis vs. some small region and the headroom involved for that. I assume we are in the green on that, but am not familiar with the code nor the implementation. Do you have some detail on that?
>
> _______________________________________________
> Halld-tracking-hw mailing list
> Halld-tracking-hw at jlab.org
> https://mailman.jlab.org/mailman/listinfo/halld-tracking-hw
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.jlab.org/pipermail/halld-tracking-hw/attachments/20130806/43288299/attachment.html
More information about the Halld-tracking-hw
mailing list