Stretching
Stretch handles provide a means to graphically stretch and re-size shapes in PCell layout. They are defined within the source code for the PCell. This graphical stretching operation causes the associated parameter value to change, and the PCell code is then re-evaluated to create the corresponding submaster. A square mark will be placed in the layout if there is an associated pycStretch string property and is made visible by enabling the Device Stretch option. The option is located on the Stretch form (invoked with Edit > Stretch, F3).

Figure 1: Edit > Stretch, F3
It may also be found on the Preferences form (invoked with Options > Preferences, Display tab) from the main Laker window.

Figure 2: Options > Preferences
When an object is selected for stretching, as the user moves the cursor, Laker will draw a "rubber band" showing the stretch.
.jpg)
Figure 3: Stretch Example
To stretch multiple devices together, select the first device, then press the shift key and select the next device.

Figure 4: Stretching Multiple Devices
An area may also be selected for stretching. The area may be selected by rectangle, polygon, or line and snap mode is supported for polygon and line selections. To change the method of selection, invoke the Area Select form (Edit > Select > Area Select, F3).

Figure 5: Edit > Select > Area Select, F3
Devices may also be rotated and then stretched. After stretching a device, abutment may be triggered. Stretch handles have a display limitation. When zooming out, the stretch handles may not be visible depending on the size of the design and the level of zoom. When zooming in, the stretch handles will always be visible.

Figure 6: Zoom In
Abutment
Abutment is a process used to minimize design layout area. To abut automatically when two devices have an overlap region, turn on the Device Abutment setting and set the Abutment control PCell path in the laker.rc file.
[LeoPreference]
CanAbutDevice
= TRUE
AbutControlPcell
= cnVPcellLib/abutControl/layout
This may also be done with the under the Command tab of the Preferences form (invoked with Options > Preferences). Select Device Abutment and enter the Abutment Control PCell path.

Figure 7: Options --> Preferences, Command Tab
When 2 devices that have been modified to have an overlapped region do not share the net with any other devices, the contacts in the overlapped region will be removed.

Figure 8: Original Devices

Figure 9: Devices After Abutment
If the devices shared a net with a third (or more) device, then the some of the contacts in the overlapped region will remain, and duplicates will be removed.

Figure 10: Devices Before Abutment

Figure 11: Devices After Abutment
Laker 2009.09 provides for stretching and abutment of PCells, allowing users to easily manipulate PCells graphically.
