This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations .(September 2021) |
Standard Parasitic Exchange Format (SPEF) is an IEEE standard for representing parasitic data of wires in a chip in ASCII format. Non-ideal wires have parasitic resistance and capacitance that are captured by SPEF. These wires also have inductance that is not included in SPEF. SPEF is used for delay calculation and ensuring signal integrity of a chip which eventually determines its speed of operation.
SPEF is the most popular specification for parasitic exchange between different tools of electronic design automation (EDA) domain during any phase of design. The specification for SPEF is a part of the 1481-1999 IEEE Standard for Integrated Circuit (IC) Delay and Power Calculation System. The latest version of SPEF is part of 1481-2019 IEEE Standard for Integrated Circuit (IC) Open Library Architecture (OLA) .
SPEF is extracted after routing in place and route stage. This helps in the accurate calculation of IR-drop analysis and other analysis after routing. This file contains the R and C parameters depending on the placement of a tile/block and the routing among the placed cells.
SPEF (Standard Parasitic Exchange Format) is documented in chapter 9 of IEEE 1481-1999. Several methods of describing parasitics are documented, but we are discussing only a few important ones.
A typical SPEF file will have 4 main sections:
Generally, SPEF keywords are preceded with an asterisk, for example: *R_UNIT
, *NAME_MAP
and *D_NET
.
Comments start anywhere on a line with //
and run to the end of the line. Each line in a block of comments must start with //
.
The header section is 14 lines containing information about:
When reading SPEF, it is important to check the header for units as they vary across tools. By default, SPEF from Astro will be in pF and kΩ while SPEF from Star-RCXT and Quantus QRC will be in fF and Ω.
To reduce file size, SPEF allows long names to be mapped to shorter numbers preceded by an asterisk. This mapping is defined in the name map section. For example:
*NAME_MAP *509 F_C_EP2 *510 F_C_EP3 *511 F_C_EP4 *512 F_C_EP5 *513 TOP/BUF_ZCLK_2_pin_Z_1 *514 TOP/BUF_ZCLK_3_pin_Z_1 *515 TOP/BUF_ZCLK_4_pin_Z_1
Later in the file, F_C_EP2
can be referred to by its name or by *509
. Name mapping in SPEF is not required. Also, mapped and non-mapped names can appear in the same file. Typically, short names such as a pin named A will not be mapped as mapping would not reduce file size. One can write a script to map the numbers back into names. This will make SPEF easier to read, but greatly increase file size.
The port section is simply a list of the top level ports in a design. They are also annotated as input, output or bidirect with an I, O or B. For example:
*PORTS *1 I *2 I *3 O *4 O *5 O *6 O *7 O *8 B *9 B
Each extracted net will have a *D_NET
section. This will usually consist of a *D_NET
line, a *CONN
section, a *CAP
section, *RES
section, and an *END
line. Single pin nets will not have a *RES
section. Nets connected by abutting pins will not have a *CAP
section.
*D_NET regcontrol_top/GRC/n13345 1.94482 *CONN *I regcontrol_top/GRC/U9743:E I *C 537.855 9150.11 *L 3.70000 *I regcontrol_top/GRC/U9409:A I *C 540.735 9146.02 *L 5.40000 *I regcontrol_top/GRC/U9407:Z O *C 549.370 9149.88 *D OR2M1P *CAP 1 regcontrol_top/GRC/U9743:E 0.936057 2 regcontrol_top/GRC/U9409:A regcontrol_top/GRC/U10716:Z 0.622675 3 regcontrol_top/GRC/U9407:Z 0.386093 *RES 1 regcontrol_top/GRC/U9743:E regcontrol_top/GRC/U9407:Z 10.7916 2 regcontrol_top/GRC/U9743:E regcontrol_top/GRC/U9409:A 8.07710 3 regcontrol_top/GRC/U9409:A regcontrol_top/GRC/U9407:Z 11.9156 *END
The *D_NET
line tells the net name and the net's total capacitance. This capacitance will be the sum of all the capacitances in the *CAP
section.
The *CONN
section lists the pins connected to the net. A connection to a cell instance starts with a *I
. A connection to a top level port starts with a *P
.
The syntax of the *CONN
entries is:
*I <pin name> <direction> *C <xy coordinate> <loading or driving information>
Where:
I
, O
, or B
, corresponding to input, output, or bidirectional signals, respectively.*L
and the pin's capacitance.*D
and the driving cell's type.*P
port entries may not be accurate because some extraction tools look for the physical location of the logical port (which does not exist) rather than the location of the corresponding pin.The *CAP
section provides detailed capacitance information for the net. Entries in the *CAP
section come in two forms, one for a capacitor lumped to ground and one for a coupled capacitor.
A capacitor lumped to ground has three fields:
1 regcontrol_top/GRC/U9743:E 0.936057
A coupling capacitor has four fields:
2 regcontrol_top/GRC/U9409:A regcontrol_top/GRC/U10716:Z 0.622675
If net A
is coupled to net B
, the coupling capacitor will be listed in each net's *CAP
section.
The *RES
section provides the resistance network for the net.
Entries in the *RES
section contain 4 fields:
1 regcontrol_top/GRC/U9743:E regcontrol_top/GRC/U9407:Z 10.7916
The resistance network for a net can be very complex. SPEF can contain resistor loops or seemingly ridiculously huge resistors even if the layout is a simple point to point route. This is caused by the extraction tool cutting nets into tiny pieces for extraction and then mathematically stitching them back together when writing SPEF.
The above examples show a single parasitic value for each capacitor or resistor. It is up to the parasitic extraction and delay calculation flow to decide which corner this value represents. SPEF also allows for min:typ:max values to be reported:
1 regcontrol_top/GRC/U9743:E 0.936057:1.02342:1.31343
The IEEE standard requires either 1 or 3 values to be reported; however, some tools will report min:max pairs and it is expected that tools may report many corners (corner1:corner2:corner3:corner4) in the future.
SPEF is not the same as SPF (including DSPF and RSPF). Detailed Standard Parasitic Format is a very different format, meant to be useful in a SPICE simulation. For example, *NET
sections do not have endings, and comments should start with two asterisks.
A brief syntax of the DSPF format is as shown below.
*DSPF 1.0 *DIVIDER / *DELIMITER : *BUS_DELIMITER [ ] *|GROUND_NET NetName .SUBCKT *NET NetName NetCap *|I(InstancePinName InstanceName PinName PinType PinCap X Y) *|P(PinName PinType PinCap X Y) *|S(SubNodeName X Y) .ENDs .END
The acronyms stand for:
SPF is a Cadence Design Systems standard for defining netlist parasitics. DSPF and RSPF are the two forms of SPF; the term SPF itself is sometimes used (or misused) to represent parasitics in general. DSPF and RSPF both represent parasitic information as an RC network. RSPF represents each net as an RC "pi" model, which consists of an equivalent "near" capacitance at the driver of the net, an equivalent "far" capacitance for the net, and an equivalent resistance connecting these two capacitances. Each net has a single "pi" network for the network, regardless of how many pins are on the net. In addition to the pi network, RSPF causes the PrimeTime tool to calculate an Elmore delay for every pin-to-pin interconnects delay.
In contrast, DSPF models a detailed network of RC parasitics for every net. DSPF is therefore more accurate than RSPF, but DSPF files can be an order of magnitude larger than RSPF files for the same design. In addition, there is no specification for coupling caps in DSPF. DSPF is more similar to a SPICE netlist than the other formats. SPEF is an Open Verilog Initiative (OVI) — and now IEEE — format for defining netlist parasitics. SPEF is not identical to the SPF format, although it is used in a similar manner. Like the SPF format, SPEF includes resistance and capacitance parasitics. Also like the SPF format, SPEF can represent parasitics in detailed or reduced (pi-model) forms, with the reduced form probably being more commonly used. SPEF also has a syntax that allows the modeling of capacitance between different nets, so it is used by the PrimeTime SI (crosstalk) analysis tool. SPEF is smaller than SPF and DSPF because the names are mapped to integers to reduce file size.
SBPF is a Synopsys binary format supported by PrimeTime. Parasitic data converted to this format occupies less disk space and can be read much faster than the same data stored in SPEF format. You can convert parasitics to SBPF, by reading them in and then writing them out with the write_parasitics -format sbpf
command.
In electronic design, a netlist is a description of the connectivity of an electronic circuit. In its simplest form, a netlist consists of a list of the electronic components in a circuit and a list of the nodes they are connected to. A network (net) is a collection of two or more interconnected components.
Capacitance is the capacity of a material object or device to store electric charge. It is measured by the charge in response to a difference in electric potential, expressed as the ratio of those quantities. Commonly recognized are two closely related notions of capacitance: self capacitance and mutual capacitance. An object that can be electrically charged exhibits self capacitance, for which the electric potential is measured between the object and ground. Mutual capacitance is measured between two components, and is particularly important in the operation of the capacitor, an elementary linear electronic component designed to add capacitance to an electric circuit.
SPICE is a general-purpose, open-source analog electronic circuit simulator. It is a program used in integrated circuit and board-level design to check the integrity of circuit designs and to predict circuit behavior.
In electronics, a varicap diode, varactor diode, variable capacitance diode, variable reactance diode or tuning diode is a type of diode designed to exploit the voltage-dependent capacitance of a reverse-biased p–n junction.
An electrolytic capacitor is a polarized capacitor whose anode or positive plate is made of a metal that forms an insulating oxide layer through anodization. This oxide layer acts as the dielectric of the capacitor. A solid, liquid, or gel electrolyte covers the surface of this oxide layer, serving as the cathode or negative plate of the capacitor. Because of their very thin dielectric oxide layer and enlarged anode surface, electrolytic capacitors have a much higher capacitance-voltage (CV) product per unit volume than ceramic capacitors or film capacitors, and so can have large capacitance values. There are three families of electrolytic capacitor: aluminium electrolytic capacitors, tantalum electrolytic capacitors, and niobium electrolytic capacitors.
Capacitors and inductors as used in electric circuits are not ideal components with only capacitance or inductance. However, they can be treated, to a very good degree of approximation, as being ideal capacitors and inductors in series with a resistance; this resistance is defined as the equivalent series resistance (ESR). If not otherwise specified, the ESR is always an AC resistance, which means it is measured at specified frequencies, 100 kHz for switched-mode power supply components, 120 Hz for linear power-supply components, and at its self-resonant frequency for general-application components. Additionally, audio components may report a "Q factor", incorporating ESR among other things, at 1000 Hz.
In semiconductor design, standard-cell methodology is a method of designing application-specific integrated circuits (ASICs) with mostly digital-logic features. Standard-cell methodology is an example of design abstraction, whereby a low-level very-large-scale integration (VLSI) layout is encapsulated into an abstract logic representation.
Integrated circuit design, semiconductor design, chip design or IC design, is a sub-field of electronics engineering, encompassing the particular logic and circuit design techniques required to design integrated circuits, or ICs. ICs consist of miniaturized electronic components built into an electrical network on a monolithic semiconductor substrate by photolithography.
In electronics, the Miller effect accounts for the increase in the equivalent input capacitance of an inverting voltage amplifier due to amplification of the effect of capacitance between the amplifier's input and output terminals, and is given by
An EDA database is a database specialized for the purpose of electronic design automation. These application specific databases are required because general purpose databases have historically not provided enough performance for EDA applications.
Delay calculation is the term used in integrated circuit design for the calculation of the gate delay of a single logic gate and the wires attached to it. By contrast, static timing analysis computes the delays of entire paths, using delay calculation to determine the delay of each gate and wire.
The Layout Versus Schematic (LVS) is the class of electronic design automation (EDA) verification software that determines whether a particular integrated circuit layout corresponds to the original schematic or circuit diagram of the design.
A switched capacitor (SC) is an electronic circuit that implements a function by moving charges into and out of capacitors when electronic switches are opened and closed. Usually, non-overlapping clock signals are used to control the switches, so that not all switches are closed simultaneously. Filters implemented with these elements are termed switched-capacitor filters, which depend only on the ratios between capacitances and the switching frequency, and not on precise resistors. This makes them much more suitable for use within integrated circuits, where accurately specified resistors and capacitors are not economical to construct, but accurate clocks and accurate relative ratios of capacitances are economical.
In integrated circuit design, physical design is a step in the standard design cycle which follows after the circuit design. At this step, circuit representations of the components of the design are converted into geometric representations of shapes which, when manufactured in the corresponding layers of materials, will ensure the required functioning of the components. This geometric representation is called integrated circuit layout. This step is usually split into several sub-steps, which include both design and verification and validation of the layout.
IP-XACT, also known as IEEE 1685, is an XML format that defines and describes individual, re-usable electronic circuit designs to facilitate their use in creating integrated circuits. IP-XACT was created by the SPIRIT Consortium as a standard to enable automated configuration and integration through tools and evolving into an IEEE standard.
Altos Design Automation, Inc. was an electronic design automation software company. Altos developed and marketed cell and semiconductor intellectual property (IP) characterization tools that created library views for timing, signal integrity and power analysis and optimization. The Altos tools were fully automated and the company claimed that its tools are extremely fast. The Altos tools were used by engineers employing both corner-based and statistical-based design implementation flows to reduce time-to -market and improve yield.
Spectre is a SPICE-class circuit simulator owned and distributed by the software company Cadence Design Systems. It provides the basic SPICE analyses and component models. It also supports the Verilog-A modeling language. Spectre comes in enhanced versions that also support RF simulation (SpectreRF) and mixed-signal simulation.
In electronic design automation, parasitic extraction is the calculation of the parasitic effects in both the designed devices and the required wiring interconnects of an electronic circuit: parasitic capacitances, parasitic resistances and parasitic inductances, commonly called parasitic devices, parasitic components, or simply parasitics.
LTspice is a SPICE-based analog electronic circuit simulator computer software, produced by semiconductor manufacturer Analog Devices. It is the most widely distributed and used SPICE software in the industry. Though it is freeware, LTspice is not artificially restricted to limit its capabilities. It ships with a library of SPICE models from Analog Devices, Linear Technology, Maxim Integrated, and third-party sources.
Power integrity or PI is an analysis to check whether the desired voltage and current are met from source to destination. Today, power integrity plays a major role in the success and failure of new electronic products. There are several coupled aspects of PI: on the chip, in the chip package, on the circuit board, and in the system. Four main issues must be resolved to ensure power integrity at the printed circuit board level: