Platform SG13G2 misses antenna diode definition in the LEF
Description
In the ORFS the repair_antennas command is used for antenna repair. This requires an ANTENNACELL to be declared in the LEF, see https://openroad.readthedocs.io/en/latest/main/src/grt/README.html#repair-antennas.
In the moment, this seems missing.
Suggested Solution
Add ANTENNACELL to sg13g2_stdcell.lef (at least I think this would be the right place, but I am not sure about this). @KrzysztofHerman please take a look into this.
It would also be good if antenna diodes could be placed at every input, but since only p-type antenna diodes are available in the standard cells that could lead to trouble, if a block is powered down and ties the inputs to VSS via the antenna diodes.
Additional Context
No response
The lack of a cell should be filed against https://github.com/IHP-GmbH/IHP-Open-PDK. If such a cell exists then this request could be fufilled.
Created an issue: https://github.com/IHP-GmbH/IHP-Open-PDK/issues/92
I propose to keep both issues open, one to get the antenna diode in the LEF, and then check that ORFS is actually using it.
It looks like the upstream has one: https://github.com/IHP-GmbH/IHP-Open-PDK/blob/dceb7e6bd1a877182c3ba32c2e238be08368fa3f/ihp-sg13g2/libs.ref/sg13g2_stdcell/lef/sg13g2_stdcell.lef#L1099
That cell exists in our copy but lacks ANTENNACELL. I'll see if we can pull in the update.
https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/pull/1987
@hpretl @maliberty @rovinski since there was an update on different views used for digital design there is also the ANTENNACELL present there. I am currently testing it and it still throws antenna issues for large designs (ibex, aes, riscv32i). The updated LEF is here https://github.com/KrzysztofHerman/OpenROAD-flow-scripts/blob/April24_Update/flow/platforms/ihp-sg13g2/lef/sg13g2_stdcell.lef
The name of the cell is sg13g2_antennanp
I've merged https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/pull/1987 so the antennacell is there. @hpretl do you want to make any necessary ORFS changes and see if it resolves your concern?
@maliberty I wouldn't really know what to do except run the flow and see what happens, but @KrzysztofHerman already tried that (see above). The question is why there are still antenna fails left.
What does "throws antenna issues" mean? Is it that the tool fails or just that not all issues were fixed? We do have some improvements in antenna fixing in progress.
There are still antenna violations in the 5_1_grt.log, something like this: Required ratio: 200.00 (Cumulative area) (VIOLATED). I have also verified the final netlist 6_final.v and there are no cells named sg13g2_antennanp.
@eder-matheus I ran ihp-sg13g2/riscv32i and I see
Repair antennas...
[INFO GRT-0012] Found 0 antenna violations.
but the subsequent check shows violations.
@maliberty I've found the issue. The API used by repair_antennas to get the violations from antenna_checker is broken. It only computes the PAR values, not the CAR. If you look at the logs, there are only CAR violations. I'll try to fix it. Hopefully, it will be a small update. But this is something to remember in the new antenna checker (@luis201420 ).
@eder-matheus is this resolved now that the new checker is in?