Standard Parasitic Exchange Format
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 syntaxSPEF (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. General SyntaxA typical SPEF file will have 4 main sections:
Generally, SPEF keywords are preceded with an asterisk, for example: Comments start anywhere on a line with Header InformationThe 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 Ω. Name Map SectionTo 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, Port SectionThe 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
ParasiticsEach extracted net will have a *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 *CONN SectionThe The syntax of the *I <pin name> <direction> *C <xy coordinate> <loading or driving information> Where:
*CAP SectionThe A capacitor lumped to ground has three fields:
Example1 regcontrol_top/GRC/U9743:E 0.936057 A coupling capacitor has four fields:
Example2 regcontrol_top/GRC/U9409:A regcontrol_top/GRC/U10716:Z 0.622675 If net *RES SectionThe Entries in the
Example1 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. Parasitic ValuesThe 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. The Difference Between Parasitic Data FormatsSPEF 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, 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 References
|
Portal di Ensiklopedia Dunia