Xic Graphical Editor
IC Design Software for Unix/Linux and Windows
Whiteley Research Inc., 456 Flora Vista Avenue, Sunnyvale CA 94086 www.wrcad.com
Xic Graphical Input Editor
Whiteley Research Inc., www.wrcad.com

Click here to browse the on-line Xic manual.
Click here to enter the on-line Xic help system.

Xic  is a full-featured physical layout editor, schematic editor, and analysis tool. In the physical editing mode, Xic is a hierarchical mask layout editor, with interactive and batch mode design rule checking, arbitrary angle polygon support, topological and parametric extraction, and many other advanced features. In electrical layout mode, Xic serves as a hierarchical electrical schematic editor and schematic capture front end. In the XicTools environment, circuit simulation can be performed and results analyzed from within Xic.

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 rapid development.

Xic has complete and extensive on-line documentation available through an HTML-based 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. In addition, the help viewer functions as a web browser, for convenient access to Internet resources, and can function as a graphical interface for user-generated scripts.

Xic is Internet aware, and can even open input files served via HTTP or FTP on any accessible remote machine.

Xic is multi-lingual, and has extensive capabilities for converting between various file formats, allowing scaling, windowing and flattening operations, with or without reading the source file into the graphical editor. Xic uses 64-bit file offsets and internal memory management, to that on most platforms, multi-gigabyte input files can be processed (though, present releases are 32-bit applications which limits the total memory use to about three gigabytes).

Xic can read and write the following file formats:

  • GDSII
    This is the industry-standard binary data format, up to format release 7 is supported. Compressed GDSII files (using gzip format) can be read or written on-the-fly.

  • OASIS
    Preliminary support for the Open Artwork System Interchange Standard, a new format developed by the SEMI organization, is included. More information is available here.

  • CIF
    A popular ASCII file format.

  • CGX
    CGX (Computer Graphics eXchange) is a binary format developed by Whiteley Research and placed in the public domain. It is similar to GDSII, yet greatly reduces file size and is more efficient to read and write. Compressed CGX files (using gzip format) can be read or written on-the-fly.

  • Native
    The native format is a CIF-like ASCII format where each cell is a separate file.

  • Text-mode GDSII
    Xic can convert GDSII files into an equivalent ASCII representation, and back. This can be used as a diagnostic, and to repair or modify GDSII files.

Any of these file types can be read by Xic (Xic automatically determines the file type) or be converted, perhaps with windowing, scaling, or flattening, to another of the file types. Data input in a given format will remain in that format when written, unless explicitly converted. Xic also has the unique ability to generate its own technology database on-the-fly while reading any format input file. Any GDSII file (for example) can therefore be read into Xic without prior knowledge about what the file contains.

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 the "User" menu. These commands utilize a straightforward but powerful scripting language with a rich library of primitives for controlling the operation of Xic, producing geometrical manipulations or providing analysis, and other operations. A debugging window is provided that allows single stepping through scripts, breakpoint setting, editing, and other functions. An interface to the popular Tcl/Tck language is provided. Xic can execute Tcl/Tk scripts, and the native script functions are available from within Tck/Tk. Native scripts are just-in-time compiled, and a function is compiled only once while it remains in memory, so that execution is highly efficient. Graphics can be exported to foreign X-windows, thus it is possible to create custom graphical interfaces to Xic using Tk.

One popular use of the user scripting capability is to create simple, menu-based commands for creating certain geometrical objects, which are often needed in high frequency circuit design. However, the user's imagination will almost certainly lead to other uses of this extremely flexible facility, to provide time saving automation of the user's specific design tasks.

Attention OEMs!
Xic is unique in having a facility for exporting design manipulation and rendering capability as a "back end" for a custom design automation system. A unique "server mode" allows Xic to operate as a 'daemon', performing remote number-crunching geometrical tasks in support of the user's custom front-end.
  • The Scripting Interface
    Xic includes a built-in script compiler and extensive script function library.

  • Server Mode
    Xic can operate as a server, or "daemon". While in this mode, Xic communicates through a BSD socket, and normal graphics and console output are suppressed. Commands, in the form of native script language statements and functions, are sent to Xic via the socket. Graphics can be exported to a Tk or other X-window.

  • Batch Mode
    Xic can perform batch-mode processing of design data. As in server mode, normal graphics and console output are suppressed, though graphics can be exported. Operation is controlled by a script, and the process terminates when the script completes, unlike server mode where the process remains active.

With powerful and highly efficient geometric manipulation and measurement, layer synthesis, hierarchy management and format conversion capabilities, not to mention DRC, extraction, and a host of other capabilities, Xic may well be the engine for the custom tool you envision. Use of Xic instead of developing custom software is a no-brainer. Whiteley Research will work with you. If you need a special feature or hook, and the request is reasonable, you'll get it. Much of the existing interface has been developed in response to customer requests.

Hard copy support is available for a variety of printers and file formats, including Postscript (mono and color), Versatec (mono and color), HP laser, and HPGL. Export to all popular image formats is available.

In physical mode, design rule checking can be performed as each new object is created of modified. 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 in the foreground or background. Design rule checking is performed over a pseudo-flat internal representation of the layout, so that physical rules are checked without any constraint based on which subcells contain the geometry.

Xic has an extraction menu which allows netlist and parameter extraction from physical data, and layout vs. schematic (LVS) checking to ensure error-free designs. A unique "paths" command highlights all objects electrically connected to a selected conducting object. Internal algorithms provide extraction of resistance, capacitance, inductance, and transmission line parameters (assuming microstripline geometry), and extraction of arbitrary device types as defined in the technology file. Xic can build or update a working schematic from a physical layout or a SPICE file. Xic contains an interface to special versions of the FastCap/FastHenry programs, and a partitioning editor, allowing capacitance, resistance, and inductance to be extracted with these tools.

Default SPICE interface 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.

When the WRspice simulator is available, Xic works seamlessly with WRspice, giving the illusion of a single application. Simulation can be initiated, controlled, and results plotted through Xic. The WRspice binary need not be local, one only needs connectivity to a machine with a licensed copy of WRspice.

Below are some of the interesting new features, as clipped from the release notes at the time the feature was added. Xic continues to evolve in response to customer requests and new technology development.

  • Xic now supports a "server mode" where Xic can serve as a "back end" for the user's or a third party application, performing the database manipulation tasks. In this mode, Xic can even export graphical rendering capability to an arbitrary X window.

  • Xic now supports template cells. These cells contain a script which is executed, with a given parameter set, when the cell is instantiated, providing differing geometry based on the parameters. Template cells can be used to implement devices, contacts, and vias, often replacing dozens or hundreds of fixed-geometry cells, thus streamlining layout and reducing errors.

  • Xic now supports executable labels. Clicking on this type of label will execute a script.

  • Xic supports a new library file type which can provide multiple levels of indirection to symbol files. The symbols can be extracted from GDSII, CGX, OASIS, or CIF archives.

  • Xic now supports modification of object geometry by setting properties.

  • Xic can now open design files on remote systems through FTP or HTTP protocol transfers. Xic can also now read gzipped GDSII files directly.

  • The Xic/WRspice help system now accepts general URL's, so that help windows can view web pages from the Internet. You can even use this to download updates from this web site.

  • The Xic and WRspice programs have a new "look and feel" due to the use of a new user interface based on the gtk+ toolkit. Here are some screenshots of Xic and WRspice in action: shot1, shot2, shot3.

Xic is available for FreeBSD, Linux, Sun Solaris (sparc), and Microsoft Windows.



Copyright © Whiteley Research Inc. 2004