About The Project
KLayout is a GDS and OASIS file viewer
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.
There are numerous viewers available, but sadly there are not many which satisfy a few basic requirements. Most of them are commercial and expensive. If there is need for a simple, yet powerful viewer - here it is.
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.
Sadly, 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. This viewer 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, this viewer can animate layers to make them blink or scroll the fill pattern. Animation is a good tool to highlight certain layers.
This viewer allows to display a layer "marked" by drawing a small cross on all shapes. There is no better way to visualize the distribution of a set of sparse error markers on a dense layout!
All comes wrapped in a nice, Qt based state of the art GUI. Usage of the viewer is simple and is similar to that of other tools.
KLayout is more
Starting with version 0.15, KLayout is also an editor that allows to change GDS and OASIS files and create them from scratch. See the release notes and the editor mode quickstart manual for a more detailed description. With version 0.22, parametrized cells became available in KLayout. See About PCell's for details about that feature.
KLayout also offers a Ruby-based scripting environment called "RBA" which allows to automate various tasks, mainly in the visualisation area but also for layout generation. In addition there is a macro development environment with a debugger and editor featuring syntax highlighting for example. See About Macro Development and Programming Ruby scripts for details about this feature.
KLayout is free
The viewer is published under GNU public license GPL version 2 or any later version (www.gnu.org) in compliance with the requirements for using the Qt open source licence. If may be copied and distributed freely.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of Merchantability or fitness for a particular purpose. Please use it AT YOUR OWN RISK.
The current version is 0.25. Although this low number reflects the early stage of development, the version is reasonably stable.
KLayout currently builds on recent Linux installations. Building on MacOS is possible basically. A binary distribution is available for Windows, both 32 and 64bit (both an installer and a .zip archive with the binaries and libraries). Debian packages are provided for Ubuntu 12.04 and similar Linux versions in 32 and 64bit version. Basically it can built on Windows using cygwin and MinGW although there are some limitations. For the precise requirements see the download and build page.
The Linux build is performed by a simple wrapper shell script rather than some sophisticated configuration setup. Some options allow to configure the script somewhat. For Windows, a solution for Visual Studio 2010 is provided.
The build requires the Qt4 GUI toolkit in the multithreaded version and a recent gcc version to build.
There is a quick start manual available to explain the basic features. Also for editor mode, a editor mode quickstart manual is provided. More details and documentation can be found on the Main Documentation page. There is also a built-in help system, which can be accessed through the "Help/Assistant" menu.
The issue list for version 0.25 can be found in the known bugs and issues list
The future of the project
KLayout is a living project. The program is being used by people in their daily work already. As my time allows I will gradually enhance and extend the code.
Please feel free to issue feature requests to the mail address listed in the contact page. I am eager to learn about use cases and potential new applications for this tool.