High performance IC layout viewer and editor
Although a comparatively simple piece of software, a layout viewer is not only just a tool for the chip design engineer. Today design's complexity require not only a simple "viewer". Rather, a viewer is the microscope through which the engineer looks at the design. If there is need for a simple, yet powerful viewer, KLayout is here!
The main objective was to focus on the basic functionality but adding some useful features that many, even commercial viewers don't have! First rarely any tool allows to place two or even more layout files over each other. It often happens that you receive some layers in one file, the other layers in another. Some tools allow to load multiple layouts and switch between the windows. Well, this may help, but still the possibility of overlaying two layouts offers much more comfort. Well, again, KLayout is here!
Almost no viewer is really precise. There is not much more annoying than a layout that changes when you zoom into it. Or placeholder shapes appearing at some zoom level and disappearing at the next, cell labels that cannot be caught because they jump around when you try to zoom them into view, and many other surprising ways or creative interpretation and optimization. KLayout shows the design as it is!
Only some viewers allow to make layers "transparent". Only this way, a stack of layers can be visualized effectively. In addition, KLayout can animate layers to make them blink or scroll the fill pattern. Animation is a good tool to highlight certain layers. KLayout allows to display a layer "marked" by drawing a small cross on all shapes. There is not better way to visualize the distribution of a set of sparse error markers on a dense layout!
The main window is divided into three parts: the left panel is the hierarchy browser which depicts the cell hierarchy. Cell nodes can be expanded showing the child nodes. The cell selected in the cell browser is shown in the center panel. The center panel is the actual canvas. There, the layout is drawn. Click there to zoom or to draw rulers for measuring distances. The right panel is showing the layer list with the layer drawing style. Below a set of control panels is located. The control panels are minimized per default. They can be expanded by clicking on the header bar. Several control panels are available allowing to control colors, fill and drawing styles etc. Select one or many layers in the layer list to apply the selections from the control panels to. Multiple layouts can be shown at once. Either they can be overlayed or they can be shown in separate views. In this case, a tab panel appears at top of the main window. Switch between the views by selecting the tab.
KLayout is fast and accurate and support of GDS and OASIS file formats with automatic uncompression of zlib compatible formats.
All comes wrapped in a nice, Qt based state of the art GUI and a full 64 bit support on GNU/Linux! It is, also, extensible and configurable to a large degree by Integrated development environment for Ruby scripts: in this case all functionality must be put into one script. Usually, this script will provide all the classes and definitions required and register new menu items and handlers (see documentation for more information or click here if you want try it).