First and foremost, Xic is an editor for integrated circuit mask layouts. Although, in large measure, the notion of mask layout from manual polygon placement has disappeared in modern electronics, having been replaced by automated cell place and route, there are still many instances where layout viewing and editing are essential. Xic is designed the make this task efficient and straightforward.
Xic makes use of a proprietary database technology which provides extremely fast access to spatially-keyed data. The database technology has changed several times over the life of the program, and the current database, though invisible to users, is an important achievement.
Xic has a complete set of features for creating, moving, transforming, and modifying geometrical features and subcells, with complete undo/redo capability. Most of these features are accessed from the side menu, and from the Edit Menu and Modify Menu. Basic mouse operations allow selection, and moving, copying, or stretching selected objects. The ability to create physical text or crude images (e.g., for company logos) is built in.
Xic operates on a cell hierarchy, and has commands to push and pop the editing context through the hierarchy, and to flatten the hierarchy to arbitrary depth.
Some releases of Xic are 32-bit applications, and as such have an inherent memory limitation of about 3Gb. Xic has internal memory management which is designed to use as much available virtual memory as possible. On a system with sufficient memory, 2-3 GB files can be read in for editing directly. In Xic releases compiled for 64-bits, there is no such memory limitation.