Hi
> On Jan 20, 2016, at 6:28 AM, Attila Kinali <[email protected]> wrote: > > On Mon, 18 Jan 2016 14:34:56 -0500 > Bob Camp <[email protected]> wrote: > >> The nice thing about a FPGA (or CPLD) is that they come with a cute timing >> analyzer. You can indeed >> answer questions like this with a quite high level of confidence. That >> *assumes* that you bother to set >> up the timing analyzer :) > > I wouldn't trust that timing analyzer too much. We just build a TDC using > an Cyclone 4 FPGA here (actually, porting the OHWR delay line TDC from > Spartan to Cyclone) and the timing analysis was... weird, at best. > Been there / done that on both parts. The timing analyzer is doing what it is supposed to do = analyze the worst case delays against the constraints you provided. It then makes sure that the data gets where it needs to go “in time” for it to be correct. The approach is typical semiconductor industry “six sigma over a billion cycles on a billion devices each with a billion gates” sort of thing. The result is a part that does indeed work. It’s not much use for predicting things like jitter. > Although the average delay was about right (40ps and 120ps) it only > showed a two element structure, ie the delays of the chain were > "40ps, 120ps, 40ps, 120ps,..." without any higher level structure > (which should have shown). The test results showed a quite more > detailed structure with few delays over 100ps and most being between > 20ps and 80ps. Some of which are fabric (routing) delays). Some of which are simply the analog nature of digital circuits (noise matters, gain matters). Some of them may be a result of auto routing the design rather than manually placing everything. (Yes manual routing can help. It’s a major pain for fairly little gain). > Interestingly, some were close to 0ps, for which > we have no explanation good explanation. The explanation is fairly simple, you have a clock and a “data pulse” flying down the delay / carry chain. With an ASIC you could make sure they take a very linear route through the silicon. With a FPGA you can’t do that. Both are routed through this and that. When you get down to the ps level, there is no guarantee which one gets there first. Even if there was, the aperture time on the flip flops is sensitive to things like voltage and temperature. What you see this time may not be what you see that time. There are a whole bunch of papers on all of this. Bottom line, not all indicated data patterns can be placed in a nice orderly plot ( = you don’t know which one came first). About the only way to order them is to count the zeros. Not perfect, but about the best you can do. Bob > > Attila Kinali > > -- > It is upon moral qualities that a society is ultimately founded. All > the prosperity and technological sophistication in the world is of no > use without that foundation. > -- Miss Matheson, The Diamond Age, Neil Stephenson > _______________________________________________ > time-nuts mailing list -- [email protected] > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there. _______________________________________________ time-nuts mailing list -- [email protected] To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
