# Edit Menu

## Undo

> The Undo command (Edit -> Undo) is useful to not take into account the last editing command. It is possible to undo the commands Cut, Paste, Copy, Move, Stretch, Edit and Compile.

## Cut

> Click on the Cut icon. Move the cursor to the design window, and delimit the active area with the mouse. Consequently, all the graphics included in this area are erased. Click on Undo to fix those elements back into the design.

- A layer is protected from erasing if you remove the tick in the palette twice. In the palette, an empty square to the right of the layer indicates a protected layer.
- A layer is unprotected from erasing if you select it again in the palette. A tick in the square to the right of the layer indicates an unprotected layer.
- One box only can be erased by a click inside that box when the cut command is active. The box is then erased.

## Copy

> Click on the Copy icon. Move the cursor to the design window, and delimit the active area with the mouse. Consequently, all the graphics included in this area are copied. The external shape of the copied elements appears. Fix those copied elements at the desired location by a click on the mouse.

> Click on Undo to cancel the copy command.

## Paste

> All the graphics previously deleted or copies may be fixed again on the layout at the desired location by a click on the mouse.

## Move area & Stretch

> To move one box, click on the "Stretch,Move icon" or "Edit -> Move Area or Stretch". Then using the mouse, draw an area that includes the box. Then, drag the mouse to the new location and release the mouse. As a result, the box has been moved the new place. Repeat the same in order to move a set of boxes.

- To protect a layer from moving, click in the rectangle the palette that is situated on the right side of the layer. This will remove the tick.
- To stretch a box, click on one side of the box that you want to stretch. The box outline appears. Drag the mouse to the new location and release the button. The box is stretched.
- To catch the desired border of the box, draw a line perpendicular to the border, entering the box.

## Move step by Step

> To move one box lambda per lambda, click "Edit -> Move Step by Step". Using the mouse, create an area that includes the boxes. The selection appears in yellow. Then, click the arrow until the selection has been moved the new place. The step value (in lambda) is fixed in the edit line.

## Flip & Rotate

> To apply a rotation or a flip to one part of the design, click on Edit -> Flip & Rotate. Select one of the proposed action, and then delimit the area inside which the boxes will be changed.

- Flip horizontal
- Flip vertical
- Rotate 90°
- Rotate -90°

## Protect All | Unprotect all

> Click on "View ->Protect All" to protect all layers for editing purpose. All ticks in the palette are removed. Click on "View ->Unprotect All" to select all layers for editing purpose. All ticks in the palette are asserted.

## Generate

> The library contains a set of predefined layout macros such as contacts, devices and pads. Those cells are built according to design rules, and contain size parameters. To invoke the cell library click Edit -> Generate.

> - BOX (or icon "Draw Box"). This command creates a box in the selected layer. The default layer is polysilicon. If the "Draw Box" icon is not selected, click on it. Then, move the cursor to the display window and fix the first corner of the box with a press of the mouse. Keep pressed and drag the mouse to the opposite corner of the box. Release the mouse and see how the box is created.
>   - The active layer is selected in the palette.
>   - The red color indicates the active layer.
>   - The tick specifies that all boxes using the layer can be erased, stretched or copied.
>   - Removing the tick protects the layer.

>   You may also edit the following layout:

- CONTACTS such as metal/metal2 metal2/Metal3,(etc..), or stacked contacts can be obtained here. Select the appropriate choice in the sub-menu Between metal. Poly/metal1 (default), N+/metal1 or P+/metal1 may be added. Multiple contacts can be generated when entering rows and columns of contacts greater than one (Repeat sub-menu).

- MOS. This macro generates either a n-channel or a p-channel transistor. A double-gate MOS (EEPROM, FLASH memories) may also be selected. The parameters of the MOS device are the channel length L (default value is given by the design rules), its width W, and the number of fingers. Other sub-menus concern the MOS option and the polarization. Once those parameters are defined, the device outline appears. Click on the mouse to place it in the appropriate place.

- RESISTOR. Select the desired value, the material (poly by default) and assert the desired option (Salicide is removed by default to increase the resistance). The resistor is split into 3 horizontal parts by default, in a serpentine shape. Notice that MICROWIND3.1 implements a two-node system with a virtual resistance placed in between, as drawn in the figure below.

- PADS. It is possible to add various items such as a single pad, a test pad (usually 30x30 µm), or even a set of pads all around and to the layout using the VDD and VSS power rings. In the last case (adding more than one pad), give the number of pads each side of the chip and if need be modify the width of the VDD and VSS tracks, as well as the number of VDD/VSS pad pairs.
- PATH. This command generates a path of interconnects using one single layer. The path width can be changed, as well as the alignment to the routing grid. A set of contacts can also be placed at both ends of the path. This command is very useful for VDD and VSS supply drawing and single layer interconnects.
- BUS. This command generates a set of parallel lines with user-defined layer, width and spacing. This command is useful to build coupled interconnects, or bus path used in the final routing of a chip.
- INDUCTOR. This command generates a coil made from use-defined metal layers, turns, width and spacing. This item is used for very-high frequency oscillators. In MICROWIND3.1, this inductor is viewed as a two-node system with a virtual inductance and a virtual parasitic resistance placed in between.

## Virtual RLC

> Three virtual elements may be added to the layout: resistance, capacitance and inductance.

> RESISTANCE. Adding a resistance in the layout is interesting to handle the interconnect resistance effect in analog simulation. In practice, resistance are added in the layout of some analog circuits such as analog-to-digital converters (See ADC.MSK). To insert a resistance, do as follows:

- Delete a thin portion of the metal or poly interconnect in order to create two separate layers.
- Click the resistance symbol in the palette or invoke "Edit -> Virtual RLC -> Resistance"
- Insert the resistance in order to make the electrical bridge between the two nodes.

> When adding a resistance, you give either a fixed value (For example 1200), or a keyword: R(poly),R(metal), or R(All). In that case, at extraction, Microwind updates the value of the resistance according to the layout and current technology.

> CAPACITANCE. Adding a virtual capacitance is interesting to investigate the behavior of a circuit when loaded by a capacitance charge, without performing its implementation.

> INDUCTANCE. An inductance may be added in the layout to simulate the effect of integrated inductance, in resonant circuits for example.

## Duplicate XY

> The command " Duplicate XY " is very useful to generate an array of identical cells such as RAM cells for example. Click on Edit -> Duplicate XY, include the elements to duplicate in an area defined by the mouse, and the following screen appears. In both X and Y, the default multiplication factor is x 2. You may adjust the space between cells. By default, the cells touch each other. Selected boxes appear in yellow on the screen.

## Layer Connection

> Use "Connect Layers" to create the appropriate contacts between two layers at the specific cursor location. The command works for any layer from the diffusion up to the highest metallization. For example, if poly and metal 3 boxes are present at the cursor location, a stack of poly/metal, metal/Metal2 and metal2/metal3 contacts will be added to the layout.

## Invert Diffusion N <-> P

> Use "Invert Diffusion N <-> P" to change all diffusion included in a given area from N to P and vice-versa. This command is useful to correct the layout in case of erroneous use of N+ and P+ dopants.

back