Dear all,
I'm trying to place bond pads into my design by following this solution.
What I did is the following:
1- I have added the following at the top of my IO pad LEF file:
PROPERTYDEFINITIONS
PIN bondPadOuter STRING;
PIN bondPadMiddle STRING;
PIN bondPadInner STRING;
PIN ioCellOriginX REAL;
PIN ioCellOriginY REAL;
MACRO ioCellOffsetX REAL;
MACRO ioCellOffsetY REAL;
END PROPERTYDEFINITIONS
2- In the definition of the MACRO that I am using, I added the following (the red text) in the PIN PAD section:
MACRO PDDW0208CDG
CLASS PAD ;
FOREIGN PDDW0208CDG 0.000 0.000 ;
ORIGIN 0.000 0.000 ;
SIZE 80.000 BY 120.000 ;
SYMMETRY X Y R90 ;
SITE pad ;
PIN PE
DIRECTION INPUT ;
PORT
LAYER METAL5 ;
RECT 66.730 119.000 68.730 120.000 ;
LAYER METAL4 ;
RECT 66.730 119.000 68.730 120.000 ;
LAYER METAL3 ;
RECT 66.730 119.000 68.730 120.000 ;
LAYER METAL2 ;
RECT 66.730 119.000 68.730 120.000 ;
LAYER METAL1 ;
RECT 66.730 119.000 68.730 120.000 ;
END
ANTENNAGATEAREA 5.1450 LAYER METAL1 ;
ANTENNAPARTIALMETALSIDEAREA 26.5212 LAYER METAL1 ;
ANTENNAPARTIALCUTAREA 0.2028 LAYER VIA12 ;
ANTENNAGATEAREA 5.1450 LAYER METAL2 ;
ANTENNAPARTIALMETALSIDEAREA 3.1800 LAYER METAL2 ;
ANTENNAPARTIALCUTAREA 0.2028 LAYER VIA23 ;
ANTENNAGATEAREA 5.1450 LAYER METAL3 ;
ANTENNAPARTIALMETALSIDEAREA 3.1800 LAYER METAL3 ;
ANTENNAPARTIALCUTAREA 0.2028 LAYER VIA34 ;
ANTENNAGATEAREA 5.1450 LAYER METAL4 ;
ANTENNAPARTIALMETALSIDEAREA 3.1800 LAYER METAL4 ;
ANTENNAPARTIALCUTAREA 0.3888 LAYER VIA45 ;
ANTENNAGATEAREA 5.1450 LAYER METAL5 ;
ANTENNAPARTIALMETALSIDEAREA 14.0400 LAYER METAL5 ;
END PE
PIN PAD
DIRECTION INOUT ;
PORT
LAYER METAL5 ;
RECT 4.900 0.000 75.100 4.870 ;
LAYER METAL4 ;
RECT 4.900 0.000 75.100 4.870 ;
LAYER METAL3 ;
RECT 4.900 0.000 75.100 4.870 ;
LAYER METAL2 ;
RECT 4.900 0.000 75.100 4.870 ;
END
ANTENNAGATEAREA 14.4000 LAYER METAL2 ;
ANTENNADIFFAREA 1914.0232 LAYER METAL2 ;
ANTENNAPARTIALMETALSIDEAREA 823.5882 LAYER METAL2 ;
ANTENNAPARTIALCUTAREA 39.7488 LAYER VIA23 ;
ANTENNAGATEAREA 14.4000 LAYER METAL3 ;
ANTENNADIFFAREA 1914.0232 LAYER METAL3 ;
ANTENNAPARTIALMETALSIDEAREA 79.5742 LAYER METAL3 ;
ANTENNAPARTIALCUTAREA 72.4672 LAYER VIA34 ;
ANTENNAGATEAREA 14.4000 LAYER METAL4 ;
ANTENNADIFFAREA 1914.0232 LAYER METAL4 ;
ANTENNAPARTIALMETALSIDEAREA 79.5742 LAYER METAL4 ;
ANTENNAPARTIALCUTAREA 34.7328 LAYER VIA45 ;
ANTENNAGATEAREA 14.4000 LAYER METAL5 ;
ANTENNADIFFAREA 1914.0232 LAYER METAL5 ;
ANTENNAPARTIALMETALSIDEAREA 351.3276 LAYER METAL5 ;
PROPERTY bondPadOuter "PAD80LU_TRL" ;
PROPERTY bondPadMiddle "PAD80LU_TRL" ;
PROPERTY bondPadInner "PAD80LU_TRL" ;
PROPERTY ioCellOriginX 25.0 ;
PROPERTY ioCellOriginY 0.0 ;
END PAD
PIN OEN
...
END OEN
PIN IE
...
END IE
PIN I
...
END I
OBS
...
END
END PDDW0208CDG
3- I tried to run the following command after completing placement and routing:
placeBondPad -ioInstName B22 -pad PAD80LU_TRL -pinName PAD -position o
B22: the instance name of the IO cell (instance of PDDW0208CDG).
PAD80LU_TRL: is the macro used for the bonding cell.
However, the following error message is shown:
ERROR: (IMPSYC-1142): Cannot find IO Instance 'B22'.
I'm sure that the B22 exists in the design, and it is defined in the IO frame file as:
(inst name="B22" cell=PDDW0208CDG place_status=fixed )
Any idea which part I did wrong?
The definition of PAD80LU_TRL is:
MACRO PAD80LU_TRL
CLASS BLOCK ;
FOREIGN PAD80LU_TRL 0.000 0.000 ;
ORIGIN 0.000 0.000 ;
SIZE 80.000 BY 81.000 ;
SYMMETRY X Y R90 ;
OBS
LAYER METAL4 ;
RECT 0.000 0.000 80.000 81.000 ;
LAYER METAL5 ;
RECT 0.000 0.000 80.000 81.000 ;
END
END PAD80LU_TRL
Many thanks,
Anas