next up previous contents index
Next: Starting Xic Up: Introduction to Xic Previous: Introduction to Xic   Contents   Index

Xic Graphical Editor Overview

Xic is a dual-mode graphical editing tool. In the physical editing mode, Xic is a hierarchical mask layout editor, with interactive and batch mode design rule checking, arbitrary angle polygon and wire support, netlist and parameter value extraction, and many more advanced features. In electrical layout mode, Xic serves as a hierarchical electrical schematic editor and schematic capture front end for SPICE. In the XicTools environment, circuit simulation can be performed and results analyzed from within Xic, through an interprocess communication channel established to the companion WRspice program.

Arrayed along the top of the main window is a toolbar containing drop-down menu selectors. To the left of the main window is an array of additional command buttons. These menu commands control the operation of Xic. The main drawing window occupies the largest section of the main window. The main drawing window supports drag and drop as a drop receiver for files. Just below the main drawing window is the prompt line. Below the prompt line is the layer menu, and to the left of the layer menu is the coordinate readout, and just below is the status area. Below the buttons in the side menu is the key press buffer area. The WR button in the upper left corner brings up a mail client which can be used to send messages and files via Internet mail. It is preloaded with the address of the technical support group at Whiteley Research.

Despite the array of features, Xic is intended to be straightforward and intuitive to use. A unique dual responsiveness to click and press/drag mouse input facilitates use.

Xic has extensive on-line documentation available through a context-sensitive help system. This help system can easily be augmented and customized by the user, so that the user's design rules and tips, and other technical information can be made available from within Xic through only a few keystrokes or mouse operations.

Xic includes a powerful script execution facility. A C-like scripting language is provided for implementing user-defined commands. Xic allows users to write custom commands which appear as buttons in a User Menu. These commands utilize a straightforward but powerful scripting language with a rich library of primitives for controlling the operation of Xic. A primary use of the user scripts is to create simple, menu based commands for creating certain geometrical objects or parameterized device structures, which are often needed in high frequency circuit design. Further uses for this capability are limited only by the user's imagination.

Xic can execute scripts in batch and server modes, allowing geometrical manipulations to be performed in a background or non-local environment. As a server, Xic can serve as the workhorse back-end for wab-based or turn-key third-party products or services, or in-house custom applications.

Hard copy support is available for a variety of printers and file formats, including PostScript (mono and color), Versatec (mono and color), HPGL, and HP laser. Xic is multi-lingual, with support for several archive file formats, and native input and output. Data input in a given format will remain in that format, unless explicitly converted.

Default schematic editing support is provided for a wide variety of devices, even Josephson junctions. Additional devices and subcircuits can easily be added by the user, or changes can be made to existing devices, by editing a single text file. Xic also provides a high-powered model library search engine compatible with any SPICE format model or subcircuit library files, such as those provided by semiconductor manufacturers.

Xic produces data files which contain both electrical and physical data, though one of these two data areas may be empty. The file format used can be one of: the native format, in which each cell of a design is written to an independent ASCII file, or an extension of GDSII, a binary format where the entire design is written to a single file, or an extension of CIF, an ASCII format where the entire design is written to a single file, and others. Xic will read any of these file types automatically, and save any editing changes in the same file type unless instructed otherwise. Built-in converters can be used to convert between the file formats. It is possible to ``strip'' the GDSII or CIF output, providing a physical-data file completely compatible with the industry standard file formats, for portability of mask layout information. It is also possible to read and write a ``text-mode'' version of GDSII files, which can be used to repair corrupted or misbehaving GDSII databases.

In physical mode, design rule checking can be performed as each new object is created of modified. Batch mode checking is also available, either in the foreground, or as a background child process. The philosophy of Xic is that it is never in the user's best interest to ``cheat'' in the enforcement of design rules, yet there may be times when a given rule is not appropriate, and a modified rule should be used. Following this philosophy, the user is given complete control over the design rules, which can be edited, disabled, or rules added interactively. The user can initiate batch mode design rule checking over a given area or over a complete cell. Design rule checking is performed over a pseudo-flat internal representation of the layout, so that physical rules are checked without any constraint based upon which subcells contain the geometry.

Xic has provision for netlist and parameter extraction. The netlist obtained from the physical layout, plus extracted physical device parameters, can be used to generate a SPICE output file, and even a schematic. Automated layout vs. schematic (LVS) testing is provided.

The XicTools package has been developed primarily under BSD-4.4 Unix (FreeBSD, www.freebsd.org), which is the reference operating system. The tools have been ported to many other Unix-type operating systems, including Linux, Sun Solaris and SunOS 4.1.x, HPUX, and DEC Alpha-OSF. The tools are also now available for Microsoft Windows.

The Unix/Linux version of Xic uses the GTK+ user interface toolkit running on the X window system.


next up previous contents index
Next: Starting Xic Up: Introduction to Xic Previous: Introduction to Xic   Contents   Index
Stephen R. Whiteley 2006-10-23