Hi John, I think timing errors of 100ps or so are probably not too much of a concern, but I'd be a little worried about the ~1ns errors you're seeing. Some suggestions to try and improve timing: on software registers and brams, I've found that adding delays with register retiming enabled to the addr, data_in, we signals (same delay on each) or on the input/output of the software register can help a lot. The idea is that since you don't care about a few cycles of latency when the software accesses these resources, you can allow for more latency in the connections which should free up fast routing resources for areas where they are actually needed. The same is true of the rx_valid and out of band outputs from the XAUI, since these represent 72 lines that have to be routed around the chip, and the links have huge latency anyway. I think the compiler should be smart enough to optimize out the higher bits of your 32 bit counter driving the blinking LED, but large counters can use up fast counter resources that you might need elsewhere. Same goes for the counters in the pulse extenders because there they definitely won't be optimized down to fewer bits. You also have a relational with zero latency in that thing that is 32 bits wide, so that's going to eat up fast resources. Add a unit or two of latency. This will make the extended pulse a few counts longer than you set the register for, but in this particular case that's not an issue. Have you tried running this design? Hope this helps, these are just anecdotal things that I've found to help, but not sure if my reasoning is actually sound. Glenn
On Thu, Apr 24, 2008 at 7:45 AM, John Ford <[email protected]> wrote: > > > Hi all. We're closing in on a release of our pulsar machine. We have > > been ignoring the timing errors in the builds, but I want to clean them up > > before we release the system for use. I have attached the model and a > > timing report from the latest model, an 8K point pfb/fft, with 2 xaui > > ports inputting data samples, some shared bram for debugging, some > > software registers, and output of the specral information over bee2 pipes > > to another fpga chip. These timing errors seem to be coming from inside > > the system, in the first instance from some fifo's internal to the system, > > and in the second case from the PFB coefficient generator. > > > > Can you suggest ways to fix these errors? Or should I just ignore them? > > (Seems like a *bad* idea...) > > Well, it would be helpful if I had sent the attachments... > > Here they are! > > > > > Thanks! > > > > John > > > > > > >

