next up previous contents index
Next: The xor Button: Exclusive-OR Up: The Side Menu: Geometry Previous: Associated Net Name Label   Contents   Index


The xform Button: Current Transform Panel

\epsfbox{images/xform.eps}

The xform button in the side menu brings up the Current Transform panel, which allows the current transform to be set. The current transform is applied to newly-placed subcells, and to objects which are moved or copied.

The transform that is applied to an instance of a cell is saved in an irreducible form in the database representation of the instance. The irreducible form is an optional reflect-y ( y $ \rightarrow$ - y ), followed by an optional rotation, followed by the translation. This maps directly to the format used in GDSII files. However, the ``current transform'' applies rotation before the reflection, so that on screen, a reflect-x, for example, will flip the object's x coordinates independent of any rotation angle, which is what users tend to expect. The transform string printed on unexpanded instances and on the status line reflects this, i.e., forms like ``R45M'' imply a 45 degree rotation followed by a reflect-y (``M'' always denotes reflect-y, reflect-x is equivalent to some other rotation and reflect-y combination). However, the transformation shown in an Info window will be reflect-y followed by a 315 degree rotation (in this example), since the internal representation performs the reflection before the rotation.

If the current transform is set to something other than the default identity transform, the transform code is printed on the status line.

The following buttons and input fields are available in the Current Transform panel.

Angle
This choice menu allows setting the rotation component of the current transform. The menu allows a choice of rotations in increments of 90 degrees in electrical mode or 45 degrees in physical mode.

Pressing and holding the Ctrl key and then pressing the left or right arrow keys cycles through the transformation angles, whether or not the Current Transform panel is visible. The right arrow increases the angle, the left arrow decreases the angle.

Reflect X
Add a reflection of the x-axis to the current transform. The X-reflection is toggled by the Ctrl-Down Arrow key sequence, whether or not the Current Transform panel is visible.

Reflect Y
Add a reflection of the y-axis to the current transform. The Y-reflection is toggled by the Ctrl-Up Arrow key sequence, whether or not the Current Transform panel is visible.

Magnification
This entry field allows setting of the magnification component of the current transform. Any number from 0.001 through 1000.0 can be entered.

Identity Transform
This button will save the current parameters to internal storage, and reset these values to the default state (no transformation). The saved state can be restored with the Last Transform button.

When the panel first appears, this button will have the keyboard focus if the current transform is not the identity transform. The user can press Enter to ``press'' the button. This will cause the focus to switch to the Dismiss button, so that another Enter press will retire the panel. Thus, one can very quickly restore the identity transform using the xform button accelerator (``xf'') followed by pressing the Enter key twice.

Last Transform
This button will restore the state of the current transform last saved with the Identity Transform button, or one of the recall buttons. If no state has been saved, the identity transform (the default) is set. Note that there is separate storage for the current transform in electrical and physical modes.

When the panel first appears, if the current transform is the identity transform, this button will have the keyboard focus. In this case, the same key sequence as described above can be used to quickly restore the last transform.

Store and Recall
There are five internal registers for storage of transformation parameters. Separate registers are used in electrical and physical modes. Pressing these buttons will either save the current parameters to a register, or set the parameters from a register. After a recall, the original parameters can be restored with the Last Transform button.


next up previous contents index
Next: The xor Button: Exclusive-OR Up: The Side Menu: Geometry Previous: Associated Net Name Label   Contents   Index
Stephen R. Whiteley 2024-09-29