You can edit a preview generated by Animate at a high level, with automatic DRC compliance, and a simplified view of devices. This allows you to rapidly explore layout changes and refine your initial layout.


Switching between viewing and editing modes


When you display the Animate window, the layout is opened in View mode:


Right-clicking and selecting Edit in the context sensitive menu (or Shift+E bindkey) switches you into Edit mode:



In Edit mode, devices are shown as simple shapes, along with instance names and an orientation tab.
If the layout has mirror symmetry, devices on the left side of the line of symmetry are shown in red; devices on the right side in green, and devices centered on the line of symmetry in yellow.
If the layout is not mirror symmetry, devices are shown in blue.
Dummy devices are shown in both modes as grey.
Guard rings are shown in blue. 


You can switch back to View mode (to view device geometries) with the Shift+D bindkey.


It is important to understand that Animate uses a spatial database unlike other commercial EDA tools. Objects are not stored by absolute position but by their relationship with other objects. So, you cannot move an instance by some fixed distance, for example. The benefit is that Animate maintains DRC correctness (e.g. width, spacing, enclosure, etc.) during operations.


Moving an instance


Instances can be moved by selecting one (or more) and dragging them to the desired position. A purple line is displayed indicating where the instances will be dropped when the drag is completed.


After the move:



The instance is inserted between devices and spacing rules are automatically adhered to.


Swapping instances


A common operation is to swap the positions of two instances. This is easily achieved by selecting the two instances to swap, then using the Shift+S bindkey to perform the swap.


Adding dummies


Select an instance and use the Add Dummy Instance command on the popup menu. Dummies can be added before (to the left of), after (to the right of), above or below the selected instance.


Flipping instances


Instances can be flipped about the Y axis using the Flip Horizontally menu item. Note that in Animate, transistors are always oriented with the gate poly vertical, thus they cannot be rotated by 90 degrees.


Poly Escapes


Animate adds gate contacts to devices automatically, with the side (top or bottom) determined automatically. You can manually change the poly escape direction to either North, South or both by selecting device(s) and using the Poly Escape Direction menu item.


Contact Sharing


Devices can have contact sharing (two devices abut and share common contacts) or diffusion sharing (two devices abut and share common diffusion) if they have diffusion on the same net. You can control contact sharing on an individual basis by selecting device(s) and using the Contact Sharing Before or Contact Sharing After menu items to control individual sharing. Note that contact sharing can be globally allowed/disallowed in the Constraints Design tab.


Guard Rings


Animate can automatically add guard rings to maintain electrical correctness of device bulk nets. Guard rings are typically one of NWell, Deep NWell, PWell or PSub types; each type can have multiple guard rings defined for e.g. fat/thin rings.


You can add guard rings round specific devices using the menu Enclose In Guard Ring command.


Guard rings can be edited to add segments to an existing guard ring. Select the guard ring; hit points are shown as white rectangles, where you can start adding guard ring segments by left-clicking on one.




As you move the cursor, the guard ring segment is drawn interactively; to complete adding guard ring segments, click on another (existing) guard ring segment to finish. In the example below, the addition segment was started at the top, added vertically to the gap between the transistor rows, then added horizontally to finish on the left edge of the guard ring.




Adding routing channels


If you wish to space devices by a distance larger than the DRC rules so you can route nets manually in the space, or for reducing noise or parasitics, you can use the Add Routing Channel command. Simply select an instance and right click on it. Then select Add Routing Channel and the location relative to the device. The routing channel is shown in gray. You can select routing channels and stretch them with the orange diamond-shaped grab handles.