OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

grt: fix bug when diode cell has definitions in multiple liberty files

Open eder-matheus opened this issue 2 years ago • 4 comments

Signed-off-by: Eder Monteiro [email protected]

Fix https://github.com/The-OpenROAD-Project/OpenROAD/issues/2135

eder-matheus avatar Aug 10 '22 21:08 eder-matheus

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).

rovinski avatar Aug 10 '22 23:08 rovinski

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.

eder-matheus avatar Aug 11 '22 00:08 eder-matheus

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.

maliberty avatar Aug 11 '22 03:08 maliberty

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.

rovinski avatar Aug 11 '22 04:08 rovinski

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 avatar Aug 11 '22 14:08 eder-matheus

@eder-matheus does ORFS need updating?

maliberty avatar Aug 11 '22 15:08 maliberty

@eder-matheus does ORFS need updating?

No, repair_antennas isn't enabled in the ORFS

eder-matheus avatar Aug 11 '22 15:08 eder-matheus