Hi Ricardo > I am trying to build a 2-pol spectrometer in a ROACH 1. I started with > the Casper mlib_devel PFB+FFT but I ran out of slices so I swap the > PFB for the one used at VEGAS (taken from the monroe_library_latest) > on the git repo.
Just to let you know in case you didn't that there are various parameter options for the fft and pfb_fir that allow you to trade off usage of one resource for another (e.g You can force the adders in the fft butterfly to be implemented in DSP48Es rather than in slices. You can also force delays and coefficients at fft stages to be implemented in BRAMs instead of slices). > The model compiled but I am having problems with synchronization. The > zero channel jumps around every time I run the bof (It can be > anywhere). To debug this, you may want to try the following; * Make a new design * Make 4 counters, the first one starting from 0, the second from 1 etc. Make the step size 4, and make them increment to 2^N-4, 2^N-3, 2^N-2, 2^N-1 (where N is the size of your FFT). * Copy all the logic (accumulator etc) after the FFT in your design to your new design * Make the counters the real and imaginary part of the input to your logic. * Make a sync generator that outputs a sync exactly every accumulation (e.g 2**12/4*512). * If you simulate with this, or compile it and run it on the FPGA, you should be able to check if everything after the FFT works correctly as you can work out exactly what the output should be. This should help tell you where the problem is. We often build these types of tests into our designs (if there is logic available). We have blocks that generate test data (TVGs or test vector generators) in the data path with a multiplexor allowing us to use real data or the test data. This allows us to verify parts of our design and help isolate bugs. It seems that you don't have much logic available though, so that is why making a separate design with only part of your design would be easier (quicker to compile with no chance of running out of space). Good luck and regards Andrew

