# PlaceBottom
Keywords: stratus

Subsections

- Name
- Synopsys
- Description
- Parameters
- Example
- Errors
- See Also

##
PlaceBottom

### Name

PlaceBottom - Places an instance below the "reference instance"

### Synopsys

    PlaceBottom ( ins, sym, offsetX, offsetY )

### Description

Placement of an instance.
The instance has to be instantiated in the method `Netlist` in order to use the `PlaceTop` function.

The top left corner of the abutment box of the instance is placed, after beeing symetrized and/or rotated, toward the bottom left corner of the abutment box of the "reference instance". The newly placed instance becomes the "reference instance".

### Parameters

- `ins` : Instance to place.
- `sym` : Geometrical operation to be performed on the instance before beeing placed.
  The `sym` argument can take eight legal values :
  - `NOSYM` : no geometrical operation is performed
  - `SYM_Y` : Y becomes -Y, that means toward X axe symetry
  - `SYM_X` : X becomes -X, that means toward Y axe symetry
  - `SYMXY` : X becomes -X, Y becomes -Y
  - `ROT_P` : a positive 90 degrees rotation takes place
  - `ROT_M` : a negative 90 degrees rotation takes place
  - `SY_RP` : Y becomes -Y, and then a positive 90 degrees rotation takes place
  - `SY_RM` : Y becomes -Y, and then a negative 90 degrees rotation takes place
- `offsetX` (optionnal) : An offset is put horizontally. The value given as argument must be a multiple of PITCH
- `offsetY` (optionnal) : An offset is put vertically. The value given as argument must be a multiple of SLICE

### Example

    Place       ( myInst1, NOSYM, 0, 0 )
    PlaceBottom ( myInst2, SYM_Y       )

### Errors

Some errors may occur :

- `[Stratus ERROR] Placement : the instance doesn't exist.`
  The instance must be instanciated in order to be placed.
- `[Stratus ERROR] Placement : the first argument is not an instance.`
- `[Stratus ERROR] Placement : the instance is already placed.`
  One can not place an instance twice
- `[Stratus ERROR] PlaceBottom : no previous instance.`
  One can use `PlaceBottom` only if a reference instance exist. Use a `Place` call before.
- `[Stratus ERROR] PlaceBottom : wrong argument for placement type.`
  The symetry given as argument is not correct.

### See Also

Introduction Place PlaceTop PlaceRight PlaceLeft SetRefIns DefAb ResizeAb