# About Technology Management

Technology management summarizes features which require a certain interpretation of a layout. In particular, layout layers are assigned a physical meaning, for example via layers or active area layers in CMOS technologies. Since that interpretation often is depending on the technology the product will be fabricated with, the ability to provide multiple setups is summarized as "technology management".

A technology setup implements the following aspects:

- Layer mapping: when the layout reader loads a file that for a certain technology, it can apply a layer mapping, i.e. apply layer names to GDS layers, filter layer etc.
- Layer properties: depending on the technology, the layer display can be configured by providing a technology specific layer properties file.
- Connectivity: the layer stack and the connections made by layers for the net tracer feature.
- Macros: macros associated with the technology. When the corresponding technology is selected (is the one of the current layout), such macros will show up in the menu if they are bound to a menu entry. Otherwise they will be invisible.
- DRC scripts: in the same way, DRC scripts can be associated with a technology.
- Libraries: if a library is associated with a technology, it is shown in the list of available libraries when an instance is created. Library association cannot be edited. Instead, a library installed in the system comes with a technology association itself.
- File format options: technology specific file reader or writer options can be given. When a layout is saved, it will use the writer options from it's technology. When loading a layout, the reader options from the active technology will be used.

In the future, more aspects may be added to the technology definition.

There is always one "Default" technology that is used when no technology is specified.

## Setting up technologies

Technologies can be set up using the "Technology Manager" in the "Tools" menu. There is always a "Default" technology which provides the settings when no technology is selected. New technologies can be added or technologies can be deleted using the "+" or "x" buttons below the technology tree.

A technology has a name (a short string) and a description. The name is used to identify the technology in various places. The description is the human-readable text that is displayed in the technology selection boxes for example. The short name can be changed by selecting the technology and pressing the "Rename" button or using "Rename" from the technology tree's context menu (right mouse click). The description can be edited on the "General" page.

In the technology manager, below each technology, the components are shown that define the various aspects of a technology. Beside the "General" aspect (names, descriptions) there is a "Layers" component which defines the layer mapping table and layer properties file and the "Connectivity" component which defines the settings for the net tracer.

## Using technologies

When more than the default technology is defined, KLayout provides a drop-down menu in the tool bar to select the current technology. The current technology is the technology used when new files are loaded. It is also possible to define the technology to be used on the command line using the "-n" switch (applies to following files and specifies the technology to use by their short name).

The technology of the currently selected layout is shown in the status bar of the main window in the left section. It is possible to switch the technology of a layout already loaded by using the "Layout Properties" dialog from the "File" menu. After switching the technology, the layer properties defined in the technology can be applied and the associated macros or DRC scripts are shown in the menu if they are associated bound to a menu entry or the key binding becomes active if a shortcut is defined for that macro.

## Technologies and macros or DRC scripts

Macros or DRC scripts are stored in sub-folders relative to the technology's base path. When no base path is specified or the base path is invalid, macros or DRC scripts cannot be associated. KLayout will look search for macros, if a directory called "macros" is present in the base path. If it finds files with a valid macro suffix there it will associate them with this technology. The same way, KLayout will look for DRC scripts, if a directory called "drc" is present in the base path.

Macros and DRC scripts associated with a technology are shown in the technology manager. To edit or debug scripts of macros, use the macro development environment ("Macros/Macro Development"). If a technology has a macros or DRC scripts folder, the macro or DRC scripts tree in the development environment will show a corresponding top-level branch for that technology.

Multiple technologies can share the same base path - hence it is possible to share macros or DRC scripts between technologies.

## Managing technologies

Technologies can be imported and exported to technology files (suffix ".lyt"). This is mainly useful to exchange technology settings between users or technologies.

Except for the default technology, technologies are kept in technology folders in KLayout's application path. They are read from subfolders from the "tech" directories. The technology definition itself is held in a file with extension ".lyt". The technology folder may have subfolders to hold library files, macros, DRC runsets, LEF files and other pieces of the technology package.

Technologies can be managed using packages. Packages are a convenient way to share add-ons between users. Packages can be installed from a common repository and allow easy addition and removal of components. Technologies are one aspect of packages, so it's possible to create packages that contribute one or more technologies. See for more details.