fpgadesign.io #8 - Reading a Timing Report
π Welcome back.
β‘ Concept of the Week: Learn to Focus on the Important Aspects of the Timing Report
A 250 MHz path fails by 0.482 ns.
The data path is 3.847 ns: 0.461 ns of logic and 3.386 ns of routing.
Delete every LUT on that path and it still fails.
The time went into wire, and wire depends on where the placer put the registers, not on how the RTL was written. A pipeline stage spends a cycle without asking why two registers that talk every cycle ended up far apart.
Read the report in this order: slack, then logic versus route, then skew.
Routing above about 60% of the clock period means a placement problem, not a logic problem.
Covered in - Ch4 Β§4.6.6 (pp.160-161) and the Author's Note on p.152.
π― Interview Question of the Week:
"Beyond logic levels, what other factors in an FPGA timing report contribute to a path's overall delay?"
Open with the logic/route split, then name what feeds route delay (distance, fanout, congestion) and skew. [Q.101, Ch4 (p.170)].
π§© Design Question of the Week
A start pulse must reach 64 blocks across a large device at 400 MHz, and the farthest routes take longer than one clock period. All 64 must see the pulse in the same cycle. Make timing close, then convince a reviewer that none can ever be a cycle early or late, even across a reset mid-flight.
Reply with your approach. Every email gets read, and every one gets an answer. π
π ICYMI on LinkedIn
π‘ Seen this line before? One missing character, and the compiler quietly creates a wire connected to nothing. β Link to the post.
π‘ On the Radar
π£ Lattice launches Mach-N2 secure control FPGAs, with post-quantum crypto and sub-30 ms boot (Sep 16).
Until next time,
Milind
π Get the book | LinkedIn |βοΈ Email
π° Missed an issue? Read previous newsletters.