There are three internal operations performed by the extraction system: grouping, extraction, and association. These operations are performed as needed, and have to be performed only once, unless the cell is modified. This accounts for the delay and activity noted in response to initiating many of the command buttons and other operations related to the Extract Menu. The technology file specifies the information necessary to perform these operations.
The extraction subsystem requires that a number of items be set up properly in the technology file. This includes the setting of keywords in layer blocks to identify layers that serve as conductors or vias, and definition of device blocks which allow certain devices to be recognized by their physical structure. Wire nets and subcircuit connectivity are determined automatically by assembling groups of similar objects that touch or overlap, or are connected through a via. Once conductor groups are established, devices are extracted, and device terminals are assigned a conductor group index. This results in a description of the circuit which can be compared with the electrical schematic for consistency.
In the present version, all device extraction is performed automatically, thus there is no need or provision for manual placement of device terminals. The connection terminals to the current cell are created in the schematic with the subct button in the side menu. It is possible to manually place the corresponding physical cell terminals in the layout with the Edit Terminals button in the Views and Operations page of the Extraction Setup panel from the Setup button in the Extract menu. However this is not always necessary, as Xic will attempt to place the terminals at a correct position in the layout automatically. If this fails, manually placing terminals will assist in the association process, and may be needed in some cases to resolve ambiguity.
Many of the devices in the device library have physical terminal extensions in their node data structures. These are the ``physical'' devices, such as resistors, capacitors, and transistors. Other devices, such as voltage and current sources, are not physically implementable and have the nophys property assigned. These devices have no physical terminal extensions, thus will not appear in netlists generated from the physical layout. There is a third class of ``device'' in the device library, which includes the gnd (ground) and tbar terminals. These have no explicit physical implementation, but are an implicit part of the wiring net as they assign connections by name to locations in the schematic. All points connected to terminal devices with the same name are logically connected together. The terminal devices include multi-contact (``bus'') terminals, which again pertain to the schematic only and have no counterpart in the layout.
When a device is placed in the electrical schematic, a physical terminal for each device connection is associated with the physical cell. In physical mode, these terminals are made visible with the All Terminals and Cell Terminals Only check boxes in the Show group in the Views and Operations page of the Extraction Setup panel. Before association, these terminals are grouped just outside of the lower left corner of the physical cell's bounding box. During association, these terminals are automatically moved to their proper locations in the physical layout, if the corresponding physical device structure is correctly identified and associated. One can select and investigate physical devices in the layout with the Show/Select Devices panel from the Device Selections button in the Extract Menu.
Separate commands are available in the Extract Menu for generating netlist files from the physical (Dump Phys Netlist) and electrical (Dump Elec netlist) data. The Dump LVS command performs the layout vs. schematic comparison, and prints differences in a file which can be displayed on-screen.