Friday, October 16, 2009

Does global mode hold fixing make sense?

Yes :
-----
1. It's supported in most CAD tools.
2. Optimizations are still ongoing in the physical design flow.
3. A lot of hold buffers can be inserted in the data base quite easily before it is routed.
4. This would reduce subsequent eco size post route and would enable quicker and easier converge on remaining hold violations and DRC.

No:
---
1. A Huge number of Hold Buffers are added. This will contribute to a lot more power and area.
2. Elmore metric has some serious limitations in terms of accuracy.
Emperically it has been observed that elmore delay is way off for nodes close to the driving point.

If a CAD flow can support fast and efficient ECO routing and DRC cleanup, would just do it post route to avoid over designing.

Since we dont live in a ideal world, most people end up fixing hold in global mode which is far from optimal especially in the smaller technology nodes. (we end up overbuffering by atleast 40-60% using elmore delay model in 45nm).

3 comments:

John said...

"Global" means based on global routing estimation?

How about fixing to Global but with less margin, so you're not flooding in the buffers. Then, post-route, put in the desired margin and fix fewer remaining violations.

John Busco

Nick said...

Nice idea and it has worked for me quite a bit.

But unfortunately hold is a killer because there are a lot more hold failing paths in the 0-20 ps range than in the 80-100 ps range.

Less margin in global mode would mean (a lot less hold buffers in global mode) a lot more hold buffers in final mode.

Nick said...

ya...global is with global routing estimates (delay model= elmore!)