asic physical level design

Upload: sandesh-kumar-b-v

Post on 08-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 ASIC Physical Level Design

    1/13

    1

    Physical Level Design using Synopsys

    Jamie Bernard, Student MS CpE George Mason University

    AbstractVery-Large-Scale-Integration (VLSI) of digital

    systems is the foundation of electronic applications that are used

    in everyday life. These applications vary from specialized parts

    to Application-Specific Integrated Circuits (ASIC), as well as

    Systems-On-Chips (SoCs). The designs of these systems are so

    complex that manual design would not be feasible. The only way

    to design and fabricate such complex designs is to use computers

    to automate portions of the design process. The focus of this

    paper are the numerous aspects of the physical design process

    and how those aspects are automated using computer-aided

    design (CAD) tools by Synopsys.

    Index Terms Computer-Aided Design, Design Automation,

    Physical Design

    I. INTRODUCTIONhe very large scale integration of transistors or integrated

    circuits has occurred since the 1980s. The process has

    evolved from the beginning where only one transistor was on

    a chip, to the point where there were a small number of

    devices on the chip such as transistors, resistors, and diodes.

    This made it possible to create more than one logic gate and

    was considered small scale integration. The next step in the

    progression towards VLSI was large scale integration in

    which there would be several thousand transistors on eachchip. This technology has led to very large scale integration

    in which millions to hundreds of million transistors are on a

    single chip such as a microprocessor. This succession is

    continuing at Moores Law pace and soon there will be dual-

    core processors that may reach one billion transistors [1].

    In the early stages of what would eventually become VLSI

    design, the small number of transistors allowed human or

    manual design to occur. As the number of transistors

    increased and device dimensions began to shrink, manual

    design of such systems becomes impractical due to

    performance and design time requirements. The amount of

    evaluation and decision making that would be required would

    overwhelm engineers and design teams. Therefore the

    problem and focus of this paper is clear: How does one create

    a complex electronic design consisting of millions of

    transistors? The solution is to automate the design process

    using computer-aided design (CAD) tools. These tools are

    necessary for complex designing of VLSI integrated circuits

    in which manual design is not possible. CAD tools provide

    several advantages such as the ability to evaluate complex

    conditions in which solving one problem creates otherproblems [2]. These tools can also use analytical methods to

    assess the cost of a decision as well as synthesis methods to

    help provide a solution to the problem [2]. Applying CAD

    tools to the system design process to propose and analyze

    solutions to problems allows larger problems to be solved [2].

    The solution of using CAD tools to create complex

    electronic designs falls under an industry category: Electronic

    Design Automation (EDA). The terms can be combined and

    the process is then referenced as electronic computer-aided

    design (ECAD). There are several companies, such as

    Cadence Design Systems, Magma Design Automation

    Inc, and Synopsys, who specialize in EDA software andCAD tools. Based in Mountain View, California, Synopsys

    is a leading provider of EDA software used to design complex

    ASICs, FPGAs, and SoCs from concept to product [4]. The

    majority of this paper will center on the physical design

    process and how the EDA software created by Synopsys

    automates parts of the physical design process.

    II. DESIGNFLOWA. Overview

    It is important to understand where the physical level

    design process is located in the flow of a complete system. A

    generic design flow is shown in Fig 1. This represents the

    major design milestones that are involved in the VLSI design

    flow. From start to finish, the flow defines what steps and

    tasks need to be completed and in what order they should be

    completed. Front-end design includes most of the steps in the

    flow prior to physical design. Starting with physical design

    and beyond is considered the back-end of the design flow.

    Therefore, physical design can be viewed as the bridge

    between front-end design flow (system specification and

    functional design) and back-end design flow, which

    eventually leads to the fabrication of a design. EDA software

    in the form of CAD tools plays a vital role in all stages of the

    VLSI design flow. Therefore it is advantageous that theoutput created at one stage of the flow will be able to become

    the input to the next stage. However, the EDA software and

    tools do not have to be from the same vendor. If one vendor

    has a better tool for Functional Verification, but another

    vendors tool is better for Logic Design, then a set of common

    input and output standards will allow the different tools to

    communicate with each other. The EDA industry has such

    common standards so that different tools from different

    vendors can be used during chip design. Some of these

    common standards will be discussed in the physical design

    T

  • 8/6/2019 ASIC Physical Level Design

    2/13

    2

    flow.

    Fig 1. Physical Design combined with Layout Verification are part of the

    final steps in the VLSI design flow of a system [3].

    The physical design stage of the VLSI design flow is also

    known as the place and route stage. This is based upon the

    idea of physically placing the circuits, which form logic gates

    and represent a particular design, in such a way that the

    circuits can be fabricated. This is followed by connecting the

    logic with routing (metal). The logic is connected in such away as to form the function that was designed prior to

    physical design. For example, if the output of NAND logic is

    connected to the input of INVERTER logic, then the design

    has been routed to create AND logic. Each piece of individual

    logic is placed and connected in a manner that will result in a

    function being created that will perform a particular task

    intended by the system designer.

    This is a generic, high level description of the physical

    design (place/route) stage. Within the physical design stage, a

    complete flow is implemented as well. This flow will be

    described more specifically, and as stated before, several EDA

    companies provide software or CAD tools for this flow.

    Synopsys software for the physical design process is called

    Astro. The overall goal of this tool/software is to combine

    the inputs of a gate-level netlist, standard cell library, along

    with timing constraints to create and placed and routed layout.

    This layout can then be fabricated, tested, and implemented

    into the overall system that the chip was designed for.

    The first of the main inputs into Astro is the gate-levelnetlist, which can be in the form of Verilog or VHDL. This

    netlist is produced during logical synthesis, which takes place

    prior to the physical design stage as indicated by Fig 1.

    Logical synthesis is the combination of the functional design

    and logic design stages of the VLSI design flow. The logic

    synthesis combines the inputs of RTL code and design

    constraints to output a final gate-level netlist which can be

    interpreted by the physical design tool. The RTL (Register

    Transfer Level) code is a description of the architecture or

    function of the design in terms of data flow between registers

    [5]. The data flow between the registers is implemented using

    combinational logic such as AND, NAND, INV, etc. Thelogic synthesis optimizes this combinational logic between the

    registers based upon the other input to the logic synthesis tool,

    which are the design timing constraints. This input contains

    timing parameters such as clock speeds and delays that are

    associated with the inputs and outputs of the design. These

    constraints are the result of a system specification for the

    design being created The logic synthesis tool is capable of

    merging the function of a design implemented through RTL

    code in the form of Verilog and VHDL as well as the timing

    constraints of the design to create an optimized gate-level

    netlist. The gate-level netlist is then tested and simulated to

    verify the logic functionality of the design. Once the design

    has been verified, the netlist can then be used by Astro to

    begin the physical design process. This process is shown in

    Fig 2 and shows the details behind some of the stages outlined

    in the generic VLSI design flow of Fig 1. As described

    previously, the physical design stage can be seen as the bridge

    between front-end design which has just been described and

    the back-end design flow. A physical design engineer will

    assume that the VHDL code and logic synthesized to a target

    library has already been completed, and a final gate level

    netlist has been created. This initial netlist is also assumed to

    have been functionally simulated to prove that netlist going

    into physical design performs the function given in the system

    specification. The netlist is considered golden and is thestarting/reference point for all stages in the physical design

    process and beyond. Meaning that once physical design is

    complete, the final netlist that is created, which has all of the

    components needed (timing/clocks) will be functionally

    compared to the original netlist to insure that function has not

    been changed.

    The second of the main inputs into Astro is a standard

    cell library. This is a collection of logic functions such as OR,

    AND, XOR, etc. The representation in the library is that of

    the physical shapes that will be fabricated.

  • 8/6/2019 ASIC Physical Level Design

    3/13

    3

    Fig 2. Detailed flow of design steps prior to physical design of system [3].

    This layout view or depiction of the logical function contains

    the drawn mask layers required to fabricate the design

    properly. However, the place and route tool does not require

    such level of detail during physical design. Only key

    information such as the location of metal and input/outputpins for a particular logic function is needed. This

    representation used by Astro is considered to be the abstract

    version of the layout and the comparison is shown in Fig 3.

    Every desired logic function in the standard cell library will

    have both a layout and abstract view. Most standard cell

    libraries will also contain timing information about the

    function such as cell delay and input pin capacitance which is

    used to calculated output loads. This timing information

    comes from detailed parasitic analysis of the physical layout

    of each function at different process, voltage, and temperature

    points (PVT). This data is contained within the standard cell

    library and is in a format that is usable by Astro. This

    allows Astro to be able to perform static timing analysis

    during portions of the physical design process. It should be

    noted that the physical design engineer may or may not be

    involved in the creating of the standard cell library, including

    the layout, abstract, and timing information. However, the

    physical design engineer is required to understand what

    common information is contained within the libraries and how

    that information is used during physical design. Other

    common information about standard cell libraries is the fact

    that the height of each cell is constant among the different

    functions. This common height will aid in the placement

    process since they can now be linked together in rows across

    the design [8]. This concept will be explained in detail during

    the placement stage of physical design.

    Fig 3. Comparison of layout and abstract views of a logic function.

    Synopsys

    Standard cell libraries can be generated manually or supplied

    by vendors. There are several vendors in the EDA industry

    that supply standard cell libraries based upon a specific

    process node and technology such as 0.25um or 0.13um. If

    generated manually, the cells will need to be prepared for thephysical design process through library preparation which is a

    separate topic not discussed in this paper. The physical design

    engineer assumes that a standard cell library is available and

    compatible with Astro whether the library was created by a

    library group or supplied by a vendor. Other libraries needed

    during place and route to supplement the design are

    input/output (I/O) libraries as well as other custom cells such

    as RAMs and IP cores that can be reused.

    The third of the main inputs into Astro are the design

    constraints. These constraints are identical to those which

    were used during the front-end logic synthesis stage prior to

    physical design. These constraints are derived from the

    system specifications and implementation of the design being

    created. Common constraints among most designs include

    clock speeds for each clock in the design as well as any input

    or output delays associated with the input/output signals of the

    chip. These same constraints using during logic synthesis are

    used by Astro so that timing will be considered during each

    stage of place and route. The constraints are specific for the

    given system specification of the design being implemented.

    Now that the origin of the three main inputs to Astro,

    gate-level netlist, standard cell library, and design constraints,

    are realized, what does Astro do? An overview of Astro,

    since it is a place and route tool, is to say that it does exactly

    what was previously stated in the generic VLSI design flow:the tool places and routes. However, there are some other

    aspects that need to be discussed prior to the details of the

    physical design flow through Astro. Once this background

    information is discussed, the detailed flow can be presented

    and can be better understood. As presented previously, a

    standard cell library is one of the main inputs to Astro.

    However, other libraries are needed as well to make a design

    complete. The final place and routed layout will probably

    contain macro cells such as RAM or IP blocks and pad cells

    (Input/Output), which allow signals to enter and exit the chip.

  • 8/6/2019 ASIC Physical Level Design

    4/13

    4

    Prior to placement of the standard cells, the placement of all

    macro, IP blocks, and pad cells needs to be defined. The tool

    then places the standard cells automatically based upon the

    timing of the design, which is given by the design constraints.

    Along with the timing, the ability to connect each standard

    cell as described in the gate-level netlist is also taken into

    account so that overall wire length (RC affect) is reduced.

    The pins on the standard cells are then physically connected

    during the routing stage of the process. This is also based ontiming due to the fact that more timing critical nets such as

    clocks should have the shortest lengths and non-critical nets

    can afford to be longer. This concept is represented by Fig. 4.

    Fig 4. Visualization of Place and Route. Synopsys

    The timing driven placement of cells takes advantage of thecommon cell height and locates the standard cells into

    placement rows. Within the rows, cells that are part the

    timing critical path based upon the design constraints will be

    placed closer together so that interconnect delays are reduced.

    These placement rows can either be abutted or non-abutted

    rows. As shown by Fig. 5, one drawback to non-abutted rows

    is increase in area due to the gap between standard cell

    placement rows. If the rows were abutted, then the cells on

    the top row would need to be flipped so that the VDD lines

    would merge as opposed to VSS shorting with VDD if they

    are not flipped. The most common approach is to implement

    abutted rows to reduce area as well as increase the metal size

    of the VDD or VSS connections.

    Fig 5. Timing driven placement of standard cells on non-abutted rows.

    Synopsys

    Now that the basic concept of placement has been

    understood, the background of routing can be established. In

    many technologies, there are several levels of aluminum or

    copper metal that can be used to provide the connections

    between all of the cells in the design. When going from one

    layer to another, a via must be used to make the connection.

    To prevent metal shorting together during routing, each metal

    layer has a preferred direction, either horizontal or vertical.

    Typically in routing, the first metal layer is horizontal. As the

    metal layers increase, the direction alternates so that any two

    consecutive metal layers will always be perpendicular to one

    another. To route standard cells together, the router uses a

    grid or routing track to maneuver from point A to point B.

    Due to design rules imposed by a fabrication vendor

    (foundry), the metal routes need to have a certain minimum

    width and spacing in order to be manufactured correctly. The

    routing tracks are designed to make sure that these width and

    spacing requirements are achieved. The problem of routingcongestion can then occur if there are more connections to be

    made than routing tracks available.

    This background information on placement and routing

    only sketches some of the things that can be done during the

    physical design process. There are other problems that need

    addressed during the flow in order to complete a design.

    These problems include what to do in the likely case the

    critical paths of the design do not meet the timing

    requirements of the system or how to connect all of the

    register clock pins in the design so that the design is

    synchronized correctly. The remainder of the design flow will

    show how Astro can be used to deal with all of theseproblems to produce a final place and routed design with all

    timing constraints achieved.

    B. DESIGN SETUPBefore a design can be placed and routed within Astro,

    the environment for the design needs to be created. The goal

    of the design setup stage in the physical design flow is to

    prepare the design for floorplanning. The design setup flow is

    outlined in Fig 6. As shown in the figure, the first step is to

    create a design library. Without a design library, the physical

    design process using Astro will not work. This library

    contains all of the logical and physical data that Astro willneed. Therefore the design library is also referenced as the

    design container during physical design. One of the inputs to

    the design library which will make the library technology

    specific is the technology file. This file must be explicitly

    defined when creating the design the library. The technology

    file contains all of the necessary data for Astro based upon

    a specific process node, such as 130 or 90nm. This file

    contains all of the mask layer information as well as via

    definitions used for the connection of metal. This is also

    where a version of the process design rules used by the tool is

    maintained. This information such as metal widths and

    spacing for each layer can be used by the place and router toaid in simple design rule checking for manufacturing. Since

    Astro is a graphical user interface (GUI), the layout layers

    can have different colors and fill backgrounds associated with

    each layer. This information is also stored in the technology

    file. Other critical data that is contained in the technology file

    are the resistance and capacitance values for each layer. This

    data usually comes in table look-up (TLU) format and is used

    by Astro to determine the resistance and capacitance of a

    particular route. It then can be used to calculate delay

    introduced by the routing. The units for dimensions such as

  • 8/6/2019 ASIC Physical Level Design

    5/13

    5

    time, distance, resistance, capacitance, etc are identified in the

    technology file, so that Astro as well as the physical design

    engineer can interpret the data correctly. During the creating

    of the design library, this technology is processed into the

    library and stored within the database. Once this is done, the

    design library or container has been created.

    Fig 6. Design Setup Flow using Astro. Synopsys

    The next step is to attach reference libraries to the design

    library. These reference libraries, as discussed previously,

    contain the standard cells, macro cells, pad cells, and/or

    reusable IP core cells that are being implemented into the

    design. These libraries can contain several hundreds of cells

    and are referenced by pointers in the library for memory

    efficiency. However, the cells being implemented by the gate-

    level netlist need to be located within the reference library. If

    the cell does not exist, then the next step of reading the netlist

    into the library will fail.

    Once the design library has been created, and all

    appropriate reference libraries have been attached, the next

    step is to read the gate-level netlist into the library. This gate-

    level netlist is produced during the logic synthesis stage that

    was discussed earlier. There are several different formats that

    this file can be generated into including Verilog, VHDL, or

    even the Electronic Design Interchange Format (EDIF).

    There are positives and negatives to using any of the formats;

    however, the industry standard is to use either Verilog or

    VHDL as the gate-level input. The netlist is parsed for any

    syntax errors that will cause problems during the physical

    design process. If errors are found, then the netlist needs to be

    updated prior to continuing. The first two stages do not need

    to be repeated if there are netlist problems, only the read

    netlist portion of the flow needs to be repeated.Since most designs are complex enough to require logical

    hierarchy, the design needs to be flattened or made non-

    hierarchical in order to work for Astro. This step is called

    expanding the netlist because each level of hierarchy in the

    design is expanded or flattened until the only representation is

    the leaf cells. During this process, Astro is able to validate

    that all leaf cells have a corresponding abstract view in a

    reference library. As described before, the abstract view is the

    necessary data from the layout that is needed for place and

    route. If there are abstract views of leaf cells missing from the

    reference libraries, then the layout design is incomplete and

    Astro will not be able to continue. Once all leaf cells aredetermined to have the correct abstract views in the reference

    library, the expansion process will complete without error.

    Now that the netlist has been read into the design library and

    has been correctly expanded, a starting cell needs to be

    created within the design library.

    This starting cell will be the beginning point for place and

    route in Astro. The directory structure is seen in UNIX or

    Linux for a design library named design_lib_orca as shown

    in Fig. 7.

    Fig 7. Directory structure created under a design library in Astro.

    Synopsys

    The CEL directory is the where the starting cell and all

    subsequent cells are stored for place and route. The starting

    cell is typically named by the name of the top level of

    hierarchy in the netlist. In this case, the starting cell view

    would be named ORCA. The NETL directory is created

    during the read netlist stage of design setup. This is where all

    levels are hierarchy are maintained as well as the connectivity

    of all levels in the design. The EXP is the directory created

    when the design is expanded so that all sub-blocks are

    flattened to the leaf cells. This expanded version of the netlist

    maintained in the EXP directory is the logical representation

    of the netlist needed by Astro to perform place and route.

    The CEL directory is where the layout or graphical

    representation is stored. Therefore the EXP and CEL views of

    the design need to be combined to begin the place and route

  • 8/6/2019 ASIC Physical Level Design

    6/13

    6

    process. This leads to the next step which is referred to as

    binding the netlist to the cell. During this step, the expanded

    netlist is bound to a specific graphical cell view. This allows

    Astro to merge the logical and physical representations of

    the design. Within the cell (CEL) view, all cells referenced in

    the gate-level netlist are now visible, or in other words, the

    cells needed to make the design have been assembled

    together. This includes all standard cells, pad cells, macro

    cells, and reusable IP cells which are implemented within thenetlist. The placement of all used cells in the starting cell

    view is not considered placement but rather a graphical

    representation of what will be needed. At this point the netlist

    has been expanded since Astro operates only on a flattened

    design. The problem exists that after Astro has placed and

    routed the design, there will need to be functional verification

    of the netlist produced by Astro. Since most testing and

    verification performed prior to place and route was conducted

    using the benefits of hierarchy, the tool needs to be able to

    reproduce the netlist in a hierarchical fashion. This is solved

    during the last stage of design setup which is to preserve the

    hierarchy. Since the preservation is done prior to floorplan,clock trees, and other Astro optimizations, the tool will be

    able to create a hierarchical netlist to be used for verification.

    The preserve hierarchy utility maintains the ports and the

    function of the ports at the hierarchical boundaries of the sub-

    blocks. This information is used to reconstruct the hierarchy

    based upon the expanded version within Astro. Once the

    netlist is bound to the starting cell and the hierarchy preserved

    in the design the library, the design setup stage is completed

    and the design is ready for the floorplanning stage.

    C. FLOORPLANThe design setup prepares the netlist and design for

    floorplanning within Astro. Floorplanning can beconsidered layout design done at the chip level [2]. This

    design blueprint shows the actual placement of major

    components in the design such as inputs/outputs and memory

    elements such as RAMs. Floorplanning is a form of

    placement which can be done manually or automatically. It

    helps do things such as define the layout hierarchy of the

    design as well as aid in the estimation of the overall area

    required. This is also the time where aspect ratios of certain

    design blocks can be analyzed and established as to which

    sizes will give the best timing results [9]. There are a few

    approaches to floorplanning that can be used. These

    approaches include constructive, iterative, and knowledge-based [9]. Constructive assumes a starting module and other

    parts of the design are added one at a time until all major

    blocks have been added to the floorplan [9]. The other

    methods of iteration and knowledge-based assume that an

    initial floorplan have been proposed. However, using current

    and previous design knowledge to help in the floorplan can

    reduce the number of iterations that produce a final floorplan

    with the greatest probability of meeting the design timing

    constraints.

    For most designs, the floorplan consists of three major

    areas. These areas are the pad area, core area and the

    power/ground distribution area as shown in Fig. 8.

    Fig 8. The location of the core and periphery areas as well as the Power and

    Ground grid define the floorplan of a design. Synopsys

    The pad or periphery area identifies the locations of the

    input/output (I/O) cells for the design, and the core area

    defines the location for the standard cells, macro cells, andany reusable IP implemented in the design. The

    power/ground network distributes the power and ground

    needed by the core area logic as well as the I/O in the

    periphery area. In the peripheral area, there are several types

    of I/O pads that can be implemented. Most of the area is used

    by signal pads so that signals can go into and out of the chip.

    Their placement is fixed and is usually based upon the chip

    packaging requirements. The pads can be moved during the

    floorplanning stage if the package requirements change or the

    original placement of the pads causes a packaging violation as

    can occur when wire-bonding is used to make connections to

    the chip. The pad locations need to be fixed prior tocompletion of the floorplanning stage. In addition to signal

    pads, power and ground pads are placed to receive the power

    and ground connection externally. These pads are placed in

    the peripheral area similar to signal pads, however, their

    inputs are power (VDD) and ground (VSS) as opposed to a

    switching digital or analog signal.

    The physical size of the I/O circuitry as well as the chip size

    being implemented determines the amount of core area

    available for standard and macro cells. The actual amount or

    percentage of the core area that is used by standard cell and

    macro logic in a given design is referred to as the core

    utilization of the design. This percentage is found by

    summing the total standard cell area in addition to the macrocell area and dividing by the core area. To achieve maximum

    efficiency and use of expensive silicon, the design should be

    100% utilized with standard and macro cells. However, with

    dimensions becoming smaller and the density or amount of

    shapes becoming larger inside of standard and macro cells,

    having 100% core utilization would result in routing failure of

    the design. Once the design is placed, all of the cells need to

    be routed. With such high utilization, there would be more

    routes or wires in the design than the fixed number of routing

  • 8/6/2019 ASIC Physical Level Design

    7/13

    7

    tracks could manage. This routing congestion would be come

    an obstacle almost impossible to overcome without a

    reduction in the utilization. Many designs range from 80-85%

    for final core utilization. However, the starting gate-level

    netlist should only range from 60-75%. This will allow the

    needed area for logic optimizations, clock tree cells, and other

    cells added during the timing closure of the physical design

    process.

    Floorplanning the core area consists of placing the largemacro cells such as RAM, ROM, or other IP being used in the

    design. As shown in Fig. 8, these blocks can be placed

    anywhere in the core area. However, approaches mentioned

    previously such as iterative or knowledge-based floorplanning

    will help in the proper placement of such blocks. Poor

    placement of macros during floorplanning can lead to

    problems later in the physical design process such as

    placement and routing that require the design to be re-

    floorplanned wasting time and money. Therefore, it is

    recommended to assemble a good floorplan using the

    following guidelines. The large macros such as RAMs and IP

    should be to the sides or close to the corners depending on thenumber of macros. When placing these macros, sufficient

    space should be maintained between macros so that large

    routing channels are defined. The placement of the blocks

    should also create large partitions for standard cell placement.

    Restricting the placement of standard cells into small areas

    between macros or in other parts of the chip may lead to

    timing constraint problems. Each design is different and these

    guidelines should only serve as a starting point for an initial

    floorplan. A few quick iterations of placement and routing

    may reveal a better but different floorplan.

    Once the pads and large macros have a fixed location, the

    power and ground network can be created to connect power

    and ground to these cells. This network or grid will also

    supply the power and ground connections to the standard cells

    that will be placed in the design. The purpose of this grid is to

    take the powers and grounds received from the pads in the

    periphery and distribute it evenly across the entire core area.

    This is to ensure that all cells in the design receive the same

    power and ground signals as applied to the power and ground

    pads. In reality, the power and ground levels in the core area

    are different than those at the pad, but the grid should be

    constructed in a way that makes the difference as small as

    possible. As shown in Fig. 8, the power and ground rings are

    created around the edge of the core area. Then straps are

    created that connect from one side of the ring to the other side.The rings and straps are created using the process metal layers

    and span both vertically and horizontally depending on the

    preferred direction of each metal layer. Since the network is

    created using most of the metal layers in a horizontal and

    vertical manner, the end result is power and ground grid.

    There are separate straps for power and ground that connect to

    the other power and ground straps and rings as well as any

    macros in the design. Using the rings and straps, the power

    and ground applied to the pads is now distributed to all the

    cells in the design. Now that the floorplan of the design is

    complete including pad/macro placement and power and

    ground distribution, the standard cells are ready to be placed.

    D. TIMING DRIVEN PLACEMENTWhen discussing the fundamental steps of place and route,

    the timing constraints must be incorporated. These timing

    constraints are the requirements for a complete working

    design, and neglecting them will result in an expensive piece

    of junk. The place and route steps must be timing orientedand Astro provides this timing-driven place and route tool.

    Astro will optimize, place, and route the logic gates to meet

    all timing constraints or speed goals of a particular design. As

    mentioned in the overview of the design flow, the timing

    constraints are a critical input to the place and route tool.

    Astro needs these timing constraints to understand the

    design timing objectives. Standard constraints on most

    designs include arrival times of input signals to the design as

    well as the required arrival time at the output of the chip.

    Other common constraints include the clock period of the

    system clock as well as other clocks if the design contains

    multiple clock domains. The format of these constraints used

    by Astro is called Synopsys Design Constraints (SDC).The SDC used by Astro during place and route is generated

    by the logic synthesis tool. This allows Astro to place and

    route based upon the same timing constraints as the synthesis

    tool. The timing information that Astro uses to meet these

    goals is based upon the delays of the standard cells in the

    design as well as the nets or wiring that connect the cells

    together. The standard cell delays are a function of the input

    transition time as well as the summation of the capacitance of

    the output wire and input gates of all logic connected to the

    output wire. If any of these attributes are large or small, then

    the cell delay will increase or decrease respectively. The wire

    delay is similar and is a function of the resistance of the metal

    as well as the capacitances described for the cell delay (wire

    capacitance + input gate capacitance). Using this cell and

    wire delay information, Astro is able to perform timing-

    driven placement. However, prior to placement, Astro can

    perform a sanity check on the design constraints before

    continuing in the design flow. The process is call a zero-

    interconnect check and the purpose is to verify that the

    design constraints can be achieved throughout the physical

    design process. Astro can perform the timing analysis on

    the design while ignoring the wiring delay. If the design can

    not meet the constraints, then it is a good indication that after

    the design is routed and wiring delay is added, the design will

    not achieve the timing objectives. After this check has passed

    and the constraints for a given netlist are considered

    achievable, the design can be placed.

    Timing-driven placement of a design is the process of

    placing all standard cells onto rows in the core area using the

    timing constraints as the guidelines as to where to place cells.

    The design in Fig 9 shows all of the unplaced standard cells

    on the right side of the figure. The rows are abutted in this

    design and cells will be placed similar to those in Fig 5. As

    described in the overview, timing-driven placement will

    attempt to place cells within the critical timing paths close

    together to reduce wiring resistance and capacitance. Since

    the design is not routed, Astro uses virtual routes or best

  • 8/6/2019 ASIC Physical Level Design

    8/13

    8

    estimates to simulate the length and direction of cell

    connections.

    Fig 9. The rows in the core area prior to placement. Synopsys

    Astro has the capability to perform other steps during

    placement. These include pre-place, in-place, and post-place

    optimizations with the ability to do each one separately or allconcurrently. These optimizations include steps such as high

    fan-out synthesis (HFN). Astro can recognize nets with

    large amount of connections and provide the proper buffering

    so that common library design rules such as maximum

    capacitance and transition times are not exceeded. Other

    optimizations include buffer insertion into critical paths where

    certain standard cells have a large capacitance on the output.

    Astro can also perform logic duplication or remapping

    where the logic is actually changed compared to the gate-level

    netlist in a manner that is more conducive to meet timing

    objectives during placement. However, the overall function of

    the design is maintained during this change as well as during

    the other optimizations that can be done during placement. Asstated before, the optimizations done during placement use the

    cell delays of the functions being implemented and the net

    delays are calculated using virtual or best estimate routes

    envisioned by the placer. Once the design has been placed

    and the timing constraints met based upon virtual routes, the

    focus of physical design then shifts to the clock network of the

    system.

    E. CLOCK TREE SYNTHESISAll registers or flip-flops within a design have a clock input.

    These clock inputs are all driven or connected to a single

    clock source I/O in the pad area as shown in Fig. 11.

    Depending on the number of registers in the design, this clocknet can have several hundred to several thousand connections.

    Since each register connected to clock is expected to function

    upon receiving a clock signal, it is important that the clock

    signal arrive at the inputs to the registers at the same time. If

    not, then data will be transferred through some registers more

    quickly than others depending upon the arrival of the clock.

    This can result in the possibility of incorrect data being shifted

    or clocked throughout the design. If the clock network is

    allowed to originate from one source and connect to all

    registers distributed throughout the core area, then problems

    will occur associated with the signal transition time and

    capacitance due to the length of the net and the many

    connections (load) to it. Known as skew, if the clock reaches

    some registers before others, data transfer problems will be

    the result as well as overall timing objectives not being

    achieved.

    There are some traditional clock network topologies that are

    used to prevent or reduce the amount of clock skew

    introduced into the design. These topologies are referred to asthe H-Tree and X-Tree networks and are shown in Fig 10.

    Fig 10. H-Tree and X-Tree clock distribution networks [12].

    In the H-Tree and X-Tree topologies, the clock source is

    connected to the center of the network. The network then

    branches to the four corners of the design with the difference

    being in the manner in which the clock is distributed to those

    corners (shape of H and X). These four branches then provide

    the inputs to the next level of either H-Tree or X-Tree

    hierarchy. This distribution continues until all registers in the

    design are connected by a local clock buffer [12]. The amount

    of clock skew in the network will be reduced by ensuring that

    all registers in the design are connected with either of these

    symmetrical topologies.

    Fig 11. Clock network problem and solution. Synopsys

    Astro has the ability to handle the single clock source

    problem using a variation of the previously discussedtopologies through clock tree synthesis. Clock tree synthesis

    is similar to high fan-out synthesis in the fact that the clock

    network has many connections from a single point and needs

    buffers inserted. The clock tree synthesis dynamically inserts

    clock drivers between the clock source and registers as well as

    physically placing those clock drivers in the design [14]. The

    advantage that clock tree synthesis has is in minimizing the

    skew of the network. As mentioned before, the skew is the

    difference in the arrival times of the clock signal to the many

    registers in the design. Therefore, clock tree synthesis has the

  • 8/6/2019 ASIC Physical Level Design

    9/13

    9

    capacity to not only buffer the high fan-out network and

    balance the loads at each stage, but to optimize and minimize

    the skew within the clock network. The results of before and

    after clock tree synthesis can be seen in Fig 11. Once the

    clock tree is generated, Astro can calculate the delay from

    the clock source in the pad area, through the clock network

    and to the register. This delay is considered the insertion

    delay of the clock. Prior to clock tree synthesis, information

    such as a target skew and/or an insertion delay target can begiven to Astro. Some design constraints may contain a

    minimum insertion delay required for the clock. If Astro

    determines that the insertion delay after clock tree synthesis is

    still less than the minimum insertion delay required, the tool

    has the ability to add a delay line of buffers to meet the

    required insertion delay.

    There has been an assumption made and reinforced by Fig

    11 that the clock source comes directly from the I/O pad area

    and directly connects the registers of the design. However, in

    many designs, power-saving techniques such as clock gating

    are employed so that the clocking can be enabled or disabled

    to sections of the design. During clock tree synthesis, Astro

    can understand this clock gating logic and still build a clocktree to all clock pins on the output of the clock gating logic.

    This allows there to be logic between the clock source and the

    registers in the design.

    The result of clock tree synthesis is a balanced clock tree

    with minimized skew. This means that the output loads at the

    different tree levels are balanced and the delays to the clock

    inputs are matched among all registers. Other effects of clock

    tree generation include the increase of design congestion due

    to the fact that many clock buffers were added. Placed cells

    from before may have been moved to non ideal locations

    when the clock buffers were placed into the design. Since

    these cells have moved from there original locations after

    placement, the timing information will be different and theremay be timing constraints not being met. Therefore, after

    clock tree generation, some of the optimizations performed

    during the placement process may need to be used in a post-

    placement method. Now that the design has been placed,

    optimized, and all clock trees have been grown, the next step

    is to route the design.

    F. ROUTINGRouting is a fundamental step in the place and route process.

    The virtual routes that were used in the previous steps of

    placement and clock tree synthesis need to become reality for

    fabrication. The basic goal of routing is to create metal shapes

    that meet the requirements of a fabrication process. These

    metal shapes then become the physical connection between

    the cells in the design. Once the cells are connected by

    routing, the overall timing of the design needs to be preserved.

    Timing data such as signal transitions and clock network skew

    that were used to meet the timing requirements during

    placement and clock tree synthesis need to be kept. Similar to

    placement, the process of routing is also timing-driven. In

    efforts to maintain the overall timing, the routing of a timing

    critical path is given the highest priority so that the route is as

    short as possible. Nets that are non-critical are routed around

    critical areas to provide more wiring area for critical nets.

    The routing system used by Astro is grid-based as shown

    in Fig 12. Metal traces or routes are created and centered on

    routing tracks. These metal routes must meet minimum width

    and spacing requirements to prevent defects during

    fabrication.

    Fig 12. Grid-based routing systems using tracks. Synopsys

    Grid-based systems use these pitches (width + spacing) to

    determine the minimum center to center space for each metal

    layer. The design rule information to form this grid is located

    in the technology file for each metal layer. There are

    horizontal and vertical tracks (grid) to correspond with

    preferred routing directions of metal layers. As shown in Fig

    12, the preferred direction for metal 1 is horizontal and

    vertical for metal 2. A major problem with routing in a grid-

    based system is the potential congestion of the metal routes.

    Congestion results from there being more wires in the design

    to route than tracks available. Typically only small areas of

    the design experience congestion in which standard cells can

    be moved accordingly. If the congestion is severe, more

    extreme measures may need to be taken such as the moving of

    macros or the re-floorplanning of the entire design.

    Astro performs several operations during the routing

    process. These include global routing, track assignment,

    detail routing, and search and repair. Global routing is the

    first step in the routing process. In this step, each wire

    receives a broad routing plan determining how the net will be

    routed in the design or through which channels that are open

    for routing [9]. This step outlines the overview of how all of

    the point As will get to the point Bs. It also lays the

    groundwork for the next step which is track assignment.

    Track assignment assigns each net or wire to a specific track

    and creates the physical metal connections. Once all of the

    nets have a corresponding track, the track assignment will

    attempt to reduce the number of jogs or bends in the metal by

  • 8/6/2019 ASIC Physical Level Design

    10/13

    10

    making the routes straighter. The other goal is to reduce the

    number of vias in the design to help in the eventual

    manufacturing of the design. The design rule spacing and

    widths in the technology file for each metal layer are not

    checked during the track assignment phase. These rules are

    checked during the next two steps, detail routing and search

    and repair. Detail routing tries to fix the design rules

    (minimum width, spacing, etc) which were violated during

    track assignment. The design is broken into smaller boxes(Sboxes) as shown in Fig 13.

    Fig 13. Detail Route SBoxes. Synopsys

    Due to the fact the boxes are a fixed size, the detail router may

    not be able to fix all the design rule violations. The next step

    of search and repair is designed to resolve the remainder of

    the design rule violations. Search and repair uses the same

    concept of Sbox, however, each time through the design thesize of the box increases to incorporate a larger portion of the

    design. The search and repair stage is the last step in the

    routing process. Once search and repair has resolved all

    design rule violations, the design is considered to have been

    placed and routed and ready for verification and fabrication.

    G. DESIGN FOR MANUFACTURINGPrior to verification and fabrication, the physical design

    engineer can use Astro to address several manufacturing

    yield problems. Yield improvement is typically considered a

    process domain issue. However, there are other parts of the

    design process which can improve yield. One domain that canimprove yield is in the testability of the product using design

    for test (DFT). Another domain is during the mask

    preparation phase through procedures such as reticle

    enhancement technologies (RET). The domain in which

    Astro can be implemented is during the physical design

    phase through techniques described as design for

    manufacturability (DFM) [10]. Before a designer can actually

    design for manufacturability, the designer needs to know what

    features of the design will cause problems during the

    fabrication process [11]. Focusing on these problems during

    the design stage prior to fabrication will help in the

    manufacturing and ultimately the yield of the design. These

    problems can include gate/oxide integrity, via resistance and

    reliability, and metal erosion. In terms of via resistance and

    reliability, single via connections throughout the design can

    reduce the yield. One missing via on one connection in the

    design will result in an open connection and, the design will

    not function correctly. Therefore, having extra via

    connections reduces the chance of having open connections inthe design. Astro has the capability to add extra vias on one

    or all connections (routes) within the design with the tradeoff

    of expending the area to add vias to increase yield.

    The problem of metal erosion is a result of attempts to

    planarize or make the wafer flat. This technique, chemical-

    mechanical polishing (CMP), polishes the deposited dielectric

    layers during the metal interconnect process to provide a

    smooth and level surface for the next metal layers being

    deposited [15]. Due to the material property differences

    between the metal and the dielectric, erosion can occur during

    CMP on the metal traces which are very wide [15].

    Therefore, the metal density needs to be reduced in those

    areas. The reduction is referred to as metal slotting and isimplemented by creating rectangular openings or slots in the

    wide metal traces during the physical design process [16].

    Another problem of damaging the gate/oxide of a transistor

    is introduced during the metal etching stages of fabrication.

    Ion etching is used both to remove excess metal under a mask

    as well as the removal of the mask layer itself [16]. During

    this etching, charge collection occurs on the metal traces and

    if the charge is significant, the transistor can be damaged or

    even destroyed. This phenomenon is referred to as the

    antenna effect. The longer the metal trace connected to the

    transistor, the more charge that can collect during the etching

    process. Therefore the amount of metal connected to a

    transistor gate needs to be limited. Many chip manufacturersdefine acceptable length of metal traces by the ratio of the

    metal area to the transistor gate area. This antenna ratio rule

    must be observed similar to other design rules such as metal

    spacing and widths. Astro has the capability to recognize

    and repair any routes that violate the antenna ratio rule using

    standard techniques of layer jumping and diode insertion

    during the routing phase of physical design.

    III. VERIFICATIONOnce the physical design process in Astro is complete,

    the design needs to be verified prior to fabrication. The

    design needs to be verified for timing, functionality, andmanufacturability. This verification is completed outside of

    Astro, using industry standard, production quality (sign-

    off) CAD tools. The Synopsys sign off tool Formality is

    used for checking functionality of the design. This formal

    verification compares the original gate level netlist produced

    by the logic synthesis tool and the final netlist created by

    Astro. This comparison is to ensure functional equivalency

    at the logical level between the two implementations of the

    design.

    The verification of timing contraints is a multiple step

  • 8/6/2019 ASIC Physical Level Design

    11/13

    11

    process which begins with extracting the parasitics in the

    design. The tool Star-RCXT performs this layout parasitic

    extraction by calculating the resistances and capacitances of

    all connections (routes ) in the design and producing the

    results in a format such as SPEF that can be interpreted by a

    static timing analysis tool. The static timing analysis tool

    Primetime can detect timing violations in the design by

    combining the results from Star-RCXT and the netlist from

    Astro and checking that information against the clockfrequencies implemented.

    Once the design has been timing and functionally verified,

    the design needs to be physically verified. This verification

    checks if a design can be fabricated. It also checks that the

    final design will have no physical defects that will result in the

    design to not function properly. The Synopsys tool

    Hercules can be used to perform these checks which are

    referred to as Design Rule Checking (DRC), Electrical Rules

    Checking (ERC), and Layout Versus Schematic (LVS).

    Design Rule Checks verify that the design does not violate

    any fabrication rules associated with the target process

    technology such as metal spacing/widths and the previouslymentioned antenna ratios. Electrical Rules Checks verify that

    there are no short circuits or open circuits with power and

    ground in the design as well as resistors/capacitors/transistors

    with floating nodes. The Layout Versus Schematic check

    verifies that the final physical design matches the logical

    version of the design in terms of the correct connectivity and

    number of electrical devices in the design such as resistors,

    capacitors, and transistors. After successful completion of

    physical verification as well as the timing and functional

    verification, the design is complete (signed off) and the

    process follows the flow outlined in Fig 14, beginning with

    taping out the design into a format such as GDSII and

    resulting in fabrication of the design. The manufactured

    design can then be implemented into the system architecture

    for which it was designed.

    Fig 14. Steps after the design has been timing, functionally, and physically

    verified [3].

    IV. FUTUREThe technology and manufacturing industries are

    continuing to push the envelope with each new process node.

    Requirements for chip designs to have the fastest speeds,

    lowest cost, lowest power, and all within the smallest area

    possible are confronted during the physical design process.

    The challenges encountered during physical design at the

    130nm and 90nm are dramatic due to more prevalentproblems at these nodes. Some problems include voltage

    drop, crosstalk and signal integrity, and reliability including

    electromigration. However, the tools described in this paper

    to perform the physical design process can still be

    implemented at these process nodes by taking advantage of

    advanced features and practices to overcome the daunting

    obstacles at the 130 and 90nm nodes. Since the industry,

    including EDA vendors, has been at these process nodes for

    some time, the manufacturing and design processes have

    matured to the point where many companies are releasing

    production designs at 90nm, with some implementing 65nm.

    The next future processing node is 45nm and the challenges at

    this node are similar to that of the previous nodes, only more

    severe. Some of the concerns are that the leakage power of

    transistor could reach the level of the dynamic power of the

    design [6]. Other concerns are that the wiring delays will

    outweigh the gate delays, which has already been seen at the

    130nm node. With respect to wiring, the cross-coupling

    capacitance will begin to dominate over the capacitance of the

    wire itself. So at the 45nm node, the process and design

    complexity will require greater advancements in the

    capabilities of EDA software. These process node problems

  • 8/6/2019 ASIC Physical Level Design

    12/13

    12

    have forced logic designers to think more physically, physical

    designers to think more electrically, and have driven EDA

    vendors to provide solutions for both [7]. The future of EDA

    tools will be to provide logic and physical designers the tools

    that will accurately solve or eliminate the challenges of the

    65nm node and beyond, and therefore produce systems with

    the fastest speeds, lowest cost and power, and in the least

    amount of area.

    V. CONCLUSIONDesigning a sophisticated VLSI system of any kind is a

    complicated task. Completing a design can take over one year

    from system conception to fabricated chips. With the number

    of transistors that can be involved and the challenges posed

    and each process node, no one person or team could manually

    design and complete a system within the given time frames

    required to be competitive. Therefore, the task of designing,

    placing, routing, and fabricating such complex chips needs to

    become automated. This automation comes in the form of

    EDA tools like Astro produced by companies such as

    Synopsys.

    APPENDIX

    This appendix will briefly describe some of the standard

    data formats that are used in the EDA industry. Some of these

    descriptions were found on the Electrical Design News

    website [13] unless otherwise noted.

    DEF Design Exchange Format. This format contains both

    the logical and physical design information. Logical

    information includes cell connectivity, cell grouping, timingparameters, path constraints, scan chains, and clock tree

    information. Physical information includes cell placement and

    routing geometries.

    DSPF Detailed Standard Parasitic Format. This format,

    defined by Cadence, is now in the public domain. The root

    format, SPF, looks very much like Spice. DSPF includes

    comments and a structure that make it easier to organize the

    netlist information into the original circuit with added

    information for RC trees.

    EDIF Electronic Design Interchange Format. This format

    provides the syntax for exchange of electronic circuit

    information. This information includes circuit connectivity

    and related attributes as well as a schematic representation.

    GDSII Graphic Design System II. This format contains

    the physical geometry information of a design. It is a binary

    format for representation of planar geometric shapes and text

    labels. The shapes are assigned numeric attributes in the form

    of "layer number" and optional "datatype" or "texttype" [3].

    LEF Library Exchange Format. This format includes the

    ports and wiring congestion information for routing tools. It

    also contains data relative to the process geometry within each

    cell. There is also other "abstract" information relative to the

    library and intellectual property (IP), or cell data, for that

    process.

    RSPF Reduced Standard Parasitic Format. This format

    replaces the RC trees used by DSPF format with simpler

    models for drivers and loads.

    SDF Standard Delay Format. This format is used for

    back-annotating delay information from chip layout to VHDL

    or Verilog source code. This provides more accurate

    information for timing simulation.SPEF Standard Parasitic Extended Format. This format is

    based mainly upon SPF. However, this format has extended

    capabilities and is implemented in a smaller format.

    SPF Standard Parasitic Format. This format enables the

    transfer of design specific parasitic capacitances and

    resistances from the physical design tools to timing analysis

    and simulation tools.

    Verilog A hardware descriptive language similar to C

    language used in the design of ASICs and FPGAs. Verilog

    contains a hierarchy of modules which describe the inputs and

    outputs as well as the wire connections within that module [3].

    VHDL A hardware descriptive language used as a designentry language for the design of ASICs and FPGAs [3].

    ACKNOWLEDGMENT

    Jamie Bernard would like to thank Synopsys and the

    application engineers who supported the effort in describing

    their EDA tools and applications of the physical design

    process.

    REFERENCES

    [1] http://www.intel.com[2] W. Wolf, Modern VLSI Design System On Chip Design, 3 rd ed.,

    Prentice Hall, 2002.

    [3] http://en.wikipedia.org[4] http://www.synopsys.com/corporate/co_profile.html#fact[5] S. Rajan, Essential VHDL RTL Synthesis Done Right, 1998.[6] Where are the tools for the next node?, EE Times Issue 1394 October

    24, 2005.

    [7] N. Deo, At 90nm, history repeats itself, EE Times Online Article,2002.

    [8] J. Banker, A. Shanbhag, and N. Sherwani, Physical Design Tradeoffsfor ASIC Technologies, Western Michigan University, 1993, pp 70-78.

    [9] S.M. Sait, H. Youssef, VLSI Physical Design Automation Theory andPractice, vol 6, World Scientific Publishing, 2001.

    [10] L. Riviere-Cazaux, K. Lucas, and J. Fitch, Integration of Design ForManufacturability (DFM) Practices In Design Flows, SixthInternational Symposium on Quality Electronic Design, 2005.

    [11] M. Bajaj, R. Peak, M. Wilson, I. Kim, T. Thurman, M. Jothishankar, M.Brenda, P. Ferreira, and J. Stori, Towards Next-Generation Design-for-

    Manufacturability (DFM) Frameworks for Electronics Product

    Realization, International Electronics Manufacturing Technology

    Symposium, 2003.

    [12] E. Friedman, Clock Distribution Networks in Synchronous DigitalIntegrated Circuits, vol 89, May 2001.

    [13] http://www.edn.com/archives/1996/101096 Electrical Design News[14] M. Chen Chi and S. Huang, A Reliable Clock Tree Design

    Methodology for ASIC Designs, International Symposium on Quality

    Electronic Design, March 2000.

    http://www.intel.com/http://en.wikipedia.org/http://fact/http://www.edn.com/archives/1996/101096http://www.edn.com/archives/1996/101096http://fact/http://en.wikipedia.org/http://www.intel.com/
  • 8/6/2019 ASIC Physical Level Design

    13/13

    13

    [15] R. Muller, T. Kamins, and M. Chan, Device Electronics for IntegratedCircuits, 3 rd ed., John Wiley and Sons, 2003.

    [16] J. Ferguson, Turning Up The Yield, IEE Electronics Systems andSoftware, June/July, 2003.