Closed arthurjolo closed 2 weeks ago
My fix to the checker revealed this latent issue.
Oh I unassigned you sorry for that. Eder asked me to create this issue and assign it to him.
It seems that the problem is not on the lagalizer it self, but the fact that the Repair Antenna does not make a call to the legalizer, it tries to place the cell with a already legal position, however the Repair Antenna does not considers that we can have rows with different heights.
In that case I'll leave it with @eder-matheus but I see RepairAntennas::legalizePlacedCells() - it is not used?
In that case I'll leave it with @eder-matheus but I see RepairAntennas::legalizePlacedCells() - it is not used?
It's used to legalize cells that may overlap with diodes and legalize diodes placed outside rows (out of die area or inside a macro halo). Most of the diodes will be placed as fixed insts, since we want them to be as near as possible to the violated pin and don't want DPL changing their positions.
I will try to place them properly considering the multi-height rows, but as a last resource I can set the diodes in invalid rows as placed, leaving it to DPL to legalize.
Describe the bug
When running the design aes-hybrid gf180 the Repair Antennas is inserting diodes with an illegal position, an example is the highlighted cell in green.
Expected Behavior
Repair Antennas place the diodes with a legal position.
Environment
To Reproduce
Run aes-hybrid on OpenROAD flow scripts with the latest OpenROAD.
Relevant log output
No response
Screenshots
Additional Context
No response