Last-minute chip design changes are always unfortunate, whether right before cutting masks or, worse yet, after you get silicon back. Some major tool environments provide engineering change order (ECO) support, some don’t. But it’s always a less-than-perfect scenario: an ideal top-down flow would maintain the chain of refinement from the most abstract representation down to the final details. Making a change only at the low level breaks that.
But the practical fact is that, if you’ve spent weeks and months getting things just the way you want them – with the exception of those annoying issues you just found – you don’t want to risk undoing all that careful work by taking a trip back to the abstract level and repeating the flow.
So you grit your teeth and push a couple polygons or change some transistor characteristics at the lowest level and chalk it up to “you gotta do what you gotta do.”
A small company called Dorado is trying to help out with these last minute ECO tweaks with a slightly unfortunately-named tool called Tweaker. (I suppose it can stay up for days in a row, but hopefully it doesn’t suffer from unpredictability or a nasty crash after a few days…)
Tweaker is set up to automatically fix a number of issues automatically and more in a manually-guided manner. Its scope includes functional, timing, and power tweaks. Changes may be made at the RTL level, where they attempt to minimize the scope of any resultant changes, or at the physical level.
In my discussion with them at DAC, it seems that low-level physical tweaks can’t be automatically preserved in the face of, say, a synthesis change. For example, if you make a low-level change and then have to make a functional (RTL) tweak that affects the same cells, you’ll have to redo the low-level changes after the RTL tweak re-synthesizes. But a TCL script can be used, which should save time (assuming no name changes, etc.).
It can work pre-mask by trying to preserve the chip area or post-silicon by taking advantage of spare cells.
They’ve managed to convince TSMC of its value…
An important note, however: if you want to convince your boss to make this tool available for you, make sure to say, “I need Tweaker to make some quick design changes.” Not, “I need a tweaker to make some quick design changes.” Big difference.