OpenROAD
OpenROAD copied to clipboard
grt: fix bug when diode cell has definitions in multiple liberty files
Signed-off-by: Eder Monteiro [email protected]
Fix https://github.com/The-OpenROAD-Project/OpenROAD/issues/2135
Is a user-specified port for a diode even necessary? According to the LEF/DEF manual, ANTENNACELL
should only have one input (which isn't power/ground).
Is a user-specified port for a diode even necessary? According to the LEF/DEF manual,
ANTENNACELL
should only have one input (which isn't power/ground).
repair_antenna already detects a ANTENNACELL if no input is given for the diode name. If that is the case for every possible case, I can just remove this parameter. But notice that a few technologies don't have the ANTENNACELL defined on their LEF (which is the case in the testcase from https://github.com/The-OpenROAD-Project/OpenROAD/issues/2135). A bunch of things can start to break.
repair_antenna already detects a ANTENNACELL if no input is given for the diode name. If that is the case for every possible case, I can just remove this parameter. But notice that a few technologies don't have the ANTENNACELL defined on their LEF (which is the case in the testcase from #2135). A bunch of things can start to break.
I don't think you need to remove the option for cases like this. However I think we don't need to require the pin name as I don't expect any cell used as an antenna to have extra non-pg pins.
Cherry fixed the LEF in ORFS but it wasn't upstreamed to open-pdks. I'll open an issue there.
I agree with Matt. Specifying the port name should always be a fallback option. If the cell has more than one non-pg port, the user is using an invalid antenna cell. I would produce a warning that the user is trying to use an improperly defined cell.
Moving from lib to lef is a good call for this. I was going to ask you to ensure that you use the default corner for the cell definition but you sidestepped that entirely.
@donn Notice that after this is merged, the OpenLane scripts need to be updated by removing the pin name. Do you want me to make this change? I'm not sure if it's ok to bump OpenROAD submodule in any PR
@eder-matheus does ORFS need updating?
@eder-matheus does ORFS need updating?
No, repair_antennas isn't enabled in the ORFS