Substrate Coupling

download Substrate Coupling

of 22

Transcript of Substrate Coupling

  • 8/13/2019 Substrate Coupling

    1/22

    WHITE PAPER

    SUBSTRATE COUPLING ANALYSIS FOR RF CIRCUITS

  • 8/13/2019 Substrate Coupling

    2/22

    TABLE OF CONTENTS

    Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    SCA flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    Data flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    User interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    SIPP process description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    Comments and units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    Substrate layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    Well/buried layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    Diva rules for SCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    Substrate layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    SCA flow properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    Advanced Diva use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    Textual interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    Port data description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    Command-line interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    A simple test structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    Comparison to measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    Low noise amplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

  • 8/13/2019 Substrate Coupling

    3/22

    TABLE OF FIGURES

    Figure 1: Core modeling and extraction data flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    Figure 2: Verification flow for substrate coupling analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    Figure 3: SCA user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    Figure 4: A substrate profile example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    Figure 5: Substrate model including well and buried layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    Figure 6: A simple layout test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    Figure 7: SCA test and calibration structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    Figure 8: LNA extracted view from SCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    Figure 9: Substrate effects on the gain of the LNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    LIST OF TABLES

    Table 1: SCA results compared to measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

  • 8/13/2019 Substrate Coupling

    4/22

    Substrate coupling analysis for RF circuits

    Cadence Design Systems

    San Jose, California

    Abstract

    Substrate Coupling Analysis (SCA) of version 4.4.6 has a substantial capacity and functionality

    increase over previous versions. IES3 is used as its internal field solver engine. Physical verification flow

    use model of SCA, as well as the command-line interface, provides the seamless and flexible application

    of SCA. This article describes the internal flow and application examples of SCA in RF circuits to help

    the customer use SCA more effectively.

    1 Introduction

    Substrate coupling analysis has recently become both an intensive research topic and emerging commer-

    cial EDA demand in mixed-signal and RF applications[3]. The traditionally assumed insulation between

    devices, because of high resistivity and carefully designed junctions, is disappearing to a point where

    coupling between devices should be carefully analyzed. Degradation of noise characteristics in RF cir-

    cuits due to such coupling and susceptibility of analog circuits to wide-range swings of digital signals

    are the main concerns.The features of this release of Cadence SCA can be summerized as follows:

    1. A brand-new efficient field solver

    SCA uses a core Poissons equation field solver called IES3 that uses efficient multilayer Greens

    functions and matrix compression and solving engine. This field solver gives sufficient extraction

    accuracy and speed[2, 1].

    2. Complete and flexible substrate model

    SCA extracts both resistive and capacitive couplings inside the substrate. SCA also provides the

    flexibility for the user to use customized junction models in buried layers and wells. For example,

    the user may worry about the lateral diffusion and thus they use their own model to represent thewell junctions.

    3. Seamless Cadence flow

    1We acknowledge the help and testing from Philips Semicondutor, Sunnyvale, USA and for their work on the evaluation

    circuit.

    1

  • 8/13/2019 Substrate Coupling

    5/22

    Substrate coupling analysis for RF circuits

    SIPP substrate

    profile

    Greens function

    database

    Discretization

    (rectangles,

    triangles)

    Method of Moments

    system matrix procedure

    Matrix

    Compression

    Iterative Solving

    Final model

    (including junction and

    well models)

    Figure 1: Core modeling and extraction data flow

    SCA uses Virtuoso as the layout editor tool (and dfII database), Diva as the verification tool to

    extract the shapes. The final model is generated specifically for Spectre/SpectreRF. No conversion

    between databases and between simulators minimizes the errors introduced in those conversions.

    SCA also provides a textual interface with which the user can adopt SCA into different flows.

    4. Standard process description (SIPP)

    SCA uses the standard process description file format, SIPP (Standard Interconnect Performance

    Parameter). SIPP format, championed by Si2 (http://www.si2.org), aims to standardize the process

    description for parasitic and substrate extraction purpose.

    2 SCA flow

    SCA software is comprised of three integral components: core modeling engine, front-end, and back-

    end. In the front-end, one applies Diva rules to extract the geometry shapes and connectivities, which

    are then fed to the core modeling engine that generates the corresponding substrate model. In the back-

    end, the substrate model is referred in the extracted view that is suitable for special netlisting code that

    assembles the substrate model into the final netlist for simulation.

    2.1 Extraction

    SCA uses IES3 as the core solving engine that solves the underlying Poissons equation. Figure 1 shows

    the data flow of the modeling.

    2

  • 8/13/2019 Substrate Coupling

    6/22

    Substrate coupling analysis for RF circuits 2.2 Data flow

    The substrate profile describes the physical layer structure and the parameters. This profile is used to

    generate the Greens functions that capture the electrical interactions between layers.

    Each port is discretized into panels. Each port is assumed to be of constant electric potential; the

    currents injecting into or received from substrate at each panel are different. For ports of rectangular

    shape, the panels are also rectangles. For ports of general polygon shapes, a built-in triangularization

    procedure discretizes the port into many triangular panels.

    The efficiency of IES3 lies in the matrix compression technique that reduces the matrix solving to

    where

    is the total number of panels. The solving results are then used to construct the final

    model that may include customized junction models.

    2.2 Data flow

    Figure 2 shows the verification flow for the substrate coupling analysis. The smaller dashed window

    depicts the core modeling engine whose only inputs are the process information and port information.

    The core engine is independent of the flow and thus can be used to adapt to other similar flows. Thelarger dashed window describes the entire Cadence SCA flow that includes the front-end and back-end.

    Interactive probing is not part of the delivered flow yet. The user may write his own SKILL scripts

    to aid the probing.

    2.3 User interface

    One generally applies SCA-ready Diva rules (as explained later) on the layout view, and then invoke the

    SCA on the extracted view. The form in Figure 3 will come up.

    The Run directory specifies the directory at which SCA runs the extraction engine. Temporary files

    will be created under that directory. Process file specifies the SIPP substrate description file. Relative

    file path of the process file is with regard to the run directory. Model name specifies the name used

    to represent the substrate. This parameter is used to distinguish substrate models that may exist in one

    circuit. The working frequency specifies the working frequency which is to determine the substrate

    capacitance.

    There are three levels of accurracy.

    low. The main characteristics are: no substrate capacitance; uses float(4 bytes) as data storage and

    solving; each port discretized to 9 panels; SVD compression and GMRES solving at 1e-2; in final

    model, elements smaller than 1e-2 of the diagonal value pruned;

    Fast prototyping use for processes without substrate capacitances;

    medium. Main characteristics: substrate capacitance included; uses complex(16 bytes) as data

    storage and solving; each port discretized to 9 panels; SVD compression and GMRES solving at

    1e-3; in final model, elements smaller than 1e-3 of the diagonal value pruned;

    sufficient for most applications;

    high. Characteristics same as in medium except: each port discretized to 25 panels; no pruning in

    final model.

    good for local scrutiny extraction of a a few ports.

    3

  • 8/13/2019 Substrate Coupling

    7/22

    Substrate coupling analysis for RF circuits 2.3 User interface

    Indentify substrate ports

    in design

    Add DIVA rules to

    create substrate ports

    Layout in

    Virtuoso

    DIVA

    Geometry manipulation

    discretization

    Solving Engine

    Modeling

    Process information

    Reduced substrate

    parasitic model file

    Extracted view/layout

    Original schematic

    SimulateInteractive probing

    (user defined)

    SCA

    engine

    LVS

    port data

    file

    SCA

    flow

    Figure 2: Verification flow for substrate coupling analysis

    4

  • 8/13/2019 Substrate Coupling

    8/22

    Substrate coupling analysis for RF circuits

    Figure 3: SCA user interface

    If the background extraction button is pressed, then the extraction is performed in background; oth-

    erwise, the user can continue only after the extraction is finished.

    If the extraction is successful, a pcell representing the whole substrate model will be shown; other-

    wise, an error dialog box will notify the user of the extraction failure.

    3 SIPP process description

    SCA uses the portion of the SIPP file format to describe the substrate profile. SIPP format describes the

    layered structure that contains interconnect above the device and substrate under the device. SCA only

    parses the portion that defines the substrate structure.

    3.1 comments and units

    Any character from the pound sign to the end of line is treated as comment and will be ignored in the

    parsing.

    The units statement is to specify the units of measure. The syntax is as follows:

    units = {

    distance = m|cm|mm|um|nm|pm

    resistivity = ohm|mohm|uohm|nohm|pohm, m|cm|mm|um|nm|pm

    }

    3.2 substrate layers

    Each layer in the substrate is defined using the type substrate. For example, in Figure 4, L1 is the BP

    layer, and L2 is the P bulk. There can be as many layers as required with arbitrary user-specified names.

    The layers are assumed to be stacked top down from the substrate surface (which is considered the ground

    5

  • 8/13/2019 Substrate Coupling

    9/22

    Substrate coupling analysis for RF circuits 3.3 Well/Buried Layers

    L1

    L2

    w1 pwell w2 nwell

    bl BP

    P bulk

    Figure 4: An substrate profile example

    for interconnect capacitance extraction). Material type describes the layer as being either an oxide layer

    or a semiconductor layer. In the latter case, material type refers to the doping type.

    Type = substrateMaterial Type = p/n/oxide

    Name =

    thickness = starting from bottom of layer layer

    k = dielectric constant of this layer

    resistivity = resistivity of this layer

    3.3 Well/Buried Layers

    Each well in the substrate is defined using the typewell. For example, w1=pwell, w2=nwell.

    Junction depletion capacitance parameter only uses Cj, the zero-bias junction capacitance. We recog-

    nize that most processes have their customized model for junctions and hence we provide a link between

    the process file and the Diva rule setup that allows to use a customized model rather than the simple

    capacitance model internally used.

    Each buried layer is defined using the type buried.

    Type = Well/Buried

    Material Type = p/n/oxide

    Name =

    thickness = starting from the capacitance ground plane for wells

    depth = starting from the capacitance ground plane to top of buried layer

    k = dielectric constant of this layer

    resistivity = resistivity of this layer

    cj = zero-bias junction capacitance

    3.4 Example

    The following is a sample SIPP file for SCA. It has a p channel stop layer of thickness 3um, epi layer

    of 7um, and bulk P substrate of 300um. The process also contains a P well of thickness of 5 um, and a

    buried layer of 2um thick.

    6

  • 8/13/2019 Substrate Coupling

    10/22

    Substrate coupling analysis for RF circuits 3.4 Example

    # This is the sample process file for the substrate coupling analysis.

    # pound sign is for comment.

    # Define units

    units = {

    distance = um

    resistivity = ohm, cm

    }

    # P layer above the bulk substrate

    type = substrate

    material_type = p

    name = bp

    thickness = 3

    k = 1 1resistivity = 2

    # Bulk substrate

    type = substrate

    material_type = p

    name = p_bulk

    thickness = 300

    k = 1 1

    resistivity = 20

    type = wellmaterial_type = n

    name = nwell

    thickness = 3

    k = 1 1

    cj = 1e-9

    type = buried

    material_type = n

    name = BL

    thickness = 2

    depth = 1

    k = 1 1

    cj = 1e-12

    7

  • 8/13/2019 Substrate Coupling

    11/22

    Substrate coupling analysis for RF circuits

    4 Diva rules for SCA

    SCA runs on the extracted view created by the Diva extraction. This extracted view must have special

    properties specified for layers special for SCA purpose. In order to extend SCA capability into normalDiva extraction, Diva extraction must generate an extracted view that has:

    special layers for substrate analysis only; each layer has shapes representing substrate ports and

    these shapes must have nets attached. These nets are usually shared with the nets at the bulk nodes

    of devices.

    special properties specifying the above layers and other properties.

    This section explains these two items and then suggests some advanced Diva rules writing techniques.

    4.1 Substrate layers

    A substrate port is a geometric definition of an active area (device, well, or substrate contact) from

    which and to which substrate coupling is considered important. Because a majority of current flow in the

    substrate occurs between ohmic substrate ties, a substrate port must be defined for every ohmic substrate

    tie (substrate contact or guard ring) in the design. An ohmic contact implies that the contact makes

    an ohmic, rather than capacitive, connection with the substrate (namely, p+ diffusion in a p-substrate

    or n+ diffusion in a n-substrate). Substrate ports must also be defined for every device that potentially

    injects current into the substrate or is sensitive to fluctuations in the substrate potential. In other words,

    every device that is either an injector or a receiver of substrate coupling current must have an equivalent

    substrate port defined.

    Each port must have a net attached, although the net name can be shared with other ports. To assign

    the name in the Diva extraction, create a connected layer to represent the substrate ports for each device

    type. Typically, the substrate port is defined as an area that covers the boundary of the device.To simplify the rules deck, derive all the recognition layers for the ports on the same depth and

    then place them into a single substrate layer scaBulkusing geomOr. You can then connect this layer to

    geomEmptylayers in thegeomConnectstatement and use these layers as the BULKlayer in theextract-

    Devicecommands, as shown below:

    ; Merge the derived recognition layers together

    (scaBulk = (geomOr

    scaWell scaCap scaTaps scaDiode scaRes

    scaPmos scaNmos

    scaNpn scaPnp))

    ; Create dummy connection layers

    (scaVia = (geomEmpty)

    (scaCond = (geomEmpty)

    ; Each port is assigned a net

    (geomConnect (via scaVia scaCond scaBulk))

    ; Save the scaBulk layer

    (saveInterconnect (scaBulk "scab"))

    8

  • 8/13/2019 Substrate Coupling

    12/22

    Substrate coupling analysis for RF circuits 4.2 SCA flow properties

    Sometimes, such as when you are adding depth to a port or creating ports for wells and buried layers,

    it is not possible to use only one substrate port layer. You can use as many layers as you wish to specify

    the ports, but each such layer should have the appropriate properties attached to it.

    Before you start SCA, the connections with substrate ports must be floating. After SCA is finished,

    the port nodes are then electrically connected to the substrate model generated during SCA.

    Some features are worth being mentioned:

    Ports are allowed to have same nets. For example, you may create several guard rings that use the

    same net, ground.

    Prefer rectangular shapes to generic polygon shapes. The reason is that internal extraction en-

    gine discretizes rectangular shapes to smaller rectangular shapes while generic polygon shapes are

    discretized to triangles. Rectangular discretization is considered more efficient.

    For more detailed Diva rules for various devices, please refer to the users manual.

    4.2 SCA flow properties

    In order for SCA to run in the Diva flow, the cellview named scasubckt in analogLibmust be

    accessible. Add the analogLib into the cds.lib.

    SCA also requires one property, subLayers, in the extracted view. Add this property to the ex-

    tracted view with Diva rules by using the ivCallProc command. subLayers is a list of items that

    specify port properties used in the modeling. Each list item may be of one of the following forms:

    (list layername)

    shapes onlayername treated as substrate ports of interest, and depth assumed to be zero;

    (list layername depth)

    shapes on layernametreated as substrate ports of interest, depth(numeric value) specifying

    the depth of those ports;

    (list layername modelname)

    Iflayername is found in the process profile as a well layer, then shapes on this layer will be

    treated as wells that use the junction model named modelname; iflayernameis found in the

    process profile as a buried layer, then shapes on this layer will be treated as buried layers that use

    the junction model named modelname. The difference between well and buried layer is that ports

    that fall in the wells will use the well as the reference.

    Figure 5 shows the model that includes regular substrate ports, well, and buried layer. Each well isconsidered a port with regard to the bulk substrate, but for ports inside each well, the well is the reference

    node.

    A typical way of setting up the properties is like the following Diva code:

    x=(lambda (ids2)

    (if ids2->extracted

    9

  • 8/13/2019 Substrate Coupling

    13/22

    Substrate coupling analysis for RF circuits 4.3 Advanced Diva use

    portportwellburied layer

    bulk node

    Figure 5: Substrate model including well and buried layer

    (dbReplaceProp ids2->extracted "subLayers" "ilList"

    (list

    (list "scaport")

    (list "scadeep" 3.5)

    (list "nwell" "nwell")

    (list "BL" "buried")))))

    (ivCallProc x)

    In this example, scaport andscadeep are regular substrate layers with the former having depth

    of 0 while the latter having depth of 3.5u. Layer nwell is probably an N-well layer and its junctions withp-substrate is modeled bynwell. Layer BL is probably an buried layer and its junctions are modeled

    byburied. Note that these layers must be available for Diva writing.

    4.3 Advanced Diva use

    The flexibility of Diva rule can be used to write more efficient rules for easy use. Here we give two

    examples.

    4.3.1 Selection layer mechanism

    In the Diva setup, one can apply the selection layer technique to select and localize areas that are of

    interest for SCA purpose. This can be achieved by using an LSW layer namedscaport which beforeSCA running is a selection layer but after SCA running is reused as the substrate layer.

    By drawing a shape on the scaport layer, the user specifies that only substrate ports covered by the

    shape will be generated in extracted view and later be processed in the SCA extraction. This mechanism

    can reduce the model and speed up both extraction and simulation by eliminating areas that do not need

    SCA.

    10

  • 8/13/2019 Substrate Coupling

    14/22

    Substrate coupling analysis for RF circuits 4.3 Advanced Diva use

    Normally this can be achieved by the following steps: first ignore scaport and derive the scaBulk

    that defines all the substrate ports, and then use geomInside to derive the ports of interest:

    sca1 = (geomInside scaBulk scaport)

    then sca1 contains substrate ports on layer scaBulk and within the scope defined by shapes on

    scaport. After connectivities are created, we need to save the substrate layers such as:

    (saveInterconnect (sca1 "scaport"))

    All the shapes onsca1 will be saved on the scaport layer in the extracted view.

    4.3.2 SCA switch

    Most users incorporate SCA capabilities by modifying existing Diva rules. There is also a need to have

    a switch that turns on or off the SCA Diva rules. We introduce an example on how to reduce the impact

    on the device recognition code.

    First,subConn is a derived layer for 4-terminal device extraction such as:

    (extractDevice pGate poly("G") nsd("S" "D") subConn("B") "nmos ivpcell")

    Then the trick is to use switch and geomStamp to create a different subConn layer. A simple

    example is given as follows.

    1 psub = (geomBkgnd)

    2 (ivIf (switch "SCA?") then

    3 psub = (geomAndNot psub scaport)

    4 psub = (geomOr (geomInside scaBulk scaport) psub)

    5 subConn = (geomStamp psub pwell)

    6 else

    7 subConn = (geomStamp psub pwell))

    8 (extractDevice pGate poly("G") nsd("S" "D") subConn("B") "nmos ivpcell")

    9 (ivIf (switch "SCA?") then

    10 scaBulks = (geomInside subConn scaport)

    11 (saveInterconnect (scaBulks "scaport")))

    Major additions are in lines 2-6 and 9-11. Without SCA switch, subConn (see line 7), is the

    substrate layer, with the net name stamped from the P-well shapes, that provides as the bulk node for the

    NMOS transistor extraction. With the SCA switch, lines 2-6 break thesubConninto two parts: those

    insidescaport for SCA purpose and the rest with net name stamped from the p-well. Note that in line5, substrate ports will automatically be assigned a unique name if these ports do not overlap with pwell

    shapes. Lines 9-11 save the portion ofsubConn insidescaport with its already assigned net names.

    It can be seen that this mechanism shields the device extraction from the hassle of having to deal

    with SCA differently and reduces the work needed in modifying the original Diva rules.

    11

  • 8/13/2019 Substrate Coupling

    15/22

    Substrate coupling analysis for RF circuits

    5 Textual interface

    The command-line interface to invoking the SCA extraction engine only uses two files: the process file

    and the port data file. The Diva rules and user interface transparently generate the port data file, invokethe engine and put the results back to the extracted view. By using the command-line interface directly,

    the user has the flexibility of using SCA engine without going through the whole verification flow. The

    user will also be able to adapt the engine into his own other flow.

    5.1 Port data description

    The port data file is a simple file that describes:

    the unit for the shape description;

    possible customized model for particular layers;

    substrate port with its associated net name, port name, shape, and depth.

    A typical port file is as follows:

    userUnits "micron"

    userModels "Pwell_a" "pwell"

    userModels "BL" "buried"

    net=2 layer=scaport depth=2 rect ((971.95 238.75) (981.95 370.65))

    net=1 layer=scaport depth=2 poly ((742.1 239.3) (775.55 344.2) (840 239.3))

    The userUnits section specifies the unit for the shape description. Only micron and meter are

    supported. The default value is micron.The UserModels sections specify the customized model for shapes that are on the first parameter

    using the model name specified on the second parameter. For example, in the above port data file, shapes

    on layer Pwell a will use model name of pwell, and shapes on layer BL will use model name

    of buried. Any shapes that are not on the layers specified inuserModels sections will be treated

    as regular substrate port.

    The rest of the port data file specifies the substrate ports. Each port starts with the net name followed

    by the layer name. Layer names should correspond to the substrate/well/buried layer names specified in

    the process file. The following depth specifies the port depth that sometimes gives significantly different

    results. rect and poly specify the shape of the port, rectangular and polygonal respectively. A

    parenthesized data structure then follows to define the actual shape. For rectangular shape, two points

    define the left-lower corner and the upper-right corners respectively. For polygon shapes, each pointbecomes the polygon point in either clockwise or counter-clockwise direction.

    5.2 Command-line interface

    The command line is as follows:

    12

  • 8/13/2019 Substrate Coupling

    16/22

    Substrate coupling analysis for RF circuits

    subx options

    where each option comprises of the switch and its value. The switches are:

    -procfile procfile_name

    -portfile portfile_name

    -modelfile modelfile_name

    -modelname modelname

    -acculevel {low|medium|high}

    -freq frequency

    -procfilespecifies the SIPP file that describes the substrate layer structure; -portfile spec-

    ifies the port data file that describes the substrate ports; -modelfilespecifies the file to be created

    that contains the subckt model for the entire substrate; -modelname specifies the name of the sub-

    ckt; -acculevelspecifies the accuracy level: low, medium and high; -freq specifies the working

    frequency, which defaults to 1e9 Hz. Here is an example invocation:

    subx -procfile sample.proc -portfile port.data -modelfile substrate.scs \\

    -modelname substrate -acculevel medium

    6 Examples

    We give one simple example to demonstrate the data file format and results. We then present some real

    applications.

    6.1 A simple test structureFigure 6 is a simple test structure to demonstrate many concepts. There are three layers: well layer

    Pwell a, regular port layer L0, and buried layer BL. Diva extraction assigns nets to all the shapes. The

    SCA run will place the scasubcktpcell into the extracted view. As is shown in Figure 6, terminals

    of the pcell are electrically connected to the ports. The internally created net on the well, although not

    shown explicitly in the figure, is still correctly connected to the pcell in the netlist.

    The process file uses the example in Section 3.4 except that the well name is changed to Pwell a.

    The Diva rule file is as follows:

    ; This is the test Diva file.

    ; sca:

    (drcExtractRules

    lo = geomOr( "LO" )

    bl = geomOr( "BL" )

    pwell = geomOr( "Pwell_a" )

    sav = geomEmpty()

    (ivIf (switch "sca") then

    13

  • 8/13/2019 Substrate Coupling

    17/22

    Substrate coupling analysis for RF circuits 6.1 A simple test structure

    6

    A1

    B1 B2

    A2

    BL1Pwell_a

    BL

    L0

    Figure 6: A simple layout test

    (geomConnect

    (via sav pwell pwell) ; net added on pwell

    (via sav lo lo) ; net added on lo

    (via sav bl bl) ; net added on bl

    )

    x=(lambda (ids2)

    (if ids2->extracted

    (dbReplaceProp ids2->extracted "subLayers" "ilList"(list

    (list "Poly1") ; port

    (list "Pwell_a" "pwell") ; well layer

    (list "BL" "buried"))))) ; buried layer

    (ivCallProc x)

    saveInterconnect((lo "Poly1" ) (bl "BL") (pwell "Pwell_a"))

    )

    )

    In the run directory, SCA creates an intermediary file, port.data, that describes the entire port

    distribution. Theport.data file is shown as follows:

    userUnits "micron"

    userModels "Pwell_a" "pwell"

    userModels "BL" "buried"

    net=b2 layer=Poly1 depth=0 rect ((80.0 50.0) (100.0 60.0))

    net=a2 layer=Poly1 depth=0 rect ((80.0 70.0) (100.0 80.0))

    net=b1 layer=Poly1 depth=0 rect ((50.0 50.0) (70.0 60.0))

    14

  • 8/13/2019 Substrate Coupling

    18/22

    Substrate coupling analysis for RF circuits 6.2 Comparison to measurement

    net=a1 layer=Poly1 depth=0 rect ((50.0 70.0) (70.0 80.0))

    net=6 layer=Pwell_a depth=0 rect ((43.9 41.5) (74.0 86.9))

    net=bl1 layer=BL depth=0 rect ((115.0 41.7) (130.3 87.7))

    Note that although the depth of the bl1 port is specified as 0 in the port data file, since the layer

    name matches the buried layer name specified in the process file, the actual depth is obtained from the

    process file. The substrate model is generated as follows:

    // This file is generated by the subX tool.

    subckt substrate (b2 a2 b1 a1 6 bl1 ref)

    // model inside well of net 6 on layer Pwell_a

    // Junction models for wells

    c0_well_6 (int_6 6) pwell area=1.366540e-09 perimeter=1.056000e-04

    r1_b1_a1 (b1 a1) resistor r=2.103082e+03

    r2_b1_int_6 (b1 int_6) resistor r=8.077988e+02

    r3_a1_int_6 (a1 int_6) resistor r=8.077045e+02// model of net bl1 on layer BL

    c4_buried_bl1 (int_bl1 bl1) buried area=7.038000e-10 perimeter=7.660000e-05

    // Models at the top level

    r5_b2_a2 (b2 a2) resistor r=2.509657e+03

    r6_b2_6 (b2 6) resistor r=1.943236e+03

    r7_b2_int_bl1 (b2 int_bl1) resistor r=3.953767e+03

    r8_b2_ref (b2 ref) resistor r=1.371588e+03

    r9_a2_6 (a2 6) resistor r=2.066437e+03

    r10_a2_int_bl1 (a2 int_bl1) resistor r=3.895700e+03

    r11_a2_ref (a2 ref) resistor r=1.338032e+03

    r12_6_int_bl1 (6 int_bl1) resistor r=4.478318e+04

    r13_6_ref (6 ref) resistor r=3.044599e+02

    r14_int_bl1_ref (int_bl1 ref) resistor r=3.982237e+02ends substrate

    Note that the substrate model corresponds to the structure shown in Figure 5.

    6.2 Comparison to measurement

    SCA assumes that each substrate layer is of homogeneous electrical properties. In reality, however, such

    is not the case. For example, the doping profile is actually a very complicated function of depth. Nev-

    ertheless, we can still use measurement to calibrate the substrate profile and obtain reasonable average

    values.

    Figure 7 is a test structure made specifically for such calibration and comparison. Note that in this

    example, we implement a selection layer mechanism: only ports within the selection box are processed.Figure 7 shows a selection box that encloses three ports.

    We have achieved reasonable match between the measurement and extraction results, shown in Ta-

    ble 1. More important, these results demonstrate the consistency of SCA extraction. For a large class of

    port configurations, the results are within 4%.

    15

  • 8/13/2019 Substrate Coupling

    19/22

    Substrate coupling analysis for RF circuits 6.2 Comparison to measurement

    Selection box

    Figure 7: SCA test and calibration structure

    Coupling pads Extraction (

    ) Measurement(

    )

    11-13 141 146

    15-16 262 250

    19-21 299 294

    6-8 333 339

    Table 1: SCA results compared to measurement

    16

  • 8/13/2019 Substrate Coupling

    20/22

    Substrate coupling analysis for RF circuits 6.2 Comparison to measurement

    Capacitor

    ResistorCapacitor

    NPN transistorSCA pcell

    Resistor

    Figure 8: LNA extracted view from SCA

    0 0.5 1 1.5 2 2.5 3

    x 109

    40

    30

    20

    10

    0

    10

    20

    30

    frequency

    S21(dB)

    without SCA

    with SCA

    Figure 9: Substrate effects on the gain of the LNA

    17

  • 8/13/2019 Substrate Coupling

    21/22

    Substrate coupling analysis for RF circuits 6.3 Low noise amplifier

    6.3 Low noise amplifier

    SCA can be used to both investigate the coupling noise and the guard ring effects. The RF circuits are

    very sensitive to substrate effects through the device bulk terminal. Figure 8 is a low noise ampliferthat has nominal gain of 20dB at the operating frequency. Running SCA on this circuit generates quite

    different results for the gain of the amplifer, shown in Figure 9. Careful investigation reveals that the

    gain of the amplifer is very sensitive to the voltage of the bulk node of the main transistor. One way of

    reducing these effects is through biasing close to the main device. SCA tool helps to extract the substrate

    parasitics and debug the problematic circuits.

    7 Summary

    SCA provides a seamless substrate extraction and analysis capability within the Cadence custom RF IC

    design and verification flow of Virtuoso/Composer/Artist/SpectreRF. It uses an efficient Greens function

    database and field solver to solve the complicated field interactions inside the substrate. It supports Spec-tre and SpectreRF socket and direct netlisting and regular Diva functions. We have strived to provide a

    smooth Diva/SCA verification flow as well as the flexibility of textual interface. SCA has been calibrated

    in real production process and used in production circuit verification.

    New features in the plan include:

    Higher capacity to work in large-scale mixed-signal design and verification environment;

    Interactive probing to help design pinpoint the substrate problems.

    Integration with Assura product family.

    References

    [1] J. Zhao, W. Dai, S. Kapur, and D. Long. Efficient three-dimensional extraction based on static

    and full-wave layered greens functions. InDesign and Automation Conference, pages 2249, San

    Francisco, June 1998. New York, NY, USA: IEEE.

    [2] S. Kapur and D. Long. IES

    : A fast integral equation solver for efficient 3-dimensional extractions.

    In37th International Conference on Computer Aided Design, Nov 1997.

    [3] X. Aragones, J.L. Gonzalez, and A. Rubio. Analysis and solutions for switching noise coupling in

    mixed-signal ICs. Kluwer Academic Publishers : Boston, 1999.

    18

  • 8/13/2019 Substrate Coupling

    22/22

    Cadence Design Systems, Inc.

    Corporate Headquarters

    2655 Seely Avenue

    San Jose, CA 95134

    800.746.6223

    408.943.1234

    www.cadence.com

    2001 Cadence Design Systems, Inc. All rights reserved. Cadence and the Cadence logo areregistered trademarks and how big can you dream? is a trademark of Cadence Design