Chapter 3 Sizing the Design.pdf

Embed Size (px)

Citation preview

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    1/53

    Chapter 3 Sizing the Design

    o Functional Specification - A Closer Look

    o Review the Available Arrayso Architectural Specification or Hardware Specification

    o Array Sizing

    o Cell Capabilities

    o Array Architecture

    o Netlist

    o Example: AMCC Interface Optionso Example - AMCC Arrays - Power Supply Options

    o Interface Cell Functionality

    o Exampleso Internal Cell Functionality

    o

    Multi-Cell Macroso Hard and soft macroso Refining Interface Requirements

    o Adding Extra Power and Ground Macros

    o Dual-Function I/O Macros

    o Example - Simultaneously Switching Outputso Thermal Diodes

    o The AMCC Speed Monitor

    o Final Interface Cell Utilizationo Drivers

    o Exercises

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    2/53

    Sizing the Design - Selecting the Array

    Functional Specification - A Closer Look

    The functional ortarget specification is the first level of description of the project that

    may encompass one or more arrays when the design is partitioned. There may be a

    specification tree with the total project at the top node and individual circuit blocks ormodules detailed underneath. Topics included in a functional specification are listed in

    Table 3-1.

    At this early stage, afunctional description of what is to be accomplished is created along

    with some of the top-level circuit requirements.

    Array Interfacing

    For the partitioned project (multiple arrays), the individual array specifications would

    include a description of array interfacing.

    Interconnection between arrays is faster when done with ECL. When choosing single or

    dual (differential) rail ECL use the following guidelines:

    If the arrays will be placed on the same board and will be adjacent to each other,

    single rail (non-differential) ECL may be acceptable.

    If the arrays will communicate across a backplane or be remote on the board,

    differential ECL may be required.

    Differential ECL is required if the operating speeds exceed the maximum

    frequency specifications for single rail ECL.

    The potential need for differential ECL should be indicated at the functional specification level.

    Partitioned circuits should attempt to balance

    the distribution of I/O and internal cell usage

    between the different arrays while maintaining

    critical paths within one array if possible.

    This is still the rule to follow - no matter how big the arrays get.

    It is also a good guideline for how to break up a 6-8 million gate array intotop-level blocks - keep the critical paths inside the block if possible.

    Interblock connections today are what interarray connections were yesterday.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    3/53

    Table 3-1 Components of the Functional specification

    Functional Specification

    Block diagram to the module level- including any

    partitioning into more than one array

    Description of the boundaries between the modules

    and the rest of the system

    Initial sizing of the I/O interface by type - ECL, TTL,

    etc.

    Functional Description of the Modules

    Description of the interface between the circuitmodules - busses, control, critical interconnects

    The overall performance requirements

    - - - the maximum frequency of operation

    - - - target clock speed (per clock)

    - - - path propagation delay requirements set by

    modules external to this design

    I/O toggle rates

    Synchronous/asynchronous signals

    Allowed or available power supplies

    Power restrictions

    Physical size restrictions

    Environmental requirements -Commercial, Military,

    Industrial, Other

    Packaging requirements

    Derating for junction temperature

    Prioritized design objectives

    Hard Specifications

    Design criteria that are considered as hard (inflexible) specifications should be clearlydocumented as such. Specifications that might be alterable should also be clearly

    identified. If a tradeoff or judgment call needs to be made during the remainder of the

    design project, such information can save time and possibly the project.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    4/53

    Design Objectives

    Overall design objectives should be clearly identified and documented. These includeoptimization for speed, power or die size, which translates to minimized internal cell

    utilization and minimized I/O utilization. Since these objectives are in conflict, they

    should be prioritized.

    As a last step, there should be a careful design review of the circuit and sys tem functionalspecifications and the partitioning

    Review the Available Arrays

    With a clear understanding of the design description and overall objectives, review the

    arrays currently available that could be used.

    For a listing of currently-available array series, check with the latest ASIC vendor

    surveys run by several of the engineering magazines. These buyer's guides provide a

    cursory look at what is available and allow a first-pass sort of available arrays into

    feasible and non-feasible, a staring point from which the designer can proceed. They havelimited space to review technology, die size, cell counts, metal layers, number of macros,

    interface levels, second sources and the EWS workstations the array vendor supports.They may not have the latest updates on an array series. They can provide addresses and

    phone numbers for array vendors.

    Once one or more vendors have been selected, the designer should obtain data sheets and

    design guides from the prospective vendors for the most promising array series and begin

    a more in-depth review.

    Example - The AMCC Arrays - as of 1991

    The industry shows an evolutionary trend as designers drive them to develop larger,

    faster and cooler arrays.

    There have been five bipolar array families from AMCC since 1984, (see Table 3-2)

    increasing in cell size and speed while reducing die size and power. The most recent is

    the AMCC Q20000 series, officially released in September 1989.

    Table 3-2 AMCC Bipolar Array Series

    AMCC Array Series YearQ20000 1989

    Q5000 1987

    Q3500 1986

    Q1500 1985

    Q700 1981

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    5/53

    The Q20000 Series speed estimates list its internal toggle rate, at least twice as fast asthat of the previous Q5000 Series, at 1.25GHz, with an enhanced drive and much lower

    power. Individual macros have been found to run at 1.4GHz and higher.

    There are two AMCC BiCMOS array families, the Q14000 Series and the Q24000

    Series, a partial shrink of the Q14000, as shown in Table 3-3.

    Table 3-3 AMCC BiCMOS Array Series

    AMCC Array Series Year

    Q24000 Series 1990

    Q14000 Series 1988

    The current BiCMOS families were preceded by three CMOS array series, each fasterthan its predecessor. The BiCMOS arrays combine the drive and interface ability of

    bipolar with the cooler operation of CMOS. The newer BiCMOS Series must be larger,

    faster and cooler.

    Comparing the arrays

    The items that define the differences between array series include those shown in Table

    3-4.

    Table 3-4 Features for Array Series Comparison

    Array Series Comparison Topics

    The process technology

    Metal layers routed (2, 3)

    Series gating techniques

    Sea-of-cells versus routing track architectures alsocalled channelless vs. channelled

    Overall Maximum Speed of Operation specified asI/O and internal toggle rates

    Frequency Ft (frequency at which beta for transistor

    becomes unity)

    Noise immunity

    Edge rates - programmable or not

    Symmetry in rise and fall times

    Power-supply options allowed

    Power-supply variation stability

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    6/53

    Maximum number of I/O cells available

    I/O modes allowed (TTL, ECL, MIXED, etc.)

    ECL terminations

    On-chip translators

    Maximum number of internal cells or gates availableFeatures for Array Series Comparison

    Macro Options - Standard (S); Power (P); Low-

    power (L); High-speed (H); Fast (V), Drivers (D);

    super-drivers (D)

    - - - or lack of options; i.e., speed-power

    programmability

    Variety in the macro library available

    Wire-ORs (dot-wire) allowed or not

    Design constraints

    Power dissipation per gate

    Packaging Available

    Autoplace, Autoroute

    Engineering Workstation support

    Simulators supported

    Second source

    Military compatible

    Commercial compatible

    Military qualified testing

    Other topics as dictated by the arrays, their

    technology and the design issues

    The arrays within a series refine these differences with specific information on size,

    number of cells by type, and details about interfacing, as shown in Table 3-5.

    Data sheets, product profiles and macro library design guides or design manuals supply

    the specific information for an array series. The design manual, supplied with the array

    library media, is the controlling document.

    Architectural Specification or Hardware Specification

    Once a clear definition exists of the circuit or circuits that will be placed on one array,

    then the planned design can be developed. This is on a smaller module scale than the

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    7/53

    block-level functional specification, e.g., at the level of counters, adders, latches,

    registers, sequencers, etc. The performance requirements defined in the functional

    specification can be used to select the technology.

    Table 3-5 Array-Specific Specifications

    Hardware or Architectural Specification

    Number of internal cells

    Number of I/O cells

    Number of outputs

    Number of bidirectional macros

    Number of fixed power and grounds

    Rules for adding power and ground

    Packaging Options

    Maximum internal current limits

    On-chip memory

    Macro-type design use restrictions such as number of

    Darlington; CML outputs

    Placement rules that affect design

    Variable bonding

    The review of available arrays is conducted in parallel with the creation of the hardwarespecification.

    With the descriptions developed for the modules, equivalent gate estimates can be made

    for the circuit, or estimated cell usages can be computed for the circuit on a specific

    array. The array vendor Applications Engineer can help with the sizing estimate.

    The hardware design specification details what the designer intends to do to meet the

    target functional specification. This level of specification can be equated to a PDL(program definition language) description of software and is the basis for the evolution of

    HDL, hardware description language, and its derivatives.

    If a particular testing methodology is being enforced, the sizing estimates must take thisadditional logic into account. If additional testing logic, such a parametric gate tree or

    parity logic is to be used, it must be included in the sizing estimates.

    The specification may include proposed vendors and arrays.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    8/53

    Table 3-6 Components of The Hardware Specification

    Hardware Specification Components

    The selected technology or technologies

    Potential array series (1-3 at the most)

    Block level diagram to the sub-module level

    The functional description of the different circuit sub

    -modules such as adders, counters, registers, etc.

    Sub-module sizing

    --- equivalent gates or estimated internal cell

    utilization

    --- estimated I/O cell utilization

    --- estimated pad utilization

    --- estimated internal pin counts

    Refined details on the array interface

    --- number of CMOS I/O

    --- number of TTL I/O

    --- number of ECL 10K I/O

    --- number of ECL 100K I/O

    --- all four types partitioned into inputs and outputs

    and bidirectionals

    --- number of outputs switching simultaneously (by

    type) (SSOs)

    --- maximum toggle frequencies for each I/O

    --- external set-up and hold window unless this circuitwill establish the window specification for the

    driving circuit

    Critical path throughput performance

    Estimated power - DC and AC as required

    Package to be used

    Heatsinks required and/or air cooling required

    Estimated junction temperature

    There should be a design review of the architectural or hardware specification beforefinal selection of an array series. On final selection, the specification should be revised to

    show that series and all computations performed for that series.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    9/53

    Note that a workstation can provide some assistance. The critical path may be captured in

    more than one version and comparisons made based on an annotated simulation.

    Power and sizing details can be run against a macro list rather than a full interconnectnetlist. (This tool is vendor-dependent.) Check if such a pre-capture tool is available to

    help size the circuit.

    Array Sizing

    Cell Structure

    Each cell in an array consists of a number of uncommitted transistors, resistors and other

    discrete components and is designed around the performance criteria for the intended

    macro library. The cells will vary between array series, regardless of the vendor.

    Equivalent gates

    The number of equivalent gates has been a design measure dating from the days of

    discrete designs first converting into SSI-level ICs. Integrated circuits were classed asSSI, MSI and LSI based on their equivalent gate counts. Circuits were "sized" based on

    the number of equivalent gates it would take to create them. CMOS arrays carried on

    with the equivalent gate count and it was reasonable because the internal cell in a CMOS

    array can be sized as 1, 2 or 3 gates.

    Bipolar arrays carry equivalent gate counts on their data sheets as a sizing measure but it

    serves only to show relative sizing between arrays in the same series. Bipolar array cellcomplexities render equivalent gates a rough measure at best. BiCMOS cells are more

    complex than CMOS and equivalent gate estimates are not recommended for them either.

    To complicate the problem, vendors use many different methods for computing

    equivalent gates. The designer would need the algorithms before a rational comparison

    based on equivalent gates can be made between and two array series, even from the same

    vendor.

    Example - Method 1

    One approach to array sizing is to count the number of transistors in the internal corecells, assume that 2.5 transistors is equivalent to a gate (Digital Equipment's definition),

    and compute the number of equivalent gates per cell. The product of the number of cells

    times the number of gates per cell provides the equivalent gates per array.

    equivalent gates = ( number of transistors in core / 2.5 )

    Example - Method 2

    Another method is to use the D flip/flop. Sizing the D flip/flop as 11 gates, the Q20000

    Series D flip/flop uses 2 internal cells.

    equivalent gates = ( number of internal cells / 2 ) * 11

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    10/53

    Example - Method 3

    The usual AMCC method is to size a 3:1 MUX-D flip/flop macro as 11 gates. The

    Q20000 Series 3:1 MUX-D flip/flop uses 3 internal cells.

    equivalent gates = (number of internal cells / 3) * 11

    Example - Method 4

    The last method discussed here is to size a full adder at 16 gates. For the Q20000 Series,

    a 1-bit full adder takes 3 internal cells.

    equivalent gates = (number of internal cells / 3) * 16

    or:

    equivalent gates = [(number of internal cells / number of cells required for measuring

    function) * number of gates in function]

    AMCC ASIC Product Selection Guide with Equivalent Gates Listed (1996)

    AMCC ASIC PRODUCT SELECTION GUIDE

    (1990''s)

    Part

    Number

    Technology

    EquivalentGates

    (Full AdderMethod)

    Number

    of I/O

    Structured

    Array Blocks

    Q20004 1 Micron Bipolar 671 28 None

    Q20010 1 Micron Bipolar 1469 66 None

    Q20025 1 Micron Bipolar 4032 100 None

    Q20045 1 Micron Bipolar 6782 128 None

    Q20080 1 Micron Bipolar 11242 162 None

    Q20120 1 Micron Bipolar 18777 198 None

    Q20P010 1 Micron Bipolar 928 34 1 GHz PLL

    Q20P025 1 Micron Bipolar 3120 51 1 GHz PLL

    Q20M100 1 Micron Bipolar 13475 195 RAM

    I/O cell contributions

    None of these methods for estimating equivalent gates take the logic capability of theinterface cells into account. Some vendors do count them in their published equivalent

    gate counts and others do not.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    11/53

    Example - AMCC cell design

    AMCC cell design is optimized for MUX, latch and flip/flop implementations. Each cellis designed to support high-speed requirements so that there are no placement restrictions

    on the high-speed option macros due to cell limitations. No power is used by a cell in its

    base configuration.

    For the AMCC BiCMOS arrays, a cell is roughly 3 gates. For the bipolar arrays, a logiccell is a more complex structure and varies with the series.

    Cell capabilities

    Cells for each array have different capabilities. The cells for different array series, same

    technology (bipolar, BiCMOS or CMOS), from the same vendor may also differ widely

    in the approach used in their design and in their functional complexity.

    Example - AMCC cell capabilities

    An internal cell for the Q5000 Series can support a complex D flip/flop, a 3:1 MUX andD flip/flop, a triple latch, two simple (no RESET, single output) D flip/flops, or triple 2:1

    MUXs with common select. The Q20000 Series internal cell alone cannot support a D

    flip/flop. S- and L-option D flip/flops use two cells while H-option D flip /flops require

    three.

    The Q20000 Series internal cell is roughly comparable to a half-cell for the Q5000 Series

    if size of function alone is considered as the basis for comparison. The logic cell for theQ20000 Series is defined as the smallest partition possible and each internal cell supports

    one Turbo macro output. Turbo is a Q20000 feature that provides high drive (18 loads)

    with less power and less skew.

    Cell types and resources

    The vendor data sheet and design guide or design manual should clearly identify cell

    types and the number of each on each array in the series. Any restrictions in the use of the

    cells, either utilization limits or cell count limits should also be readily available.

    Included in these descriptions should be a measure of cell functionality, either in a table

    summarizing the array cell capability or through the macro library documentation.

    As a part of the cell resources identification, the vendor should be supply a clear

    description of the fixed power and ground pads and procedures to added additional powerand ground pads. These added power and ground macros usually reside on an I/O cell and

    pad and can affect the number of cells left for circuit signals.

    Example - AMCC Cell types

    The basic AMCC logic array is composed of two classes of cells: the internal cells, which

    is composed of logic (L) and memory (M) cells for bipolar arrays or basic (B) cells for

    BiCMOS arrays; and the perimeter cells composed of input, output or bidirectional (I/O)cell. Older AMCC arrays had buffer cells internally and specialized input or output-only

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    12/53

    interface cells. An array may or may not have specialized I/O cells. AMCC cell types are

    shown in Table 3-7.

    The QM1600S (now the QM1600T) was the first of the AMCC arrays to incorporate

    memory on a logic array.

    Table 3-7 Cell Types

    INTERNAL: Logic, Basic, Buffer, Memory

    PERIPHERAL: Input, Output, I/O,Special-

    I/O

    Refer to the cell resources table for an approximate idea of the array cell capacity forthree series and note the differences. Cell resources for the Q24000 Series are shown in

    Table 3-8, for the Q5000 Series in Table 3-9 and for the Q20000 Series in Table 3-10.

    Note that no two series are alike!

    Table 3-8 AMCC Q24000 Series Arrays - Cell Resources

    ArrayName

    Internal B Cells I/O Cells Pads

    Q24280 6880 300 256

    Q24140 3360 226 226

    Q24091 2268 160 160

    Q24060 1440 132 132

    Q24021 540 80 80

    Q24008 190 66 44

    Usage restrictions: Refer to the Q24000 Design Manual for details.

    Table 3-9 AMCC Q5000 Series Arrays - Cell Resources

    Array

    Name

    Internal

    L Cells

    I/O

    Cells

    Output

    Limit

    Memory

    Cells

    Q5000T 352 160 120 -

    Q3500T 242 120 - -

    Q1300T 84 76 - -

    QM1600T 114 106 -2 (1240bits)

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    13/53

    Table 3-10 AMCC Q20000 Series Arrays - Cell Resources

    ArrayName

    InternalCells

    I/O

    Cells(For

    Signals)

    I/O

    Cells(Fixed)

    (1)

    Signals

    - PLLRelated

    Signals

    - LoopFIlter

    (2)

    Q20120 3414 198 4 - -

    Q20080 2044 162 4 - -

    Q20045 1227 128 4 - -

    Q20P025 595 76 4 13 8

    Q20025 733 100 4 - -

    Q20P010 177 54 4 13 8

    Q20010 267 66 4 - -

    * Two pads are used by the AC Speed Monitor and two by the thermal diode.** Only for the largest arrays, 100_LDCC for the Q20P010 and 132_LDCC for the

    Q20P025

    Add last four columns to find total I/O cells and pads.

    ArrayName

    ECLOutputs

    Limit

    TTLOutputs

    Limit

    PLLPower/Ground

    Power/Ground(1)

    Q20120 172 100 - 78

    Q20080 130 80 - 52

    Q20045 100 64 - 52

    Q20P025 45 (2) 45 (2) 8 26

    Q20025 80 48 - 36

    Q20P010 23 (3) 23 (3) 8 20

    Q20010 50 24 - 32

    (1) Add last two columns to find total number of fixed power and grounds.(2) 51 for external loop

    (3) 34 for external loop

    Array architecture

    The base arrays for the various series are similar in their design concept in that the core

    of most arrays is composed of an array or matrix of logic or basic cells organized in arow-column configuration. Arrays that contain memory place the RAM blocks in the core

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    14/53

    area, with the rest of the core designated for internal logic cells. Phase-Lock loop arrays,

    the PLL arrays, have PLL locations that straddle both core and interface areas. Interface(I/O) cells are placed around the perimeter of the array interspersed with power and

    ground.

    There are different base arrays for different power supply configurations. The base array

    for a single +5V supply will be different from that for a mixed-mode +5V/-5.2V dual

    supply. A generic die plot for the Q20080 array is shown in Figure 3-1 and one for theBiCMOS Q24091 is shown in Figure 3-2, with the interconnect pattern in Figure 3-3.

    Figure 3-1 Q20080 Die Plot

    Figure 3-2 Q24140 Die Plot

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    15/53

    Figure 3-3 BiCMOS Macro Interconnect Pattern

    Macro configurations

    Macros are individually configured by interconnecting the components within a cell with

    one layer of metal to form the selected macro function. Macros can occupy a cell, apartial cell (usually 0.5 cell), or require several cells. The internal interconnect for a

    simple macro is generally confined to one layer of metal. The particular layer will depend

    on the array series.

    Cell Interconnect

    The process of interconnecting macros is called routing. For channeled architectures,

    routing is performed following specific routing tracks. The interconnect is on the first andsecond layers of metal in a two layer metalization array. Horizontal and vertical tracks

    are assigned to specific metal layers.

    For an array with three layers of metal, the second and third layers will be used for inter-macro routing and the first layer for intra-macro routing. In practice, the hard definition

    of which layer of metalization is restricted to which operation can be blurred.

    Channelless architecture

    Channelless architectures have been developed to avoid some of the limitations imposed

    by restricted number of routing tracks.

    The Q24000 sea-of-gates and Q20000 sea-of-cells (Channelless) architectures use three

    layers of metal. Macros are interconnected on one level and interconnect between macros

    occurs on the other two, the specific layers being array and series dependent.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    16/53

    For the Q20000 Series arrays, the internal macro connects (intraconnect) are on second

    and third metal with macro and I/O interconnects on the first layer. Routing on all three

    layers is possible and four layers of metal is a future possibility.

    Sizing the Design - Selecting the Array

    Netlist

    The combination of the macro layout patterns (component interconnect) and the macrointerconnect forms the metalization pattern required to implement the circuit on a given

    array. This pattern is described in a netlist.

    Each workstation produces a netlist in its own format, carrying along whatever in

    formation the workstation vendor has decided was necessary. There is no standardworkstation or simulator netlist format although efforts are directed toward that goal (see

    EDIF) and some success has been recently attained.

    Parametric information that is included in the netlist is array and array-vendor dependent.

    A library such as the Q20000 is shipped to customers with aMacro Parameter File,which supplies the parameters for each macro in the library. These parameters are

    included in the netlist for each occurrence of each macro used in the design.

    Example: The AMCC netlist

    To accommodate transfer of designs from any workstation or from any of the sup portednetlisters (Laser 6 and Verilog) to the mainframe-based place and route sys tem, netlist

    conversion is performed, where the workstation netlist is translated into a standard

    interface format. AMCC refers to this as AGIF -AMCC generic interface format. Adifferent conversion program is required for each workstation or simulator that AMCC

    supports.

    The standardized netlist is namedcircuit.sdi . This netlist is used as input to the AMCC

    MacroMatrix software as listed in Table 3-11.

    Table 3-11 AMCC MacroMatrix and Design Support

    Software - using circuit.sdi

    MacroMatrix AMCCERC rules check

    MacroMatrix AMCCPACKAGE (Package Check and Data)MacroMatrix AMCCANN annotation

    MacroMatrix AMCCSIMFMT simulation file formatter

    MacroMatrix AMCCVRC vector check

    MacroMatrix AMCCSUBMIT submission check

    AMCCAD place and route system

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    17/53

    Test vector transfer software

    Verilog simulator

    Interface options - I/O modes

    Interface combinations required for the design should be compared to those offered by

    the arrays under evaluation. The power supply and the interface combination define the

    I/O mode of the array. Not all arrays support all possible I/O modes with all possible

    power-supply combinations.

    Interface types

    Once it is seen that the interface mix can be supported on an array series, the type of TTLand ECL outputs that will be required is used to help size the I/O requirements of the

    array.

    Example: AMCC interface options

    For all AMCC arrays, TTL and ECL translators are included in the I, O, or I/O cells forexternal interfacing to both ECL and TTL. Each I, O, or I/O cell can be configured to be

    either TTL, ECL 10KH, ECL 10K, ECL 100K or as a power or ground pad. I/O cells can

    usually be used for input macros, output macros or bidirectional macros. Table 3-12

    shows the possible I/O combinations allowed on AMCC arrays while Table 3-13 details

    the TTL output options and Table 3-14 the ECL output options.

    Table 3-12 AMCC Interface Combinations

    IF INPUT IS OF TYPE: OUTPUT CAN BE ANY OF:

    TTL ECL 10K ECL 100K TTL ECL 10K ECL 100K

    X X X X

    X X X X

    X X X X

    X X X X X

    X X X X X

    Table 3-13 TTL OUTPUT OPTIONS

    standard TTL

    open-collector

    three-state or 3-state also called tri-state

    standard TTL output bidirectional

    open-collector output bidirectional

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    18/53

    The 3-state outputs and TTL bidirectional macros have an enable pin that is eitherrestricted to being driven by a specific macro type (a 3-state enable driver) or unrestrictedand driveable by any internal-level signal. The restriction depends on the array and on the

    mode (100% TTL or Mixed ECL/TTL) of the circuit.

    Table 3-14 ECL Output Options

    Output Options

    ECL 10K, 50 ohm termination

    ECL 100K, 50 ohm termination

    ECL 10K, 25 ohm termination

    ECL 100K, 25 ohm termination

    ECL 10K, 50 ohm termination bidirectional

    ECL 100K, 50 ohm termination bidirectional

    CML outputs (> 600MHz),

    ECL''s version of an open-collector

    On-chip 50 ohm series termination ECL 10K

    On-chip 50 ohm series termination ECL 100K

    On-chip 100 ohm series termination ECL 10K

    On-chip 100 ohm series termination ECL 100K

    Darlington ECL 10K, 50 ohm termination

    Darlington ECL 100K, 50 ohm termination

    Darlington ECL 10K, 25 ohm termination

    Darlington ECL 100K, 25 ohm termination

    Darlington ECL Hi-Z 10K

    Darlington ECL Hi-Z 100K

    Darlington On-chip 50 ohm series termination ECL 10K

    Darlington On-chip 50 ohm series termination ECL 100K

    Darlington On-chip 100 ohm series termination ECL 10K

    Darlington On-chip 100 ohm series termination ECL 100K

    From CML forward in the above list are types identified as possible for the Q20000Series. Standard ECL 10K, 100K, CML and Darlington outputs were in the first re lease

    of the macro library for the series.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    19/53

    Power supply options

    In addition to the types of interface required, the power supply or power supplies to beused should be compared to the supplies allowed for the array. The supplies, the number

    of fixed power and ground pads and their locations should be reviewed for their

    applicability to the design in question.

    There is often a need to have an array interface with several types of I/O while keepingpower supply requirements in line with what is already provided on the target PCB

    (printed circuit board). This can lead to operation of a technology with non-standard

    voltages.

    Effects on Parametrics

    When non-standard voltages are used, such as -4.5V with ECL 10K and -5.2V with ECL

    10K, the DC parametrics for the array will be affected. The data sheet for the array series

    will call out the parametrics for standard supplies.

    The vendor must be consulted for computational procedures to be used

    when non-standard power supplies are used.

    Example - AMCC Arrays - Power Supply Options

    The power-supply and interface type matrix for the AMCC arrays shows a very flex ible

    approach to solving interface problems. Many of the AMCC arrays can be used with a

    single power supply (+5V) or dual supplies (+5V/

    -5.2V or +5V/-4.5V) as shown in Table 3-15.

    The Q5000 and Q20000 Series arrays are bipolar arrays. They use an internal ECL core

    (0.5V ECL) and can externally interface to either Schottky TTL, ECL 10K or to ECL100K. AMCC arrays allow for the mixed mode operation of ECL/TTL on the same array,

    either ECL 10K/TTL or ECL 100K/TTL or all three. Only one type of ECL may be used

    for input on a single array. Both ECL types may be used for output on the same array.

    Table 3-15 AMCC Power Supply Options

    SINGLE POWER SUPPLY DUAL POWER SUPPLY

    I/O MODE +5V -5.2V -4.5V +5V/-5.2V +5V/-4.5V

    100% TTL x

    100% ECL 10K x x x x x

    100% ECL 100K x x x x x

    ECL10K/TTL x x x

    ECL100K/TTL x x x

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    20/53

    100% ECL run with dual power supplies is called"DECL".

    Table 3-15, with the exception of "DECL", also applies to the Q24000 Series BiCMOS

    arrays. They have a CMOS core and bipolar I/O and they can interface to CMOS.

    The concept of mixed ECL-TTL interface on a single array was originated as a result ofcustomer demand. The idea of operating ECL 10K at ECL 100K power supplies and visa

    versa was also the result of customer requests.

    Example- communicating to the software

    AMCC uses dummy macros calledchip macros that allow a user to specify precisely

    what array is to be used in what interface mode with what power supplies. (See Figure 3-

    4.) The chip macro communicates parameters to the AMCC MacroMatrix softwaremodules that are performing design validation, including population and cell type limit

    checks. The array-specific checks use chip macro parameters to set limits for TTL

    outputs, Darlington outputs, simultaneously switching outputs, bidirectional macro

    counts, and other checks.

    The AMCCERC software can spot mismatched interface macros and exceeded macro

    type limits and issue appropriate error messages. It can also adjust the DC power module

    to use the correct power supply in the power computation.

    Figure 3-4 A Chip Macro (1994)

    Interface cell functionality

    Interface cells are designed to support TTL-translators, ECL-translators and most of the

    required buffers for external interfacing to both ECL and TTL. The amount of buffering,the capability of the cell to support high fan-out drivers, single-cell bidirectional macros,

    ECL output terminations to 25 or 50 ohms, and elementary logic possible in an interface

    cell varies by array series.

    For many of the arrays, the input macros also provide simple AND/NAND or OR/NOR

    logic or high fan-out driver operations. The output macros for TTL contain OR or NOR

    operations and those for ECL may contain these operations plus others as complex as a

    latch or a 2:1 MUX. This is in addition to level translation and buffering functions. Theamount of logic contained within an interface macro is series-dependent; it is a function

    of the I/O cell complexity and the components available within the cell.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    21/53

    Variability in I/O design

    The various array series and even arrays within a series differ in their approach tointerface. The following gives an idea of the choices that have existed on the arrays from

    one vendor. Similar variability and evolution can be traced for other vendors.

    The Q700 Series used unbuffered I (input-only) and I/O (input, output or

    bidirectional) cells that require a buffer for each input and each output macro. Thebuffer macros were placed on internal cells (L or B), reduc ing the L-cells

    available for internal logic functions. There was a D-cell on one array in the series

    to provide a pin-restrictive three-state enable driver that could drive more thaneight loads. A bidirectional macro was composed of one interface and two buffer

    cells.

    The Q1500A array used I (input-only) and O (output-only) cells, with buffering

    either in the input or output macro or in a separate macro. The BExx macros werefor ECL output buffering, for example, and were placed on a B cell. TTL input

    buffers are part of the input macro that was placed on an I cell. Bidirectionals

    were constructed from two macros on two adjacent cells using the same methodsnow used on the Q14000 Series arrays.

    The QH1500A array used I and I/O cells, with buffering included in the input,output, and bidirectional macros the first time all buffers were removed from the

    internal cell area. The I/O cell could support single -cell bidirectional macros.

    The Q3500 and Q5000 Series use I/O cells only, with buffering included in the

    input, output and bidirectional macros.

    The Q1500, Q3500 and Q5000 Series also provide unbuffered ECL input and the

    buffered logic macros to support it. The BIxx series macros are made up of

    representative logical functions from the rest of the macro library (gates, EXORnetworks, latches, flip/flops, MUXs and decoders) which also includes the ECL

    input buffering function on selected input pins. The BIxx macros are placed oninternal macros (L or B). The selected pins are pin-restricted to be driven by any

    unbuffered ECL input macro.

    The unbuffered ECL input macro does not suffer any degradation in speed due to

    loading delay, the only macro to behave in this manner. It can drive eight loads.

    Load capacitance presented to the source driving the unbuffered ECL inputincreases by 1 pF per fan-out.

    The Q14000 Series uses I/O cells, with buffering and logic as is used in theQ5000 Series. Single cell bidirectional macros can only be used on the Q9100B or

    Q2100B and then only in specific "special-I/O" cell locations. Additional

    bidirectional macros must be built from one input and one output macro.

    The Q20000 Series uses I/O cells, with buffering but no logic functions. TTL

    outputs (output macros and bidirectional macros) are limited to a number that

    varies per array. ECL outputs are also limited. The bidirectional macros use two-cells and provide an added ground pad by using the left-over pad.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    22/53

    Most 25 ohm termination macros require two I/O cells. The Q20000 Series

    provides a single-cell 25 ohm termination macro but limits its use to arrays usingtwo power supplies. Darlington macros are limited to arrays with two power

    supplies.

    The Q20000 Series uses four fixed I/O signals per array. These signals are used

    by the on-chip thermal diode (one anode and one cathode) and the on-chip AC

    speed monitor (one is power and the other is an output signal). These four padsand cells are not available for use with any other function.

    Bidirectional macros

    Bidirectional macros can be two-pin, one-pin, one-cell or two-cell macros. If an arrayseries has no bidirectional macros, they may need to be constructed. Watch out for

    incompatibility with the workstations - a work-around may be required for proper

    simulation of bidirectional macros.

    If more bidirectional macros are needed, they are constructed from two macros, one input

    and one output, and placed on two adjacent I/O cells. The two macros can be tiedtogether into one package pin, but this requires two test vector sets, one for wafer sort and

    one for packaged part testing. They are usually tied together outside of the package to

    keep testing simplified, but this requires two package pins.

    A third approach not liked by the array vendors is to stitch two macros together in the

    interconnect so that only one pad and one pin are used. Anytime that hand-edits or

    customization of the interconnect or base is involved, both time and money are required,

    and debugging time may need to be increased.

    Examples

    The Q20000 Series arrays support a bidirectional macro that sits on two I/O cells, unlikethe single-cell approach of the Q5000 Series. In this case, the internal macro routing

    eliminates the need for two sets of test vectors or an extra bonded-out pad.

    Each bidirectional macro also contains either an IEVCC pad (ECL VCC) or an ITGND

    (TTL GROUND) pad. (Refer to "Added power and grounds" for a discussion of pad -

    plane interconnections for added power and ground pads.)

    Internal Cell Functionality

    The logic (bipolar) and basic (BiCMOS) cells are organized to provide logic functionssuch as basic logic gates and buffers, high-fan-out drivers, EXOR and EXNOR net

    works, gate networks, multiplexors, decoders, latches, and flip/flops.

    These cells can support a 3:1 MUX-D flip/flop combination, triple latch-common clock,

    triple 2:1 MUX-common select and dual D F/Fs. As stated before (see "Cell structure"),

    the number of cells required for any of these functions will vary by array series.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    23/53

    The number of cells required to implement a function depends on the component mix

    present in the cell and that required by the function. Arrays are designed for a specific set

    of applications or targets and base array design is optimized for those applications.

    An array cell size may be divisible so that half-cell macros are possible, which also

    allows sizes such as 4.5 cells. A cell may be designated as the smallest divisible or

    addressable unit (SAU), in which case a one cell macro is the smallest macro allowed.

    Multi-Cell Macros

    Groups of internal and/or interface cells can also be combined into large multi-cell

    macros for higher functionality. The larger multi-cell macros, named MSI macros by

    AMCC, interconnect components spread across several cells more efficiently than theschematic interconnection of the equivalent function formed from basic macros. The

    result is a denser functionality with the resultant speed improvement.

    Design density, measured by the cell utilization per functionality, can be increased by 20-

    40% while reducing design partitioning and macro conversion efforts. The large MSI

    macros include MSI and LSI functions.

    Example MSI macros are 6-bit comparators, 4-bit carry-look ahead adders and their

    companion carry-look-ahead generator, 4-bit up and down counters, 4-bit registers, 6-bit

    comparators and 8-bit latches. Different array series offer different MSI macros.

    The simple and MSI macros available with a specific array series are documented, along

    with any use or placement restrictions, in the appropriate Design Guide or DesignManual. Always refer to the latest version of these manuals when performing an

    evaluation.

    Hard and soft macros

    There are two types of MSI or multi-cell macros. One type is hard, where the cell

    interconnect is treated as one large macro and no variations in layout are permitted. Theother type is soft, where the cells composing the macro have a preferred, specified-to

    layout pattern but which requires the interconnect to be routed as if it were any other

    interconnect net.

    The MSI macros in the Q5000 Series were originally designed to allow placement in

    several different configurations to facilitate the auto-place algorithm (best-fit approach),

    while closely maintaining the specified performance for the macro. This is a soft-macro.

    A preferred placement is documented.

    The problems in improper placement, which invalidates the timing specifications and

    therefore, the simulation model, and the problems in net weighting and prioritizing the

    internal nets to the router, so that the interconnect delay could be kept minimal, make the

    soft MSI macro approach unattractive.

    Both the BiCMOS Q14000 and Q20000 Series MSI macros use hard-macros, where an

    MSI macro is laid-out as a single multi-cell unit and handled by the placement soft ware

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    24/53

    as an inflexible black box. Hard-macros facilitate automated placement. Future AMCC

    arrays will use the hard macro approach. Figure 3-5 shows an MSI-based 16 -bit adder.

    Figure 3-5 16-Bit MSI Adder (1994)

    Refining Interface Requirements

    When the interface types and their power supply requirements are documented and one or

    more arrays chosen as candidates for the final selection, the interface requirements mustbe refined. There are several conditions under which additional power or ground pads

    will need to be added to an array beyond the fixed power and ground pads provided.

    These include:

    simultaneously switching outputs,

    package restrictions,

    high-speed signal isolation and

    ECL - TTL isolation.

    Simultaneous switching TTL or ECL outputs is a potential source of system noise, which

    can be reduced by the addition of TTL VCC - TTL Ground pairs and/or ECL VCC.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    25/53

    Some arrays require that drivers be placed next to ground. Others require that a ground

    exist between simultaneously switching TTL outputs and ECL inputs, or between anyTTL output and an ECL input. Isolation of CMOS inputs from the faster switching TTL

    and ECL signals may also be required. When a fixed ground is not available, then one

    must be added. The design rules for any array series are called out in theDesign Manual

    for the array.

    Variable Requirements for Power and Ground

    Bipolar arrays require that all fixed power and ground be used or bonded out to the

    package. Additional power and grounds are based on simultaneously switching out puts

    or isolation requirements.

    CMOS arrays have some or all of their fixed power and ground pads under user -

    placement control. The vendor provided a list of how many would need to be used

    depending on the signals used by the design. This type of flexibility is detrimental tostandard packaging; it is time consuming and expensive.

    In spite of the drawbacks, recent BiCMOS designs have returned to this approach,providing the minimal number of power and grounds and allowing other fixed-position

    power and grounds to go unbonded (unconnected). The criteria for requiring that thesefixed positions be used or that additional power and grounds be added is based on the

    number and types of interface macros used.

    When the power busses supporting the internal core are isolated from the bussessupporting the peripheral I, O or I/O cells, noise feedback due to output switching is

    minimized. The threshold and reference voltage generators for the logic array internal

    cells and I, O and I/O cells should also be independent to insure steady operation.

    Adding Extra Power and Ground pads

    Adding a power pad or a ground pad to an array can be accomplished by placing a power

    or ground macro on the desired pad (array-specific procedure. AMCC arrays use theITPWR (+5V), ITGND (0V) and IEVCC (ECL VCC) macros to add power or ground.

    (See Figure 3-6.) For standard refer-ence ECL, IEVCC represents a ground pad. For +5V

    REF ECL, IEVCC represents a power pad.

    Figure 3-6 Added power and Ground macros (AMCC)

    Dual-Function I/O Macros

    Each added power and ground macro uses a pad and disables the cell that is associated

    with that pad, reducing the number of these cells and pads available for I/O operations.

    To offset this waste, many macro libraries include dual-function macros that use the I/O

    cell for one function and the pad for added ground.

    Silicon efficiency can be achieved with the dual function macros. The macros avail able

    are array series-specific and vary widely. If any of these functions applies to the design,

    they can reduce silicon requirements while maintaining functionality. (See Figure 3-7.)

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    26/53

    Example macros include:

    input function with 3-state enable driver

    3-state enable driver with added ground bidirectional input with added ground

    Figure 3-7 Example Dual-Function I/O Macro

    Example - Simultaneously Switching Outputs

    All AMCC arrays, with the exception of the Q20000 Bipolar Series and the BiCMOS

    Q24008 array, use the following rules for adding power and ground due tosimultaneously switching outputs (SSO), called an output group.

    Allow 8 TTL SSO outputs per quadrant, then add one TTLPWR and one TTLGND

    macro for each group of 1-8 after the first eight. This requires two cells, two pads and,

    depending on the package, two package pins. Add another pair for the next group of 1-8and another for the next group of 1-8 and so on. All TTL output counts are converted to

    "equivalent" 8 mA outputs. (See Table 3-16.)

    For packages with internal power and ground planes, place the TTLPWR and TTLGNDmacros so that they are interspersed with the simultaneously switching outputs and can be

    bonded to the power or ground package plane.

    Table 3-16 Sample Rules for Adding TTL Power and Ground

    PER TTL SSO ADD TTLPWR, TTLGND PAIRS:

    0-8 do nothing

    9-16 add 1 pair

    7-24 add 2 pairs

    Etc.

    Allow 8 ECL SSO outputs per quadrant, then add one ECLVCC macro for each group of

    1-8 after the first eight. This requires one cell, one pad and, depending on the package,one package pin. Add another pair for the next group of 1-8 and another pair for the next

    group and so on.

    For packages with internal power and ground planes, place the ECLVCC macro so that itis interspersed with the simultaneously switching outputs and can be bonded to the power

    or ground package plane as required. Note that ECLVCC is a power pad in a +5V

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    27/53

    reference ECL circuit (5V REF ECL) and a ground pad in a standard reference ECL

    circuit. (See Table 3-17.)

    Table 3-17 Sample Rules for Adding ECL Power OR Ground

    PER ECL SSO ADD ECLVCC Q20000 Rules

    0-4 do nothing do nothing

    4-8 do nothing add 1

    9-12 add 1 add 2

    13-16 add 1 add 3

    17-21 add 2 add 4

    21-24 add 2 add 5

    Etc. Etc.

    The Q20000 Series requires one ECLVCC per additional 1-4 ECL SSO after the first

    group of four. All output counts are converted to "equivalent" 50 ohm outputs. The

    extremely high speeds of these arrays require design procedures to ensure minimal noise.

    Thermal Diodes

    As the arrays have become larger and dissipate more power, thermal characterizationbecomes an increasingly important issue. Some means of evaluating array junction

    temperature must be developed for each array series.

    For some of these series, macros have been developed that allow the designer to add oneor more thermal diodes to the design. The macros are treated as any other macro and are

    placed on interface cells.

    Newer arrays, such as the Q20000 Series, have thermal diodes built into the base array.

    The Q20000 Series arrays have a thermal diode structure embedded in the base and

    brought out to dedicated or fixed pads. These pads must be brought out to package pins.

    These pads are not accessible to any other macro function.

    Example - AMCC thermal diodes (1994)

    Thermal diode macros exist for the Q14000 and Q5000 Series libraries and the de signeris required to add one thermal diode macro pair per circuit. Using more than one was

    found to be unnecessary as the thermal gradient across the chips was found to be

    insignificant. Where there might be doubt, additional thermal diode pairs can be added.

    Each pair uses two I/O cells. (See Figure 3-8.) One earlier version of the implementationalso used one internal cell. No differences were found to exist between these two

    versions.

    Thermal diode macros also exist for the Q20000 Series for those cases where a second

    thermal diode measurement is felt to be necessary.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    28/53

    Figure 3-8 Thermal Diode Pair

    The AMCC AC Speed Monitor

    AC testing is a problem for both the designer and the vendor and to reduce the problems

    associated with it, the Q20000 Series arrays each has a built-in AC speed monitor with

    two fixed pads assigned to it. These pads must be brought out to package pins.

    Threshold generators - routable generators

    The designer is not usually concerned with the threshold generators. In cases where they

    are required, they may only need identification and routing connections rather than actual

    cell placement.

    VBB Reference voltages

    There are some instances where VBB reference voltages are desired, where I/Outilization is high and the designer is using single-rail ECL where differential ECL is

    required. These reference voltages are supplied with a macro and are placed on an

    interface cell. They will connect to external package pins.

    Speed and testing interface cell utilization

    Maximum speed of operation and testing requirements will have an affect on the final

    interface cell count. For very high speeds, differential ECL may be required by the array

    vendor, doubling the cell and pad counts of those signals.

    Testing may require that parts of the circuit are degated while other parts are being tested.

    This will occur when a simultaneously switching group is very large, including thesimultaneous enable-disable of three-state or bidirectional macros. Test-enables may be

    required to partition the circuit for testing, and test enables will use cells and pads.

    Population or cell type limits and utilization

    Where population restrictions exist, circumvention of the limits may include the addition

    of interface macros. For example, a single-cell bidirectional macro limit would result in

    two-cell bidirectional macros being used for additional bidirectional signals. The single-cell 25 ohm ECL termination, if dual power supplies are not available would result in

    two-cell 25-ohm terminations.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    29/53

    Placement restrictions

    High-frequency signals in particular will often require placement in specific cell locationsand require that these macros be isolated with added grounds. Added grounds use pads

    and disable the accompanying cell.

    Where placement restrictions require the addition of macros or a change in the macros

    selected, the effects on cell utilization must be anticipated in the initial estimate.

    Final Interface Cell Utilization

    The final interface cell count for the circuit in its estimated stage should look at all the

    factors that could increase interface cell requirements. The interface cell utilization for a

    non-captured circuit should be less than 100% if possible to allow for adjustments andexpansion. If this is not possible, than the rest of the design must be completed using I/O

    cell utilization minimization as a priority design objective.

    In the ideal situation, an array chosen for a design should be somewhere in the middle ofan array series. This is to provide a smaller option if I/O minimization can reduce the

    requirements and to provide a larger option should the interface requirements grow out of

    the original selection.

    If not, then the interface utilization should be no more than 90% during development,

    with no more than 100% interface utilization for the final design.

    Interface Cell Utilization (general)

    To find interface cell utilization, add the items in the list in Table 3-18.

    Table 3-18 Interface Cell Utilization

    Interface Cell Utilization

    cells for input signals

    cells for output signals

    cells for bidirectional signals

    cells for thermal diodes (I/O)

    cells for AC speed monitor (I/O)

    cells for reference generators

    cells blocked by added power pads

    cells blocked by added ground pads

    cells dedicated to fixed I/O signals

    Divide this sum by the number of interface cells available on the array of choice.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    30/53

    Interface cell utilization = (number of interface cells used by the circuit) / (number

    of interface cells available on the array)

    Example - BiCMOS Cell/PAD Utilization

    When an array does not have a one-to-one ration of I/O cells and pads, then PAD

    utilization may also be required. The Q24008 and Q24280 arrays have 2-cell-1-pad

    structures. Certain macros placed on these structures are very efficient, others are not.Depending on the macros used, single-cell or multi-cell, either pads or cells may be

    rendered inaccessible. These arrays have a complex algorithm available to allow sizing.

    The algorithm requires a check on both cells and pads.

    PAD utilization = (number of PADS used by the circuit) / (number of PADS

    available on the array)

    Fan-out load limits

    Internal cell usage will depend on the macros required to implement the desired

    functions. Refinements to that estimate come when the fan-out load limits, hook-up andpin restrictions for those macros are evaluated. If an interface macro is driving too many

    loads, internal macro buffers will be needed to divide that load or additional interfacemacros will be needed. If internal macros are driving too many loads, the same approach

    is used. These buffer trees use cells and current.

    Macros will be specified with both fan-in and fan-out load limits. The fan-in numbers

    represent the load that the macro presents to the macro driving it. The fan-out limit is thenumber of loads that the macro can safely drive before signal degradation becomes a

    predominant factor. A load unit can be considered to be equivalent to one pico-farad.

    Check with the array vendor for their definition.

    Derated fan-out load limits

    Clock paths, distortion-sensitive and high-speed paths should be designed with a derated

    fan-out load limit, i.e., with macros operating well below their specified limits. The array

    may be specified with a guideline as to the frequency - derating schedule.

    Each AMCC array series is different in the value of the breakpoint frequency but each

    has the same basic rule. For sensitive and clock paths, derate the fan-out load limit by

    20% up to the breakpoint and 40% at or above the breakpoint frequency.

    Example - fan-out derating

    For the Q20000 Series, all internal macros have the Turbo speed enhancement allowing a

    fan-out load limit of 18 loads. The TTL input and bidirectional input macros are the onlyinterface macros that do not have this Turbo enhancement and their fan-out load limit is 9

    loads.

    Assume that the breakpoint frequency is currently set at 400MHz.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    31/53

    For an ECL input toggling at 500MHZ, the derated fan-out load limit would be:

    (1.0 - 0.4) * 18 = 10 (truncated)

    Drivers

    Special driver macros may be provided in a library. These "super-drivers" are not derated.They are designed to provide a clean edge even when loaded to their rated limit. These

    drivers will use more current and more cells then the non-driver but fewer of them arerequired to drive the same load. The result may be the same cell utilization and the same

    power.

    Another feature of drivers should be considered. When timing analysis is performed, the

    super-drivers and drivers will be seen to have a lower k-factor (drive factor) than the non-driver macros, resulting in lower inter-macro delays for the same load than a non-driver

    macro could provide.

    Drivers may be interface macros or internal macros.

    Hook-up or interconnect restrictions

    Hook-up is used here to define the rules on grounding an input pin to a macro. CMOS

    and BiCMOS technologies require that all unused macro input pins (non-primary array

    inputs) be clipped to VDD or VSS, no exceptions.

    Bipolar technologies allow the unused input pins to be tied to global ground. The groundsymbol on the schematic is for human comprehension and to allow checking software to

    understand that the designer meant to leave the pin unattached.

    For some arrays, a macro input pin connected to global ground on a schematic will mean

    that the pin "floats", or is unattached to anything when silicon is built. For others, thesepins are physically attached to a confirmed logical low by connecting to a rail (CMOS) or

    by strapping the base to the emitter (bipolar) through conditional geometry.

    For the Q20000 Series these pins are base input to transistors and when unused are tied to

    the emitter to ensure a logical low. For the Q5000 Series, the pins were allowed to float.

    Whether or not the pins are allowed to float, there will be cases where specific macro

    pins are restricted, i.e., these pins cannot be attached to global ground but must be driven

    low by another macro. This is a hook-up restriction.

    When hook-up restrictions exist, some macro must be added to the schematic to drivethese pins low (or high). The number added will depend on the number of loads that must

    be driven low or high.

    Pin restrictions - interconnect restrictions

    Some macros are pin-restricted in that they may not be freely connected to any other

    macro but much be driven by or drive a specific class of macro. As an example, TTL

    three-state outputs and TTL bidirectional macros in some macro libraries must have their

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    32/53

    enable pins driven by a macro known as a three-state enable driver. No other macro may

    drive that enable pin. The three-state enable drivers can only be connected to drive these

    specific pins; they may not be used to drive other macros.

    In the Q5000 library, three-state enable drivers may only be placed on interface I/O cells,

    even when they are driven by internal signals, leaving the pad unused in this case.

    When pin-restrictions cause the use of specific macros and these macros have restrictedplacements, the impact on cell utilization must be considered.

    Internal cell utilization

    When the paths have all been checked for fan-out, pin restrictions, hook-up restrictions,

    placement rules, etc., the internal cell utilization can be estimated. As stated in Chapter 2,this is the sum of all the internal cells used divided by the number of internal cells

    available.

    Internal cell utilization = (number of internal cells used by the circuit) / (number of

    internal cells available on the array)

    Further changes

    Other factors that can change the estimated cell utilization include adjustments made for

    power reduction, for speed enhancement, or for cell utilization reduction for either

    interface or internal cells.

    Exercises

    1. Select a semi-custom array series (any).

    List:

    the processing technology

    available power supply configurations

    types of TTL input and outputs allowed

    types of ECL input and output allowed

    how bidirectional macros are handled

    2. For the selected series, what cell usage restrictions exist?

    a. Any limits on inputs

    b. Any limits on outputso TTL

    o ECL

    c. Any limits on bidirectionals

    d. Any rules for simultaneously switching outputs

    Are the rules easy to find?

    3. For the selected series, how many fixed power and ground pads are on each array in

    the series? How are additional power and ground pads added?

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    33/53

    4. For the selected series, what types of cells are available on each array and how many

    of each type?

    5. How many internal cells would be required by the selected array series macros to

    implement an 8-bit barrel shift register (8 2:1 MUXs with 8 4:1 MUXs, 8 D flip/flops)?

    6. Given a 16-bit fast adder design using carry-look ahead, 16 DATAA and 16 DATAB

    inputs, necessary controls (clock, reset, carry-in), a registered output, 17 outputs (sumplus carry out), size the design for the macro library for the selected array series. Assumea COMMERCIAL environment, single -5.2V power supply, ECL is ECL 10K or ECL

    10KH.

    Fast adder: four 4-bit fast adders with carry-propagate outputs; one 4-bit carry-look ahead

    unit; 17 D flip/flops; 35 ECL inputs; 17 outputs; buffers and gates as required; added

    power/ground as required.

    7. Given a 32-bit register, 35 ECL inputs (32 data, clock, reset, 3-state enable), dual ECL-

    TTL outputs (32 TTL 3-state and 32 ECL, same signals), size the design for the selected

    array series. Assume a MILITARY environment, dual-power supplies of +5V and -5.2V,ECL is ECL 10K or ECL 10KH.

    Register: 32 D flip/flops, 35 ECL inputs; 64 ECL outputs; buffers and gates as required;

    added power and ground as required

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    34/53

    Chapter 3 Appendix: Case Study in Sizing a Design

    o Target Array: AMCC Q20080 (1994 Data)

    o Solution - Q20000o Selecting a Flip/Flop - First Pass

    o Selecting the ECL Output

    o Clock Input

    o 16:1 MUXo Parity Tree

    o Review Status so faro Exercise

    o Simultaneously Switching Outputs

    o Fanout Loads Select Lines for 16:1 MUX

    Reset Loading

    Clock

    Static Drivero Review of Size - Second Pass

    o

    Package Sizeo Problemso Alternative Solution

    o Power

    o Further Thought

    o The Schematics

    TARGET ARRAY: AMCC's Q20080 {Based on 1994 data}

    The following exercise is not intended as a practical circuit for actual construction on anarray, however, this exercise will examine nearly every design rule and restriction for the

    example array series. It will be solved here using a Q20080 array as the intended targetsolution but could be solved with any macro library provided one of the supported arraysin that series can accommodate approx. 160 I/O signals and toggle at 500MHz. See

    Figure A-1.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    35/53

    Figure A-1 Sample Classroom Exercise

    THE DESIGN

    Using the following list of requirements, design a circuit using AMCC macros for the

    Q20000 Series and size the design to fit the Q20080 array in that series:

    A pipelined structure two flip/flops deep is to be 32 bits wide.

    Each data input to the first flip/flop stage is to be driven by a 2:1 MUX, the inputs ofwhich are driven by ECL 10KH inputs.

    All flip/flops are required to be reset by way of a master reset signal.

    The common clock is to be a differential signal, if possible.

    All 32 multiplexors are to have a common select.

    The target maximum speed of operation is 500MHz.

    (Design Objective.)

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    36/53

    All dataA inputs (32 of them) are to be fed in groups of four into two 16:1

    multiplexors. There are four common select lines for the two 16:1 multiplexors

    and two outputs, controlled by enables (one per signal).

    All input signals, data and controls, are to be fed into a parity tree, a gate tree that will

    produce a single output. This structure is to be used for parametric testing.

    A six-bit pass-through bus (input to output without logic) is included which uses ECLinputs and outputs.

    The flip/flop output stage is connected to non-Darlington ECL 10KH outputs. Both

    true and complementary outputs are to be brought out to external pins.

    This is a military, standard reference ECL -5.2V single-supply circuit.

    Note: Keep your data. This problem or a similar one will be referred to in other chapters.

    Exercise

    Review the selected design manual, select macros and compute cell utilization. Pick an

    array from the series that would fit the design. Perform all required population checking

    for that series.

    SOLUTION - Q20000

    Check for I/O mode and power supply.

    This is a 100% ECL circuit and uses no Darlingtons so that a single -5.2V supply is

    allowed.

    The AMCC chip macro is Q20080ECL10K, which sets the I/O mode at 100% ECL withECL 10K/KH inputs. The power supply parameter is set at STD5 for standard reference -

    5.2V supply. The product grade parameter is set at MIL for military. Between them, these

    parameters define this circuit as a MIL5 circuit, using the MIL5 library and annotation

    data. The chip macro is shown in Figure A-2.

    Figure A-2 AMCC Icon for the Chip Macro

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    37/53

    Selecting a flip/flop - first pass

    The need for a master reset will reduce the set of available flip/flop macros that could be

    used to those with a synchronous or asynchronous reset (or set). The use of a 2:1 MUX -

    flip/flop combination will further reduce the choices for the first stage of the circuit.

    For the chosen Q20000 macro library, FF46S is a D flip/flop with a 2:1 MUX on the data

    input and an asynchronous reset. It is more silicon-efficient to use a combination MUX-

    F/F macro than to implement the design with individual multiplexor and flip/flop macros.

    The second stage flip/flop needs a reset and at this stage in the design process needs both

    Q and QN outputs. FF10S was chosen as the appropriate macro. See Figure A-3.

    Figure A-3 MUX and two F/Fs in Two Macros

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    38/53

    Selecting the ECL input

    All inputs (reset, selects, output enables and data) except the clock will use the IE93S, asimple buffered input that produces both Y and YN outputs shown in Figure A-4. The

    YN output will be used to input to the gate tree to keep loading off the Y path. To reduce

    power, the IE94 version with only the Y output could have been chosen. This optionwould use three loads on the Y path, two to the main circuit (register input and 16:1

    MUX input) and one to the parametric tree.

    Figure A-4 Output Macro with Complementary Outputs

    For this circuit, the saving of one load is not significant in that the loads are not in the

    critical path. In another instance, the reduction of one load could be the difference

    between meeting or failing specification.

    There are 64 data inputs, 32 dataA and 32 dataB, plus one select for the input 2:1 MUX,

    and four for the 16:1 MUX controls (and four 16:1 MUXs) for a total of 82 IE93S

    macros. Each macro uses one I/O cell and one pad. (See Table A-1.)

    Table A-1 Required IE93S Inputs

    32 data A

    32 data B

    1 reset control

    5 data MUX control select

    2 output enables (MUX outputs)6 pass-through inputs

    78 IE93S inputs

    Clock input

    The clock input will use IE34H, a differential high-speed input with a Y and YN output.

    For CML-compatible input, use IE31H. The clock will have two loads. It uses two I/O

    cells and two pads. The clock is in the critical path.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    39/53

    Other options that could be considered include the use of the driver version of the

    differential input, IE32D. The driver handles 32 loads and has k-factors with less skewthan those of the H-option IE34H. If the IE34H proves to be too slow or the inter-macro

    delays too long, the IE32D would be the choice for a speed upgrade. The driver is shown

    in Figure A-5.

    Figure A-5 Differential Input Macro

    ECL outputs - first pass

    All outputs in the initial version of the circuit were the OE42S, a cut-off (ECL output

    with an enable) macro used with the enable tied low (always on) except for the twocontrolled outputs. (This macro was the only 50 ohm non-Darlington termination in the

    initial release of the library.) The (111) version of the library added OE11S, a NOR-input

    50 ohm termination, rated for 350MHz. The other option is to have a custom 50 ohm

    macro created, not worth the effort for the case study but something that should be

    reviewed in a real circuit where power and cell space are at a premium.

    The OE42S enable is tied low by way of the GT87D static driver, a macro that supplies

    steady HIGH and LOW signals when unused macro pins cannot be "clipped" low or

    allowed to float.

    There will be 64 data output for the pipeline, six outputs for the pass-through signals, two

    MUX outputs and an output for the parametric gate tree for a total of 73 outputs. Each

    OE42S uses one I/O cell and one pad.

    The fan-out load limit for the GT87D is 50 loads so two will be required to supply theOE42S enable pins in this first version of the design. The basic module is shown in

    Figure A-6.

    Note that the OE11S is easier to use and uses less power - reasons to consider challenging

    the initial solution.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    40/53

    Figure A-6 Macro Design Restrictions

    16:1 MUX

    The 16:1 MUX is constructed from five MX21S macros, each a 4:1

    MUX with two selects. This is the largest multiplexor in the first release.

    Four of these will feed into the fifth to form the 16:1 MUX structure.Since there are two 16:1 MUXs, there will be 10 MX21S macros

    required. An 8:1 or 16:1 MUX MSI macro would simplify the design.

    The basic design is shown in Figure A-7.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    41/53

    Figure A-7 Schematic Page for the 16:1 MUX

    Copyright @ 2001, 2002 Donnamaie E. White, White EnterprisesFor problems or questions on these pages, contact [email protected]

    Parity tree

    A parity tree of all inputs (required for parametric VIL, VIH testing) can be formed fromNOR gates using the GT60L or GT60S, an 8-input NOR macro. The L-option is slower

    and uses less power. The speed of the gate tree is not important since testing is functional

    at 100ns intervals. The first estimate for the tree is to use eleven GT60S macros in a

    three-level structure to accommodate the 79 input signals. (The 78 data signals plus the

    clock are required.) The parity tree is shown in Figure A-8.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    42/53

    Figure A-8 Parity Tree

    REVIEW STATUS SO FAR

    The first sizing estimate provides the cell counts shown in Table A-2.

    Table A-2 First Sizing Estimates

    # MACROS Macro # I/O Cells Required

    78 IE93S 78

    73 OE42S 73

    1 IE31H 2

    TOTAL I/O CELLS: 153

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    43/53

    # MACROS Macro # L Cells Required

    10 MX21S 20

    11 GT60L 33

    32 FF10S 96

    32 FF46S 96

    TOTAL L CELLS: 245

    The number of macros is not the same as the number of cells, even for the I/O macros.

    Exercise

    Check the cell counts against the current design manual for the Q20000 Series. Check for

    new MSI macros or new I/O macros that might be used in place of those selected (such as

    OE11S). Consider size, speed and power in making changes. (Changes should be made!)

    If you are designing with a different array series, create the same table for the chosenlibrary.

    SIMULTANEOUSLY SWITCHING OUTPUTS

    Since 64 outputs are switching simultaneously in the worst case (master reset is oneexample), additional IEVCC macros (added ground) will be required according to the

    Q20000 Series design rules. A total of 16 IEVCC macros is required for these outputs

    and each blocks off one I/O cell and uses one pad.

    This is the minimum number of added power and grounds recommended for worst-case

    conditions.

    Adding two more outputs for the 16:1 MUX Y outputs, six for the pass-through and one

    for the gate tree, requires two more IEVCC macros.

    If the outputs switch within one macro delay (or within 2 ns, whichever is larger)

    of the other switching group additional IEVCC is required.

    If they switch well separated in time from the other group, then the added IEVCC

    for this group will not be required.

    By tagging the switching groups and the added power and ground macros that belong to

    the groups with a SWGROUP parameter or property, the AMCC MacroMatrix can checkfor sufficient added power and grounds.

    For this design, assume that the groups are not simultaneously switching more than 32signals, allowing a reduction in added ground. Allowing 8 IEVCC for the pipeline

    outputs (switching group AAA) and one for the rest of the circuit (switching group BBB),

    nine IEVCC macros are required.

    Adding these 9 IEVCC macros to the previous counts (153 + 9), the number of I/O cells

    used is 162. This is exactly the number of I/O cells available for circuit use on the

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    44/53

    Q20080 array. (This does not count the four fixed I/O signals for the AC Speed Monitor

    and the thermal diode that have pre-assigned PADs.) The added ground macro is shown

    in Figure A-9.

    Figure A-9 Added IEVCC Macro

    Note: Using less than the recommended number of added grounds is not a good idea. It

    will require engineering approval before design submission and could cause other

    problems later. Think about another solution!

    FAN-OUT LOADS

    The final step toward an estimate of circuit size requires that fan-out loads be examined.

    Most macros in the Q2000 library will have a fan-in of one except for H-option macrosthat will have a higher fan-in (and larger cell size). This is not always the case but should

    be considered when examining macro options.

    Select lines for 16:1 MUX

    Select lines to each 16:1 have at most four loads. No buffering is required for the IE93S

    macros that can drive 18 loads each.

    Select lines to 2:1 MUX structure

    The select to the 2:1 MUX structure has 32 loads and will need buffering. One macro can

    drive 18 loads, adding a gate buffer tree such as two GT09S macros allows one primary

    input to drive 32 loads. (See Figure A-10.)

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    45/53

    Figure A-10 Buffer Tree for the 2:1 MUX (32 Loads)

    The other option is to switch the IE93S for an IE23D driver that can drive 32 loadsdirectly. The IE23D driver uses twice as much current as an IE93S macro but would save

    the internal cells that the GT09S macros would have used.

    Reset loading

    RESET requires the same decision process. In this case, the signal goes to 64 flip/flops.

    The AR pin for the FF46S is two loads and the AR pin for the FF10S is 1 load for a total

    of 96 loads. Either six GT09S macros or three GT55D macros can provide the drive. TheGT55D driver uses twice as much current as a GT09S macro and is twice as large. Since

    half as many are required, on comparing cell usage and power these two solutions are

    equivalent.

    On the schematic, eight GT09S macros were used to simplify the schematic design (eight

    pages are replicated). (See Figure A-11.)

    Figure A-11 Reset Signal Buffer Tree

    RESET STRUCTURE - ONE OPTION

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    46/53

    Reset structures are often treated as clock structures without the need for speed. This

    structure is only one level in depth. Current synthesis systems will create the necessary

    buffer trees to support the load being driven.

    Clock

    The clock is handled differently since all clock nets must be derated. There are 64 loads

    from the flip/flops, plus 1 load due to the parametric gate tree, for a total of 65 loads. TheIE31H can drive 10 loads with a 40% derating. The GT55D driver, derated, drives 19loads and presents a fan-in load of two to the driving macro. Four GT55D macros would

    provide the drive capability with full 40% derating down the path as shown in Figure A-

    12.

    Figure A-12 Clock Tree

    CLOCK STRUCTURE - ONE OPTION

    Derating guidelines are part of the array design rules. Macro load limits are listed in the

    macro documentation.

    Place & Route software today creates the clock tree structure based on the commands in acontrol script. The commands involve suggested buffer or macro to be used and clock

    tree depth. In the near future, Floorplanners will incorporate this function. Clock trees

    have priority during layout, depending on the design constraints supplied to the Place &

    Route tool.

    When the clock tree is to be constructed by the Place & Route software, all timinganalysis prior to the routing is done using a modeled clock, approximating what the final

    clock tree behavior might be.

    Static Driver

    The static driver required to drive the always-on output enable inputs can handle 50 loads

    but 64 are required in this version of the design. Two GT87D macros can be used. One is

    shown in Figure A-13.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    47/53

    Figure A-13 Static Driver

    Static driver is not a term that shows up in macro lists today. Rather, high-drive options

    on various macros are used. If no one macro can handle the load to be driven, then a

    buffer tree is constructed by the synthesis tool.

    Parity tree

    A parity tree of all inputs (required for parametric VIL, VIH testing) can be formed from

    NOR gates using the GT60L or GT60S, an 8-input NOR macro. The L-option is slower

    and uses less power. The speed of the gate tree is not important since testing is functional

    at 100ns intervals. The first estimate for the tree is to use eleven GT60S macros in athree-level structure to accommodate the 79 input signals. (The 78 data signals plus the

    clock are required.) The parity tree is shown in Figure A-8.

    Figure A-8 Parity Tree

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    48/53

    REVIEW OF SIZE - SECOND PASS

    The revised estimate (one version of the solution) shows the circuit requirements as they

    are now understood.

    Table A-3 Second Sizing Estimates

    Number of Cells Required

    #macros MACRO CELLS TOTAL

    79 IE93S 1 79

    73 OE42S 1 73

    1 IE31H 1 2

    9 IEVCC 1 9

    TOTAL I/O CELLS REQUIRED 162

    10 MX21S 2 20

    11 GT60S 3 33

    10 GT09S 1 10

    4 GT55D 2 8

    2 GT87D 2 4

    32 FF10S 3 96

    32 FF46S 3 96

    TOTAL L CELLS REQUIRED 267

    Change OE42S to OE11S and delete the 2 GT87Ds.

    This fits into the Q20080 array that has 162 I/O cells and 2044 L cells. This is a severely

    I/O-bound design (of course!). A design is either core-limited or I/O limited.

    Note: When vectors are written for this array, they should be designed so that no morethan 16-32 of the outputs switch at any one time. These are AMCC-specific vector design

    rules.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    49/53

    Table A-4 AMCCERC Population ERC

    PACKAGE SIZE

    The minimum number of signal pins that should be available on a package for this circuit

    is 157 (162 signals plus the 4 fixed signals minus the 9 added grounds). The worst-casenumber of signal pins that could be required on a package for this circuit is 166 (162

    signals plus the 4 fixed signals). The truth is in the middle and is placement-dependent.

    PROBLEMS

    The OE42S is limited to a toggle frequency of 350MHz. If the clock is running at

    500MHz, the outputs could be toggling slower. If not, then the OE42S is not acorrect choice if speed is to be maintained. Neither is the OE11S!

    Insufficient added grounds are not a minor problem.

    The circuit uses nearly 8 Watts - much too high.

    ALTERNATIVE SOLUTION

    The differential output OE14S could be used in place of two OE42S macros and the

    GT87D driver (at least one) could be deleted. This reduces the OE42S macros from 73 to9, and the 7 always-on enables could be driven by a GT08L NOR gate instead of a static

    driver macro.

    The use of OE14S provides a cleaner solution (less skew) plus it frees internal cells. The

    maximum frequency of the OE14S is 1.2GHz. One output pad can be used as the true

    signal and the other as the compliment.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    50/53

    Another advantage is the reduced requirement for added grounds. The 32 differential

    outputs count as 32 outputs and not as 64, reducing the requirement for this group to 8added IEVCC, what was provided. The ninth IEVCC applies to the miscellaneous other

    outputs. There will be a warning issued by AMCCERC that there might not be sufficient

    added grounds for these miscellaneous outputs - the algorithm defined by AMCC

    requires that two IEVCC macros be added.

    Table A-5 OE42S Solution Table A-65 OE14S SolutionIE93S 78 IE93S 78

    OE42S 73 OE42S 9

    OE14S 32

    IE31H 1 IE31H 1

    IEVCC 9 IEVCC 9

    MX21S 10 MX21S 10

    GT87D 2 GT87D 1

    GT60S 11

    GT09S 8 GT09S 8

    GT55D 4 GT55D 4FF10S 32 FF10S 32

    FF46S 32 FF46S 32

    POWER

    The DC power dissipation for the maximum worst-case MILITARY DC power for the

    OE42S version of the circuit was estimated to be over 8 Watts.

    The DC power computation for the OE14S version, same conditions, is estimated to be

    5.88 Watts. (This number is based on the circuit as shown in the schematics and the

    February 1991 library specifications.)

    Reducing the GT08S macros to GT08L macros can further reduce power.

    FURTHER THOUGHT

    For cell usage, timing, power, and added ground requirements, the basic OE14S solution

    is the best pro-posed so far.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    51/53

    Table A-7 OE14S Solution

    Table A-8 OE14S Solution

    This version used GT87D instead of a GT08L. It uses GT60S macros in the gate tree

    instead of GT60L macros. Do the MUX and reset buffer trees need S-macros or could L-option macros be used? (Watch it - the options have different maximum frequency of

    operation numbers! This is often overlooked in choosing options.)

    The DC power computed by the AMCCERC program is summarized below. Remember -AC power dissipation must be added to this. AC power computations required depend on

    the array series.

  • 7/27/2019 Chapter 3 Sizing the Design.pdf

    52/53

    Table A-8b Macro Occurrence ReportContinued

    Exercise

    Add a design objective to reduce power to 5 Watts or as close to it as possible and modifythis circuit using the latest library information. The frequency of operation requirement

    remains.

    This same exercise was used in the AMCC training classes through several library

    releases. This problem, or one close to it, was actually used for over eleven years with

    several technology libraries, bipolar, Bi-squared MOS and CMOS. It demonstrates nearly

    85% of the array design rules.

    Today's designers would create this circuit in Verilog or VHDL and a control script for

    the synthesis tool. Constraints can drive area reduction, speed improvements or power

    reduction. The script can also set the priority for the different design constraints.

    THE SCHEMATICS

    Page 1 - Chip Macro and added Ground (IEVCC for ECL VCC);

    AAA is switch group tag; GT87D a static driver

    Page 2 - Clock tree; RESET tree; 2:1 MUX select tree. Buffer trees go to various pages.

    Note the inputs to the parametric gate tree. "40"s are FOD values. (Figure A-10, Figure

    A-11, Figure A-12, Figure A-13)

    Page 3 - 2:1 MUX selects and enable