The screenshot you show does not indicate the position of a cell, but that of a rectangle, likely inside a cell (FA_X1 I assume).
The position of a cell is a single point indicating the location of the cell's origin (0, 0). A cell position is further specified by a rotation angle and potentially mirroring. In addition, a cell can be instantiated indirectly - i.e. inside another cell which itself is instantiated. It makes a difference if you're interested in such indirect instances too.
If the location of an instance is lower left point coordinate(0,0), may I calculate the upper right corner coordinate using the width and height of the standcell?
And how can I get the width and height?
The figure is an instance in my topcell. I find that the size of the green area seems to be the outline of the standcell, but if I use "instance.bbox()" to get the lower left and upper right coordinates, it returns incorrect coordinates.
How can I get the lower left and upper right coordinates of the green area?
@blues What do you mean by "not correct"? If you get large integer values, this means they are in database units, not micrometers. To get micrometers, you need to multiply this integer value with the database unit.
In general, the bounding box of the instance will give you the bounding box of the cell after being placed. If you need the bounding box of the cell (before placement), use "bbox()" on the Cell object.
Comments
The screenshot you show does not indicate the position of a cell, but that of a rectangle, likely inside a cell (FA_X1 I assume).
The position of a cell is a single point indicating the location of the cell's origin (0, 0). A cell position is further specified by a rotation angle and potentially mirroring. In addition, a cell can be instantiated indirectly - i.e. inside another cell which itself is instantiated. It makes a difference if you're interested in such indirect instances too.
Matthias
@Matthias
Hello Matthias,
Thanks for your kind reply.
If the location of an instance is lower left point coordinate(0,0), may I calculate the upper right corner coordinate using the width and height of the standcell?
And how can I get the width and height?
The figure is an instance in my topcell. I find that the size of the green area seems to be the outline of the standcell, but if I use "instance.bbox()" to get the lower left and upper right coordinates, it returns incorrect coordinates.
How can I get the lower left and upper right coordinates of the green area?
Thanks,
blues
@blues What do you mean by "not correct"? If you get large integer values, this means they are in database units, not micrometers. To get micrometers, you need to multiply this integer value with the database unit.
In general, the bounding box of the instance will give you the bounding box of the cell after being placed. If you need the bounding box of the cell (before placement), use "bbox()" on the Cell object.
Matthias
@Matthias
Thanks for your kind help.
Your suggestion is helpful.