Layout Compaction

Embed Size (px)

Citation preview

  • 8/2/2019 Layout Compaction

    1/36

    LAYOUT COMPACTION

  • 8/2/2019 Layout Compaction

    2/36

    VLSI DESIGN INTRODUCTION

    Large no of devices.

    Optimization requirements

    for high performance.

    Area.

    Speed.

    Power dissipation.

    Design time.

    Testability.

  • 8/2/2019 Layout Compaction

    3/36

    VLSI DESIGN CYCLE

    1. System specification

    2. Functional design

    3. Logic design

    4. Circuit design

    5. Physical design

    6. Design verification7. Fabrication

    8. Packaging, testing, and debugging

  • 8/2/2019 Layout Compaction

    4/36

    PHYSICAL DESIGN

    Converts a circuit description into a geometric

    description.

    This description is used for fabrication of the chip.

    Basic steps in the physical design cycle:

    i. Partitioning

    ii. Floorplanning and placementiii. Routing

    iv. Compaction

  • 8/2/2019 Layout Compaction

    5/36

  • 8/2/2019 Layout Compaction

    6/36

    PHYSICAL DESIGN IN DETAIL

  • 8/2/2019 Layout Compaction

    7/36

  • 8/2/2019 Layout Compaction

    8/36

  • 8/2/2019 Layout Compaction

    9/36

    Compaction tries to minimize total layout area while

    Retaining speedRespecting violating design rules anddesigner-specified constraints

    Three ways to minimize the layout area

    Reducing inter-feature spaceCheck spacing design rules

    Reducing feature size Check size rules

    Reshaping features

    Electrical connectivity must be preserved

  • 8/2/2019 Layout Compaction

    10/36

    DESIGN RULES

    Interface between Design Engineer and ProcessEngineer

    Guidelines for constructing process masks

    Unit dimension: Minimum line width

    Scalable design rules: lambda parameter Absolute dimensions (micron rules)

  • 8/2/2019 Layout Compaction

    11/36

    PROCESS LAYERS

  • 8/2/2019 Layout Compaction

    12/36

  • 8/2/2019 Layout Compaction

    13/36

    Constraint Graph Based Compaction

    Constraint graph G = (V,E)

    Each vertex v V represents a component.

    The set of edges (E) represents constraints.

  • 8/2/2019 Layout Compaction

    14/36

    Connectivity Constraints

    If two features X and Y are required to be within adistance s of each other.

    A physical connection can be represented in thegraph as a pair of edges between X and Y, each withweight s.

  • 8/2/2019 Layout Compaction

    15/36

    Separation Constraints

    Two features X and Y are required to be at leastd units apart from each other.

    Represented as an edge from X to Y of weight d.

  • 8/2/2019 Layout Compaction

    16/36

    Example

  • 8/2/2019 Layout Compaction

    17/36

    Virtual Grid Based Compaction This method assumes that the layout is to be drawn

    on a grid.

    Each component is considered attached to a grid line.

    The compaction operation compresses the grid along

    with all components placed on it keeping the gridlines straight along the way.

    The minimum distance between two adjacent gridlines depends on the components on these gridlines.

    X-compaction is followed by Y-compaction.Advantage: Simple and easy to implement.

    Disadvantage: Does not produce compact layouts as

    compared to the constraint graph method.

  • 8/2/2019 Layout Compaction

    18/36

    Example

  • 8/2/2019 Layout Compaction

    19/36

    2- Dimensional Compaction

    2-D compaction is in general much better than

    performing 1-D compaction.

    2-D compaction, if solved optimally, produces

    minimum-area layouts.

    It is very time consuming.

    Thus 1-D compaction techniques have beenproposed.

    Perform x-direction compaction moves whilemaking small moves in the y-direction.

  • 8/2/2019 Layout Compaction

    20/36

  • 8/2/2019 Layout Compaction

    21/36

    Example

  • 8/2/2019 Layout Compaction

    22/36

    1-Dimensional Compaction

    A deterministic algorithm.Key idea is to provide enough lateral

    movements to blocks during compaction toresolve interferences.

    This is called 1-dimensional compactor, sincethe geometry is not as free as in true 2-dimensional compaction.

    The algorithm maintains an X-Y adjacencygraph.

    Vertices represent blocks.

    Edges represent horizontal and vertical adjacency.

  • 8/2/2019 Layout Compaction

    23/36

    Two blocks have a horizontal edge if they share a

    vertical boundary.

    Two blocks have a vertical edge if they share ahorizontal boundary.

    The labels on the edges represent the minimum

    allowable distance between blocks.

    Four additional vertices are added to keep all the blockswithin the required bounded rectangle.

    Free space is ignored in computing the neighborhood

    edges between blocks

    The algorithm assumes that the input is a partially

    completed layout, obtained by two applications of a 1-Dcompactor.

  • 8/2/2019 Layout Compaction

    24/36

  • 8/2/2019 Layout Compaction

    25/36

    Maintains two lists floor and ceiling.

    Floor consists of all the blocks which are visiblefrom the top, and may become a neighbor offuture block.

    Ceiling is a list of all blocks which can be movedimmediately (namely, those which are visiblefrom the bottom).

    Selects the lowest block in the ceiling list andmoves it to the place on the floor which

    maximizes the gap betweenfloor and ceiling. The process is continued until all blocks aremoved from ceiling tofloor.

  • 8/2/2019 Layout Compaction

    26/36

    Layout Constraints

    For a given layout instance, all features may bedescribed by a set of placement constraints

    These layout constraints are imposed by designrules Min spacing (separation) design rules

  • 8/2/2019 Layout Compaction

    27/36

    Expressing constraints

  • 8/2/2019 Layout Compaction

    28/36

  • 8/2/2019 Layout Compaction

    29/36

    Goal of 1-D compaction is to generate a minimumwidth layout.

    Determination of minimum width is equivalent tosolving a longest path problem.

    The longest path from source to a vertex is thecoordinate of the vertex.

    In practical layouts, the constraints graphs are verylocal. Most edges represent very local constraints in thelayout.

    Theoretically, run time is O(|V|+|E|) Practically, run time is close to linear in |V|, the size ofthe layout!

  • 8/2/2019 Layout Compaction

    30/36

    Compute the longest path in a graph G = (constraints is aset of labels, Origin is the super-source of the DAG)Forward-prop(W){for each vertex v in Wfor each edge from vvalue(w) = max(value(w), value(v) + value(w) + constraint())

    if all incoming edges of w have been traversedadd w to W}Longest path(G)Forward_prop(Origin)}

  • 8/2/2019 Layout Compaction

    31/36

    Compute the longest path in a graph G = (constraints is a set of labels, Origin is the super-source of the DAG)Forward-prop(W) {for each vertex v in Wfor each edge from v

    value(w) = max(value(w), value(v) + value(w) + constraint())if all incoming edges of w have been traversedadd w to W}Longest path(G)Forward_prop(Origin)

    }

  • 8/2/2019 Layout Compaction

    32/36

    Compute the longest path in a graph G = (constraints is a

    set of labels, Origin is the super-source of the DAG)Forward-prop(W){for each vertex v in Wfor each edge from vvalue(w) = max(value(w), value(v) + value(w) + constraint())if all incoming edges of w have been traversedadd w to W}Longest path(G)Forward_prop(Origin)}

  • 8/2/2019 Layout Compaction

    33/36

    Compute the longest path in a graph G = (constraintsis a set of labels, Origin is the super-source of the DAG)Forward-prop(W){for each vertex v in Wfor each edge from vvalue(w) = max(value(w), value(v) + value(w) + constraint())

    if all incoming edges of w have been traversedadd w to W}Longest path(G)Forward_prop(Origin)}

  • 8/2/2019 Layout Compaction

    34/36

    Compute the longest path in a graph G = (constraints is aset of labels, Origin is the super-source of the DAG)Forward-prop(W){for each vertex v in Wfor each edge from v

    value(w) = max(value(w), value(v) + value(w) + constraint())if all incoming edges of w have been traversedadd w to W}Longest path(G)Forward_prop(Origin)

    }

  • 8/2/2019 Layout Compaction

    35/36

    References

    Algorithms for VLSI Design Automation-

    Sabih H.Gerez

    Layout compaction - Prof. A. R. Newton

    Prof. Kurt Keutzer

    www.wikipedia.com

    www.gigapedia.com

  • 8/2/2019 Layout Compaction

    36/36

    THANK YOU