GitHub
04/10/2023, 9:40 PMANTENNAGATEAREA
defined in the standard cells input pins in the LEF view to determine whether or not antenna violations exist. Also, repair_antennas
function which is the main solution for antenna violations works the same way. Both work on an abstract (not hierarchal) DEF and the LEF views of the macros or standard cells included in that DEF.
So, if a macro does not have ANTENNAGATEAREA
defined on its input pins, there will exist antenna violations on the nets connected to these pins and those violations will neither be detected nor repaired.
Proposal
One solution is to make antenna checks and repairs work on hierarchal DEFs; so, macros will not be abstracted, and every net will have ANTENNAGATEAREA
on the pin of the standard cell it is connected to.
Another, and much easier, solution is to add ANTENNAGATEAREA
parameters to the abstracted LEF of the macros depending on the standard cells connected to these pins.
I did a naive and easy fix to this by adding an ANTENNAGATEAREA
on every input pin on every macro in the design using the smallest gate area in the SCL. So, basically I just inserted this line on every input pin on every macro's LEF view:
ANTENNAGATEAREA 0.126000 ;
This was done using this script.
The-OpenROAD-Project/OpenLane