Each shape of a design belongs to a layer. Shapes on different layers are displayed different. For each layer a set of data is stored:
is a dialog to edit a single layer. It can be opened with a control+shift left mouse click from the layer dock window. In the dialog all setting of a single layer can be adjusted. Some optional setting will be displayed after pressing the little + in the lower left of the dialog.
is a dialog with all setting for all layers. All setting can be adjusted. Some additonal feature like loading the setting from other formats or generating a macro with the current layer setting will be displayed after pressing the little + in the lower left of the dialog.
A fast access to setup the layers is using shortkeys. These shortkeys are combinate shortkeys. With the first key the function is activated. With the following key(s) the layer is selected. The shortcuts of the layer can be set via Layer Properties, Layer Manager or the command line. It is possible to reuse existing shortkey for the layer-shortkey. After pressing the first shortcut the layer shortcuts will be displayed in the layer list.
Select the active layer via shortkey. The key pressed after activation of this function will determine the active layer. The layer shortkeys had to be setup prior.
The visibility of layers is changed via the layer shortkey. The key pressed after activation of this function will determine the visibility. The layer shortkeys had to be setup prior. Leave this function via the Esc key.
Hide other Layer via the layer shortkey. The key pressed after activation of this function will determine the visibility. The layer shortkeys had to be setup prior. Leave this function via the Esc key.
Make all layer visible via shortkey.
All coordinates of any design is saved as an integer. The databaseunit is the distance represented by 1 and therefore the smallest possible distance in the design. All coordinates can only be a multiply of the databaseunit. If you change the databaseunits within the setup dialog, you can select whether the elements are adopted (=same absolute dimensions) or not modified (=same integer value=scaled by the change of databaseunits).
Userunits is the unit used to display any coordinate, length, dimensions, etc. to the user. It is specific to a design (and not a global setting). Some file formats includes this setting and also the database units. Loading of such a file will change both: userunits and databaseunits.
In the LayoutEditor as well as in the GDSII file format four kinds of shapes exists:
A multi segment line, having a width and a setting for its caps.
A rectangle horrizontal orientated.
The LayoutEditor is like other CAD programs a vector program. This means, that every shape is save as a sequence of vectors. So a rectangular polygon consists of 5 coordinates with the last one identical with the first one. In this case inside and outside of the polygon is clear declared. This is strongly required for some algorithmen like the size adjust. Furthermore the LayoutEditor will sort the points automaticly in a counterclockwise order.
A polygon is a squence of vectors describing the outer contour. To define a hole inside a polygon a link will be added from the outer contour to the inner hole contour. By this way a polygon keeps still a single sequence of vectors. To keep polygon processing simple it is recomended that all links between the outer contour and an inner contour are vertical or horizontal.
Already with a five point polygon you may get trouble. In this example it is still clear what is inside and outside the polygon. A filling can be calculated correctly. But if you try to adjust the size of this polygon by moving the existing points, you cannot reach the expected shape. Also it is not possible to sort the points in a counterclockwise order.
The next example is a little more complex. In this polygon there is an area which is surrounded twice. It is not clear defined, if this area is part of the polygon or not. Different software will handle it different or even are not able to handle it.
The two examples show that it is important to avoid selfintersecting polygons. The LayoutEditor will help you to do so. If enabled in the setup (shapes/general/polygon checks), it automaticly detects selfintersecting polygons and convert them to non problematic polygons. The two examples will be converted like this:
Even simple polygons can have points which have no effect. These unneeded points can be a result of a prior operation. The LayoutEditor will detect these points and remove them, if enabled in the setup (shapes/general/polygon checks)
A text element with a width and alignment. In case of a negative width the text will be displayed in a zoom independend width in pixel.
Any shape belongs to a cell. So a cell is a set of shapes. A design may contain several cells. A cell can also contain a references to another cell. In this case at the position of the reference all shapes of the referred cell are displayed. A cell can be referred many time. So repeating structure need only be created once and than referred multi times. This reduced the storage space and makes it easier hanlde it. This method is called hierarchical design.
Next to simple references arrays of references exist. So a cell array reference is a repeating reference in 1 or 2 dimensions with a constant spacing.
In some file formats additional informations can be stored. For the MEMS/IC design two kinds of informations can be used: datatype (available in GDSII, OASIS, OpenAccess) and element attributes (available in GDSII). These information can be view/modified via the Properties Dialog. But if not used in the current design, they are hidden. To show it, press the little + in the lower left corner in each property dialog.
A datatype is a additional number which can be stored which each primitive element (path, box, polygon, text). It is commonly used in two areas. First it is used in e-beam exposure of photo masks. (only in sharp beam system, not in gaussian beam systems) Here a different exposure energy is needed for each element to achieve exact image. The datatype field is used the store the exposure energy. The other application where the datatype is used is an extension of layers. Early layout system had a hard restriction of the amount of layer. To increase the amount of layers the datatype was used. Also it is used for a more exact description of an element. It describes whether the element is part of a conductor, capacitor, ... or just a label. For the last application it may be interesting to split different datatypes on different layers. This is supported by the layout editor. Activate it via the Setup Dialog and configure it via the Layer Manager.
Beside the datatype each element can have a unlimited number of attributes. Attributes are a combination of a attribute type (normally a number) and a value (a free text). Attributes are also exists for cell reference where are no datatypes are possible. Attributes are rarely used. The LayoutEditor used it to store some information for the netlist driven layout.