-
Notifications
You must be signed in to change notification settings - Fork 499
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a decap insertion routine #4970
Comments
What's the benefit over just using Decap cells as fill cells? I imagine there's a leakage benefit, but how much? |
One challenge I see is that the amount of decap provided is not present in the lef or lib (at least in sky130hd). Where is that typically found? The amount of leakage is given
|
I suppose you could read the cdl and spice models and try to figure it out but 😧 |
The leakage can be very significant in advanced nodes. |
we have the decap values calculated internally for IHP SG13G2 OpenPDK:
please propose a place to store these.. |
I suspect it would have to be a command argument as I don't see anything to describe it in Liberty or LEF. |
I'm thinking something like
A first version could just spread them evenly and later versions could consider IR drop. |
Having a |
Why not just extend liberty to add a new field? |
Or read it out of a lef property |
You would have to modify your PDK which is generally a bad idea and often intentionally impossible (no user write permission). |
you could detect the cells automatically with |
@QuantamHD @maliberty I second the not having to modify the PDK (this would be bad practice). |
That's essentially what I proposed with |
Ohh, I missed that. Seems like a reasonable method. |
Yeah, but if the IHP people want to add a property to their LEF that would make setup easier. I think the command is also useful |
Let's start with the command as that will cover all platforms. PDK setup is being done by IHP already so I expect it isn't a big help to move the data to Liberty but I'm open. |
I just checked one of my old projects and decap was added with the following interface:
I don't think Lib or LEF have a formal way of specifying the decap capacitance. |
You can use |
yes, this is the syntax (taken from here): |
OpenROAD doesn't currently have any automated method for inserting decap cells. It could provide a simple routine after static IR drop analysis to insert a user-specified amount of decap (in Liberty capacitance units) around instances with the highest static IR drop because there is a high correlation to the worst dynamic IR drop instances.
I can imagine a simple, greedy approach where decap cells are added within X um of the worst instances until the user-provided threshold is met. Note that decap most useful when it is connected to the power rail of the problematic instance (so same row or +/- 1 row depending on the row orientation).
Originally posted by @rovinski in The-OpenROAD-Project/OpenROAD-flow-scripts#1945 (comment)
The text was updated successfully, but these errors were encountered: