throbber

`
`
`
`
`
`
`
`
`ANANTHA CHANDRAKASAN
`
`BORIVOJE NIKOLIC
`
`DIGITAL
`INTEGRATED CIRCUITS
`
`
`
`
`PRENTICE HALL ELECTRONICS AND VLSI SERIES
`CHARLES G. SODINI, SERiES EDITOR
`
`
`
`AQUILA - Ex. 2005
`AQUILA — EX. 2005
`
`

`

`
`
`DIGITAL
`
`INTEGRATED
`
`CIRCUITS
`
`A DESIGN PERSPECTIVE
`
`SECOND EDITION
`
`JAN M. RABAEY
`ANANTHA CHANDRAKA'SAN
`BORIVOJE NIKOLIC
`
`PRENTICE HALL ELECTRONICS AND VLSI SERIES
`CHARLES G. SODINI. SERIES EDITOR
`
`I’oau‘su'm
`
`I‘l(luti:al.it )11
`
`Pearson Education. Inc.
`
`Upper Saddle River, New Jersey 0?458
`
`and Edition
`
`
`
`

`

`‘
`
`Library of Congress Cataloging-in-Publicafion Data on file.
`
`Vice Presidenth Editorial Director. ECS: Marcia J. Horton
`Publisher: Tom Robbins
`
`Editorial Assistant: Eric Von Orrenbridge
`Vice President and Director of Production and Manufacturing, ESM: David W Riccardi
`Executive Managing Editor: Vince O'Brien
`Managing Editor: David A George
`Production Editor: Daniel Sandin
`Director of Creative Services: Paul Belfouti
`Creative Director: Carole Anson
`Art and Cover Director: Jayne Come
`Art Editor: Greg Dulles
`Manufacturing Manager: Trudy Pirciorri
`Manufacturing Buyer: Lisa McDowell
`Marketing Manager: Holly Stark
`
`l12 )< 245 in.
`About the Cover: Detail of “Wet Orange." by Joan Mitchell (American. 19254992). Oil on canvas.
`(284.5X6223 cm). Carnegie Museum of Art. Pitlsburgh. PA. Gift of Kaufmann's Department Store and the
`National Endowment for the Arts. 74.1 1. Photograph by Peter Harholdt. 1995.
`
`i’l'cnl ice
`
`”all
`-
`
`© 2003, 1996 by Pearson Education. inc.
`Pearsm Education. Inc.
`Upper Saddle River. NJ D'MSS
`
`The author and publisher of this book have used their best efforts in preparing this book. These efforts include the devel—
`opment. research. and testing of the theories and programs to determine their effectiveness. The author and publisher
`shall not be liable in any event for incidental and consequential damages in connection with. or arising out of. the fur
`nishing, performance, or use of these programs.
`
`All rights reserved. No part of this book may be reproduced. in any form or by any means.
`withorrt permission in writing from the publisher.
`
`Printed in the United States of America
`
`10
`
`9
`
`8
`
`7
`
`6
`
`ISBN 0-13-090996-3
`
`PearstJn Education Ltd., London
`Pearson Education Australia Pty. Ltd. Sydney
`Pearson Education Singapore. Pie. Ltd
`Pearson Education NOl‘ll'l Asia Ltd., Hong Kong
`Pearson Education Canada Inc... Toronto
`Pearson Educacion de Mexico. SA. de CV.
`Pearson Education—Japan, Tokyo
`Pearson Education Malaysia, Pte. Ltd.
`Pearson Education I.nc.. Upper Saddle River, New Jersey
`
`
`
`
`
`

`

`
`
`
`
`éfi .
`
`lag-[:1
`_¢-_.
`‘1-
`
`{1
`
`1:3.
`
`
`
`Contents
`
`Preface
`vii
`
`
`
`Part I
`The Fabrics
`1
`
`Chapter I
`
`Introduction
`
`1.1
`1.2
`1.3
`
`1.4
`1.5
`
`A Historical Perspective
`Issues in Digital Integrated Circuit Design
`Quality Metrics of a Digital Design
`1.3.1 Cost of an Integrated Circuit
`1.3.2
`Functionality and Robustness
`1.3.3
`Performance
`
`Power and Energy Consumption
`1.3.4
`Summary
`To Probe Further
`Reference Books
`References
`
`Chapter 2 The Manufacturing Process
`2.1
`Introduction
`
`2.2 Manufacturing CMOS Integrated Circuits
`2.2.1
`The Silicon Wafer
`2.2.2
`Photolithography
`2.2.3
`Some Recurring Process Steps
`2.2.4
`Simplified CMOS Process Flow
`
`2.3
`
`2.4
`
`2.5
`
`2.6
`
`Design Rules—The Contract between Designer
`and Process Engineer
`Packaging Integrated Circuits
`2.4.1
`Package Materials
`2.4.2
`Interconnect Levels
`
`2.4.3 Thermal Considerations in Packaging
`Perspective-flTrends in Process Technology
`2.5.1
`Short-Term Developments
`2.5.2
`In the Longer Tenn
`Summary
`
`XV
`
`3
`
`4
`6
`15
`16
`13
`27
`
`30
`31
`31
`32
`33
`
`35
`36
`
`36
`37
`3?
`41
`42
`
`4'?
`51
`52
`53
`
`59
`61
`61
`63
`64
`
`

`

`xvi
`
`Contents
`
`2.7
`
`To Probe Further
`References
`Design Methodology Insert A It: LAYOUT
`A.1
`To Probe Further
`References
`Chapter3 The Devices
`
`3.1
`3.2
`
`Introduction
`The Diode
`3.2.1 A First Glance at the Diode—The Depletion Region
`3.2.2 Static Behavior
`3.2.3 Dynamic, or Transient. Behavior
`3.2.4 The Actual Diode—-Seconda.ry Effects
`3.2.5 The SPICE Diode Model
`The MOS(FET) Transistor
`3.3.1 A First Glance at the Device
`3.3.2 The MOS Transistor under Static Couditions
`3.3.3 The Actual MOS Transistor—Some Secondaty Effects
`3.3.4 SPICE Models for the MOS Transistor
`A Word on Process Variations
`Perspective—Technology Scaling
`Summary
`To Probe Further
`References
`Design Methodology Insert B Circuit Simulation
`References
`
`3.3
`
`3.4
`3.5
`3.6
`3.7
`
`Chapter 4 The Wire
`
`
`
`64
`64
`57
`7i
`71
`73
`
`74
`74
`75
`77
`80
`84
`85
`a?
`8'?
`88
`114
`11?
`120
`122
`128
`129
`130
`131
`134
`
`135
`
`i
`
`i
`i
`I
`1
`
`i
`i
`-
`
`;
`I
`
`.
`E
`a
`=
`:
`i
`-
`
`.
`_-
`..._..
`Eli
`
`iii
`3:2
`f“
`%
`2g
`ii
`
`"r:
`‘2:
`'9‘
`33
`0'1
`ii
`1.5"
`1;
`43
`ii
`“-
`55
`ii
`33
`9:5
`0?
`it?
`iii
`1*
`
`a
`
`f,
`
`-
`
`037
`55%
`1'3
`4*?
`5%
`‘t‘
`
`’3.
`
`4.1
`4.2
`
`4.3
`
`4.4
`
`Introduction
`A First Glance
`
`Interconnect Parameters—Capacitance, Resistance,
`and Inductance
`4.3.1 Capacitance
`4.3.2 Resistance
`4.3.3
`Inductance
`Electrical Wire Models
`4.4.1 The Idea] Wire
`4.4.2 The Lumped Model
`4.4.3 The Lumped RC Model
`4.4.4 The Distributed rc Line
`4.4.5 The Transmission Line
`
`136
`136
`
`138
`138
`144
`148
`150
`151
`151
`152
`156
`159
`
`
`
`

`

` xvili
`
`Contents
`
`
`
`
`
`
`
`
`6.4
`
`6.5
`
`6.6
`
`6.3.3 Signal Integrity Issues in Dynamic Design
`6.3.4 Cascading Dynamic Gates
`Perspectives
`6.4.1 How to Choose a Logic Style?
`6.4.2 Designing Logic for Reduced Supply Voltages
`Summary
`To Probe Further
`References
`
`290
`295
`303
`303
`303
`306
`307
`308
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Design Methodology Insert C How to Simulate Complex
`Logic Circuits
`
`C1
`C2
`C3
`
`Representing Digital Data as a Continuous Entity
`Representing Data as 3 Discrete Entity
`Using Higher-Level Data Models
`References
`
`309
`
`310
`310
`315
`3 17
`
`Design Methodology Insert D Layout Techniques for Complex Gates 319
`
`Chapter 7 Designing Sequential Logic Circuits
`7.1
`Introduction
`
`7.2
`
`7.3
`
`7.4
`
`7.5
`
`7.6
`
`7.1.1 Timing Metrics for Sequential Circuits
`7.1.2 Classification of Memory Elements
`Static Latches and Registers
`7.2.1 The Bistabiljty Principle
`7.2.2 Multiplexer-Based Latches
`7.2.3 Master~Slave Ed gedTriggered Register
`7.2.4 Low-Voltage Static Latches
`7.2.5 Static SR Fiip—Flops—Writin g Data by Pure Force
`Dynamic Latches and Registers
`7.3.1 Dynamic Transmission~Gate Edge-triggered Registers
`7.3.2 CZMOS—A Clock-Skew Lnsensitive Approach
`7.3.3 True SingIe~Phase Clocked Register (TSPCRJ
`Alternative Register Styles‘
`7.4.1
`Pulse Registers
`7.4.2 Sense-Amplifier—Based Registers
`Pipelining: An Approach to Optimize Sequential Circuits
`7.5.1 Latch- versus Register-Based Pipelines
`7.5.2 NORA~CMOS—~A Logic Style fur Pipelined Structures
`Nonbistable Sequential Circuits
`7.6.1 The Schmitt Trigger
`7.6.2 Monostable Sequential Circuits
`7.6.3 Astable Circuits
`
`I
`
`_
`
`'
`
`‘
`
`7.7
`7.8
`
`Perspective: Choosing a Clocking Strategy
`Summary
`I
`l
`
`325
`326
`
`327
`328
`330
`330
`332
`333
`339
`341
`344
`344
`346
`350
`354
`354
`356
`358
`360
`361
`364
`364
`367
`368
`
`370
`37]
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`'h:‘\
`
`
`
`
`
`

`

`
`
`r.
`
`
`
`Contents
`
`7.9
`
`To Probe Further
`
`References
`
`xix
`
`372
`
`372
`
`
`
`
`Part 3
`A System Perspective
`375
`
`Chapter 8
`
`Implementation Strategies for Digital ICS
`8.1
`Introduction
`
`8.2
`
`8.3
`8.4
`
`8.5
`
`8.6
`8.7
`8.8
`
`From Custom to Semicustorn and Structured-Array
`Design Approaches
`Custom Circuit Design
`Cell-Based Design Methodology
`8.4.]
`Standard Cell
`8.4.2 Compiled Cells
`8.4.3 Macrocells, Megacells and Intellectual Property
`8.4.4 Semicustom Design Flow
`Array-Based Implementation Approaches
`8.5.1 Prediffused (or Mask-Piogrammabie) Arrays
`8.5.2 Prewired Arrays
`Perspective—The Implementation Platform of the Future
`Summary
`To Probe Further
`References
`
`Design Methodology Insert E Characterizing Logic
`and Sequential Cells
`
`References
`
`Design Methodology Insert F Design Synthesis
`
`References
`
`Chapter 9 Coping with Interconnect
`
`9.1
`
`9.2
`
`9.3
`
`9.4
`
`Introduction
`
`Capacitive Parasitics
`9.2.1 Capacitance and Reliability—Cross Talk
`9.2.2 Capacitance and Performance in CMOS
`Resistive Parasitics
`
`9.3.1 Resistance and Reliability—Ohmic Voltage Drop
`9.3.2 Electromigration
`9.3.3 Resistance and Performance—RC Delay
`Inductive Parasitics‘
`
`9.4.1
`9.4.2
`
`Inductance and Reliability— Voltage Drop
`Inductance and Performance—Transomsion-ljne Effects
`
`9.5
`
`Advanced Interconnect Techniques
`
`377
`378
`
`382
`383
`384
`385
`390
`392
`396
`399
`399
`404
`420
`423
`423
`424
`
`427
`
`434
`
`435
`
`443
`
`445
`
`446
`
`445
`446
`449
`460
`
`460
`462
`464
`469
`
`469
`475
`
`480
`
` mi
`
`: Contents
`
`'
`
`:t
`i
`i..-
`i:
`l
`
`i3
`
`290
`295
`303
`303
`303
`306
`
`307
`308
`
`309
`
`310
`310
`315
`317'
`
`gm 319
`'
`325
`i.
`
`326
`327
`328
`330
`330
`332
`333
`339
`341
`344
`
`344
`346
`350
`354
`354
`
`356
`358
`360
`361
`364
`364
`367
`368
`
`370
`371
`
`..
`
`s
`"
`
`_
`ts
`
`es
`
`
`
`

`

`
`
`__._..
`
`9.5.1 Reduced—Swing Circuits
`9.5.2 Current-Mode Transmission Techniques
`
`9.6
`9.7
`9.8
`
`Perspective: Networks-on-a-Chip
`Summary
`To Probe Further
`
`References
`
`Chapter 10 Timing Issues in Digital Circuits
`10.1
`Introduction
`10.2
`
`Timing Classification of Digital Systems
`10.2. 1 Synchronous Interconnect
`10.2.2 Mcsochronous interconnect
`10.2.3 Plesiochronous Interconnect
`
`10.3
`
`10.4
`
`10.5
`
`10.6
`
`10.7
`
`10.8
`10.9
`
`10.2.4 Asynchronous Interconnect
`Synchronous Design—An In-depth Perspective
`10.3.1 Synchronous Timing Basics
`10.3.2 Sources of Skew and Jitter
`
`10.3.3 Clock-Distribution Techniques
`10.3.4 Latch-Based Clocking!
`Self-Timed Circuit Design“
`10.4.1 Self-Timed Logic—An Asynchronous Technique
`10.4. 2 Completion-Si gnal Generation
`10.4.3 Self-Timed Signaling
`10.4.4 Practical Examples of Self-Timed Logic
`Synchronizers and Arbiters’
`10.5.1 Synchroniaer5+-Concept and Implementation
`10.5.2 Arbiters
`
`Clock Synthesis and Synchronization Using
`a Phase-Locked Loop‘
`10.6.1 Basic Concept
`10.6.2 Building Blocks of a PLL
`Future Directions and Perspectives
`10.7.1 Distributed Clocking Using DLLS
`10.7 .2 Optical Clock Distribution
`10.7.3 Synchronous versus Asynchronous Design
`Summary
`To Probe Further
`References
`
`Design Methodology Insert G Design Verification
`References
`
`Contents
`
`480
`486
`
`487
`488
`489
`489
`
`491
`
`492
`
`492
`492
`493
`493
`494
`495
`495
`502
`508
`516
`519
`519
`522
`526
`531
`534
`534
`538
`
`539
`540
`542
`546
`546
`548
`549
`
`550
`551
`551
`
`553
`
`557
`
`contents
`
`Chapter 1'
`
`
`
`2523432.
`
`g-Ha; new
`
`\';'-.a‘i=._""'5'-'-'-m=m_ia-'-new...
`
`
`gig..'_,._:::.:'_-_'.-fl
`
`*9
`
`
`
`

`

`
`
`
`
`
`
`
`Chapter II Designing Arithmetic Building Blocks
`1 1.1
`Introduction
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`xxi
`
`559
`
`560
`560
`561
`561
`564
`571
`
`586
`586
`587
`589
`593
`594
`
`594
`595
`596
`
`596
`600
`601
`611
`617
`
`618
`619
`620
`621
`
`623
`
`624
`625
`627
`
`634
`634
`647
`65 7
`670
`672
`672
`679
`686
`689
`689
`
`Contents
`
`11.2 Datapaths in Digital Processor Architectures
`I 1.3 The Adder
`
`11.3.1 The Binary Adder: Definitions
`11.3.2 The Full Adder: Circuit Design Considerations
`11.3.3 The. Binary Adder: Logic Design Considerations
`1 1.4 The Multiplier
`11.4.1 The Multiplier: Definitions
`11.4.2 Partial-Product Generation
`1 1.4.3 Partial-Product Accumulation
`11.4.4 Final Addition
`
`11.4.5 Multiplier Summary
`1 1.5 The Shifter
`11.5.1 Barrel Shifter
`
`11.5.2 Logarithmic Shifter
`1 1.6 Other Arithmetic Operators
`1 1.7
`Power and Speed Trade-offs in Datapath Structures“
`11.7.1 Design Time Power-Reduction Techniques
`11.7.2 Run~Time Power Management
`1 1.7.3 Reducing the Power in Standby (or Sleep) Mode
`1 1.8 PerSpective: Design as a Trade-off
`11.9 Summary
`11.10 To Probe Further
`References
`
`Chapter 12 Designing Memory and Array Structures
`12.1
`Introduction
`
`12.1. 1 Memory Classification
`12.1.2 Memory Architectures and Building Blocks
`12.2 The Memory Core
`12.2.1 Read-Only Memories
`12.2.2 Nonvolatile Read—Write Memories
`
`12.2.3 Read-Write Memories (RAM)
`12.2.4 Contents-Addressable or Associative Memory (CAM)
`12.3 Memory Peripheral Circuitry‘
`12.3.1 The Address Decoders
`
`12.3.2 Sense Amplifiers
`12.3.3 Voitage References
`12.3.4 Driverszuffers
`
`12.3.5 Timing and Control
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`xxii
`
`Contents
`
`
`
`12.4 Memory Reliability and Yield‘
`12.4.1 Signal-to-Noise Ratio
`12.4.2 Memory Yield
`12.5 Power Dissipation in Memories‘
`12.5.1 Sources of Power Dissipation in Memories
`12.5.2 Partitioning of the Memory
`12.5.3 Addressing die Active Power Dissipation
`12.5.4 Data-Retention Dissipation
`12.5.5 Summary
`
`12.6 Case Studies in Memory Design
`12.6.1 The Programmable Logic Array (PLA)
`12.6.2 A4~Mbit SRAM
`
`12.6.3 A l-Gbit NAND Flash Memory
`12.? Perspective: Semiconductor Memory Trends and Evolutions
`12.8
`Summary
`12.9 To Probe Further
`References
`
`Design Methodology Insert H Validation and Test
`of Manufactured Circuits
`
`H.1
`11.2
`
`Introduction
`Test Procedure
`
`H.3 Design for Testability
`H.3.l
`Issues in Design for Testability
`H.3.2 Ad Hoc Testing
`H.3.3 Scan—Based Test
`
`H.4
`
`11.5
`
`H.3.4 Boundary-Scan Design
`H.3.5 Built-in Self-Test (BIST)
`Test-Pattern Generation
`H.4.l Fault Models
`
`H.4.2 Automatic Test-Pattern Generation (ATPG)
`H.4.3 Fault Simulation
`To Probe Further
`
`References
`
`Problem Solutions
`
`Index
`
`693
`693
`69%
`70]
`701
`702
`202
`"104
`707
`
`707
`707
`710
`
`712
`714
`716
`71'?
`'1' 1 8
`
`721
`
`1’21
`722
`
`3’23
`723
`725
`726
`
`729
`730
`3’34
`734
`
`736
`737
`'13?
`
`73?
`
`739
`
`745
`
`16641113111:3in3
`
`ofcores???
`
`
`
`
`
`

`

`
`
`395
`
`prediction mod-
`ly means for the
`
`8.4 Cell-Based Design Methodology
`
`mbedded processors),
`ebuggers fore
`
`priatesoftwaretools (such ascompilers andd rtant because the
`
`els‘ and test benches. The latter are quite impo
`
`end user to verify that the module delivers t
`
`The design of a s
`
`els of granularity. At the
`
`the functional modules
`the application-specific
`
`ded processors; and finally,
`single die, it i
`tern functionality migrating onto a
`
`modules. embe
`onsists of a blend of design styles and
`ithin a sea of standard cells.
`
`ireless Communications
`.
`l stack for a wireless
`
`Figure 8-15 shows an integrated circuit implementin
`a is occupied by the
`tern [SilvaOl]. The majority of the are
`
`01]) and its memory
`indoor conuttunication sys
`dded microprocessor (the Tensilica Xtensa pr0cessor [Xtensa
`
`evels of the pro—
`'
`'
`lementation of the higherl
`
`f the chip‘
`the functionality o
`
`system. This processor
`
`are generate
`pliers pro-
`(:1 using module com
`toool stack {Applicatio
`
`madcally generated from a
`itself is auto
`ndor. The processor core
`mplementation.
`
`d cells for its physical i
`in Verilog, and uses stander
`tionsetcanbc
`set insttUc
`
`“soft—core" approach is that the proces
`
`exercise in reuse at different lev—
`threw; at a level higher, WE: have
`e have the embed-
`'
`‘ next. w
`
`megacells.
`s not surprising to
`riding a number 0
`
`see that a typical ASIC
`fhard or soft macrocells
`
`
`
`c w
`
`vided by the process ve
`
`even after fabrication.
`higherleveldescription
`Theadvantageofusingthe
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Effid more,
`filfitionality.
`
`ll? available
`l'ed intellec-
`lgfild. where d ASIC design
`
`apes. Good
`.'
`Figure8-15 Wirelesscommunications processor—en exa
`gill-purpose
`"
`-
`-
`eprocessors
`_
`.
`methodology.Theprocessorcombinesanembeddedmicroprocessoranditsmemorysys-
`'ctioncoders
`'1
`f
`‘
`tomwithdedicatedhardwareacceleratorsand”0modules.Observealsotheon-chipnet—
`3 3'. or an 1?
`work module [Silva01}.
`
`;
`
`5
`
`‘
`
`
`
`lit-the appro-
`
`
`
`

`

`
`
`
`
`
`
`396
`
`Chapter 8 - Implementation Strategies for Digital [03
`
`fl
`
`
`.-I.!
`:
`
`
`
`
`.
`
`__
`i
`
`' J
`_
`
`|
`
`
`
`
`_
`
`__
`.
`; Ci
`'1
`
`tailored to the application. and that the processor itself can easily be ported to different
`technologies and fabrication processes.
`implementing the computation—intensive parts of the protocol (MACIPHY) on the
`microprocessor w0uld require very high clock speeds and would unnecessarily increase the
`power dissipation of the chip. Fortunately, these functions are fixed and typically do not
`require a flexible implementation. Hence. they are implemented as an accelerator module in
`
`standard cells. The hard-wired implementation accomplishes the task of implementing a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` huge number of computations at a relatively low power level and clock frequency. The
`designer ofa system on a chip is continuously faced with the challenge of deciding what is
`more desirable—after-the— fabrication flexibility versus higher performance at lower power
`levels. Fortunately, tools are emerging that help the designer to explore the overall design
`space and analyze the trade-offs in an informed fashion [SilvaO] ]. Observe also that the chip
`contains a set of U0 interfaces, as well as an embedded network module, which helps to
`orchestrate the traffic between processor and the various accelerator and U0 modules.
`
`
`
`
`
`
`The generation process of a macro module depends on the hard or soft nature of the block.
`as well as the level of design entry. In the following sections, we briefly discuss some com—
`
`
`monly: used approaches.
`
`
`8.4.4
`
`Semicustom Design Flow
`
`
`
`
`So far, we have defined the components that make up the cell-based design methodology. In this
`section. we discuss how it all comes together. Figure 8-16 details the traditional sequence of
`
`
`steps to design a semicustom circuit. The steps of what we call the design flow are enumerated
`in the figure. with a brief description of each:
`
` .
`
`1. Design Capture enters the design into the ASIC design system. A variety of methods can
`.I
`l
`be used to do so, including schematics and block diagrams; hardware description lan-
`
`-
`i
`guages (HDLs) such as VHDL, Verilog. and, more recently. C—derivatives such as Sys—
`temC; behavioral description languages followed by high-level synthesis; and imported
`intellectual property modules.
`
`
`
`I
`
`
`
`
`
`
`
`.
`
`
`
`'
`
`.
`I'
`
`2. Logic Synthesis tools translate modules described using an HDL language into a netiist.
`Netlists of reused or generated macros can then be inserted to form the complete netlist of
`the design.
`
`3. Prelayout Simulation and Verification. The design is checked for correctness. Perfor-
`mance analysis is performed based on estimated parasitics and layout parameters. If the
`design is found to be nonfunctional, extra iterations over the design capture or the logic
`synthesis are necessary.
`4. Floor Planning. Based .on estimated module sizes, the overall outlay of the chip is cre-
`ated. The global-power and clock—distribution networks also are conceived at that time.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`
`
`
`:.' . 2.
`-.-- mere-.1
`-'
`.---'..'.'.(- -.'
`PFC IBVOUI 3/ 112-:
`Simulation
`I
`_
`_
`m- .tihl't ka'fl‘AV.Ill
`‘2
`\ LogicSynlbcsis
`‘
`IIm...:5...
`x 1
`___v__,___,_______._
`_____________
`
`
`
`days—just routing a complex chip can take a week on the most advanced computers! The
`
`'
`
`V
`
`.‘
`
`3‘
`.
`_':
`Flonrphtnning
`- 2:: _--.-v--.-.:-om.-'E
`m' u
`1 I.
`.-
`
`Post layout
`.
`.1:
`Simulation
`:
`Placement
`2;:
`_
`_ ‘ .0,
`.--_-::-. teen-1;. -.'-.'.:,-.a.(-::__J-_i}.
`'
`“
`' fl" 1L"
`'
`Circuit Extraction fd— Routing
`ii
`
`.
`Phystcal
`
`-
`
`e;2-..2-.e.-.:—_-2::.-.--.-.!7.c.-.—.._1!
`
`$5213.212:11-12. sea-(r; 4'"
`
`Tape out
`
`Figure 8-16 The Semicustom [or ASIC) design flow.
`
`5. Placement. The precise positioning of the cells is decided.
`6. Routing. The interconnections between the cells and blocks are wired.
`
`7. Extraction. A model of the chip is generated from the actual physical layout. including
`the precise deviCe sizes. devices parasitics. and the capacitance and resistance ofthe wires.
`8. Postlayout Simulation and Verification. The functionality and performance of the chip is
`verified in the presence of the layout parasitics. If the design is found to be lacking. itera—
`tions on the floorplanning, placement. and routing might be necessary. Very often, this
`might not solve the problem. and another round of the structural design phase might be
`necessary.
`
`9. Tape Out. Once the design is found to be meeting all design goals and functions, a binary
`file is generated containing all the information needed for mask generation. This file is
`then sent out to the ASIC vendor or foundry. This important moment in the life of a chip is
`called tripe out.
`
`While the design flow just described has served us well for many years, it was found to be
`severely lacking once technology reached the 0.25pm CMOS boundary. With design technol-
`ogy proceeding into the deep submicron region, layout parasitics—especially from the intercon—
`nect—are playing an increasingly important role. The prediction models used by the logic and
`structural synthesis tools have a hard time providing accurate estimates for these parasitics. The
`chances that the generated design meets the tinting constraints at the first try are thus very small
`(Figure 8-]?a). The designer (or design team) is then forced to go through a number of costly
`iterations of synthesis followed by layout generation until an acceptable artwork that meets the
`tinting constraints is obtained (Figure 8-17b and c). Each of these iterations may take several
`
`
`
`8.4 Celt-Based Design Methodology
`
`397
`
`Design Capture
`
`Behavioral
`
`Structural
`
`Q
`'3
`N
`._.
`a
`"an
`(o
`(“ti
`
`HB
`
`._ .fihcrease the
`$.11
`21I('2'ally do not
`or module1n
`plementtng a
`Eduency. The
`Eding whatIS
`gIower power
`-'2:rall design
`gthat the chip
`inch helps to
`
`
`
`g(iquence of
`Ppumerated
`is
`in
`idiods can
`Still—an-
`
`fires Sys»
`mported
`it;
`Iitanetlt'st
`gnellist of
`ii
`'IiiFedor-
`ts.If the
`E'
`
`eIlogic
`
`ii I
`time.
`l?!
`
`
`
`

`

`
`
`Chapter 8 - Implementation Strategies for Digital ICS
`
`(a) Initial design
`
`(c) Final design
`
`Figure 8—17 The timing closure process. The white lines indicate nets with timing
`violations. in each iteration of the design process, timing errors are removed by
`optimizing the logic. by insertion of butters, by constraining the placement, or by
`streamlining the routing until an error-free design is obtained [AvantiOi].
`
`number of needed iterations continues to grow with the scaling of technology. This problem,
`
`called timing closure. made it obvious that new solutions and a change in design methodology
`were required.
`
`The common answer is to create a tighter integration between the logical and physical
`
`design processes. If the logic synthesis tool, for example, also performs some part of the place—
`ment—or directs the placementflmore precise estimates of the layout parameters can be
`
`obtained. Figure 8-18 shows an example of a design environment that merges RTL synthesis
`with first-order placement and routing. The resulting netlist is then fed into an optimization tool
`that performs the detailed placement and routing, while guaranteeing the timing constraints are
`
`met. While this approach has shown to be quite successful in reducing die number of design iter-
`
`
`
`
`
`
`of iterations to reach timing closure in deep submicron.
`
`R’I‘L
`l
`
`(Timing) constraints
`l
`
`Macromodules
`
`fixed netlists
`
`_'.-
`
`Netlist with
`
`place—and-route info
`
`_
`_ Pia
`' Optimization
`
`Figure 8—18
`
`Integrated synthesis place-and-route reduces the number
`
`

`

`
`
`8.5 Array-Based Implementation Approaches
`
`399
`
`ations, it throws quite a challenge at the design-tool developers. With the number of parasitic
`effects increasing with every round of technology scaling, the design optimization process that
`must
`take all
`this into account becomes exponentially complex as well. As a result. other
`approaches might be required as well. In the coming chapters, we will highlight “design some
`tions" that can help to alleviate some of these problems. An example is the use of regular and
`predictable structures, both at the logical and the physical level.
`
`
`
`
`
`
`8.5 Array-Based implementation Approaches
`
`While design automation can help reduce the design time. it does not address the time spent in
`the manufacturing process. All of the design methodologies discussed thus far require a com-
`plete run through the fabrication process.’]‘his can take from three weeks to several months, and
`
`it can substantially delay the introduction of a product. Additionally, with ever-increasing mask
`costs, a dedicated process run is expensive, and product economics must determine if this is a
`viable route.
`
`Consequently, a number of alternative implementation approaches have been devised that
`
`do not require a complete run through the manufacturing process, or they avoid dedicated pro-
`cessing completely. These approaches have the advantage of having a lower NRE (nonrecurring
`expense) and are, therefore, more attractive for small series. This comes at the expense of lower
`performance, lower integration density, or higher power dissipation.
`
`8.5.1
`
`Preditfused (or Mask-Programmable) Arrays
`
`in this approach, batches of wafers containing arrays of primitive cells or transistors are manu-
`factured by the vendors and stored. All the fabrication steps needed to make transistors are stan-
`dardized and executed without regard to the final application.
`
`To transform these uncommitted wafers into an actual design, only the desired intercon-
`nections have to be added, determining the overall function of the chip with only a few metalli-
`zation steps. These layers can be designed and applied to the premanufactured wafers much
`more rapidly, reducing the turnaround time to a week or less.
`
`This approach is often called the gate-array or the sea-of-gates approach, depending on
`the style of the prediffused wafer. To illustrate the concept, consider the gate-array primitive cell
`shown in Figure 8—1951. It comprises four NMOS and four PMOS transistors, polysilicon gate
`connections, and a power and ground rail. There are two possible contact points per diffusion
`area and two potential connection points for the polysilicon strips. We can turn this cell, which
`
`does not implement any logic function so far, into a real circuit by adding some extra wires on
`the metal layer and contact holes. This is illustrated in Figure S-l9b, where the cell is turned into
`a four-input NOR gate.
`The original gate-array approach2 places the cells in rows separated by wiring channels, as
`shown in Figure 8-20a. The overall look is similar to the traditional standard~cell technique. With
`the advent of extra metallization layers, the routing channels can be eliminated, and routing can
`
`2This approach is often called the channeled gate array.
`
`
`
`E.
`
`Elam.
`log?
`
`.51:
`I? ‘.
`ace-
`
`ipsis
`*tool
`rare
`{6'-
`Iter-
`
`
`
`

`

`
`
`400
`
`Chapter 8 - Implementation Strategies for Digital ICS
`
`Polysilicon
`
`PMOS
`
`lMetal
`Possible
`contact
`
`NMOS
`
`3.5 .
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`uansistdiga
`implem
`
`
`
`
`
`
`
`
`
`
`
`
`
`(a) Primitive gate—array cell
`
`(b) Programmed cell. implementing
`a four~input NOR
`
`Figure 8-19 An example of the gate-array approach.
`
`uncommitted
`‘ ceils
`
` Rows of
`
`
`
`Routing
`channel
`
`(a) Channelled
`
`(b) Channelless (or sea of gates)
`
`Figure 8-20 Gate-array architectures.
`
`be performed on top of the primitive cells—occasionally leaving a cell unused. This channelless
`architecture, also called sea ofgates (Figure 8—20b). yields an increased density. and makes it pos—
`sible to achieve integration levels of millions of gates on a single die. Another advantage of the
`sea—of—gates approach is that it customizes the contact layer between metal-l and diffusion and}
`
`or polysilicon, in centrast to the standard gate—array approach where the contacts are predefined
`(see Figure 8-193). This extra flexibility leads to a further reduction in cell size.
`
`The primary challenge when designing a gate—array (or sea—of—gates) template is to deter—
`mine the composition of the primitive cell and the size of the individual transistors. A sufficient
`number of wiring tracks must be provided to minimize the number of cells wasted to intercon—
`
`nect. The cell should be chosen so that the prefabricated transistors can be utilized to a maximal
`
`extent over a wide range of designs. For example, the configuration of Figure 8-19 is well suited
`for the realization of four—input gates, but wastes devices when implementing two-input gates.
`
`
`
`

`

`8.5 Array—Based Implementation Approaches
`
`401
`
`1013.
`
`1111111
` NMOS
`.
`_
`111
`111 11
`15111-1 1111111111
`
`(a) Sea—of—gate cell using
`oxide-isolation between
`gates
`
`(b) Cell using the gate-isolation
`approach and supporting
`multiple transistor Sizes
`
`
`
`
`
`
`Figure 8-21 Examples of sea-of-gates primitive cells {from [Veendrick92]}.
`
`Multiple cells are needed when implementing a flip-flop. A number of alternative cell structures
`are pictured in Figure 8—2]
`in a simplified format. In one approach. each cell contains a limited
`number of transistors (four to eight). The gates are isolated by means of oxide isolation (also
`called geometry isolation). The “dog-bone" terminations on the poly gates allow for denser rout~
`
`ing. A second approach provides long rows of transistors. all sharing the same diffusion area. In
`this architecture, it is necessary to electrically turn off some devices to provide isolation between
`neighboring gates by tying NMOS and PMOS transistors to GND and V00, respectively. This
`technique is called gore isolation. This approach wastes a number of transistors to provide the
`isolation, but provides an overall higher transistor density.
`
`Figure 8-22 shows the base cell for a gate-isolated gate array (from [Smith97]). The cell is
`one routing track wide. and contains one p-channel and one fl-Chal'lllel transistor. Also shown is a
`base cell containing all possible contact positions. There is room for 21 contacts in the vertical
`direction, which means that the cell has a height of 21 tracks.
`
`It is worth observing that the cell in Figure 8~2ib provides two rows of smaller NMOS
`
`transistors that can be connected in parallel if needed. Smaller transistors come in handy when
`implementing pass—transistor logic or memory cells. Sizing the transistors in the cells is a clear
`
`challenge. Due to the interconnect—oriented nature of the array-based design methodology, the
`propagation delay is generally dominated by the interconnect capacitance. This seems to favor
`larger device sizes that cause a larger area loss when unused. On the other hand, it is possible to
`construct larger transistors by putting several smaller devices in parallel.
`
`Mapping a logic design onto an array of cells is a largely automated process, involving
`logic synthesis folloWed by placement and muting. The quality of these tools has an enormous
`impact on the final density and performance of a sea~of~gates implementation. Utilization fac-
`
`tors in sea—of—gates structures are a strong function ofthe type of application being implemented.
`Utilization factors of nearly 100% can be obtained for regular structures such as memories. For
`
`
`
`it?_..-uonU"
`
`T297“.
`M‘Wi‘?
`
`no
`
`

`

`
`
`402
`
`Chapter 8 - Implementation Strategies for Digital [03
`
`continuous
`p-diffstrip
`
`i
`i E“:
`a
`a
`m
`
`.-;
`
`1.1,;
`
`3
`2
`6
`
`EH
`El-
`g
`.-
`
`l:
`l.
`Iij
`
`"
`
`
`
`fig]
`
`Imp
`:gg
`I51]
`
`"
`
`.1.
`"
`
`4
`
`._:_;
`1-.
`"'
`
`.'
`
`l
`
`E
`l
`l. M .
`~
`
`_
`
`-
`
`continuous
`n-diff strip
`
`" "
`'
`
`._
`
`contact for
`isolator
`
`"
`'.
`"
`
`9
`1“
`. u
`12 Cl arr—well
`13 E P’WE"
`14 Z n-diff
`15 G p—diff
`16
`:1} P01}?
`13
`m1
`""2
`19 I contact
`
`
`
`
`
`Figure 8-22 Base cell of gate~isolated gale array (from [Smith97])
`
`Voo
`
`CLR
`
`"'Q—
`
`1"
`I
`i
`-|
`I
`
`-
`
`.
`
`l.
`.i;
`I
`
`-
`
`
`
`GND
`Figure 8-23 Flip-flop implemented in a gate-isolated gate—array library.
`The base cell is shown on the left (from [Smith97]).
`
`other applications, utilization factors can be substantially lower (< 75%), due largely to wiring
`restrictions. Figure 8-23 shows an example of a flip-flop macrocell, implemented in a gate—
`isolated, gate-array library.
`
`
`
`

`

`
`
`Similar to the scenarios unfolding in the standard—cell arena, designers of sea-of—gate
`arrays discovered that a design with a large number of gates also has large memory needs.
`Implementing these memon cells on top of the gate-array base—cells is possible. but not very
`efficient. A more efficient approach is to set aside some area for dedicated memory modules.
`The mixing of gate arrays with fixed macros is called the embedded gate-array approach. Other
`modules such as microprocessor and microcon [rollers are also ideal candidates for embedding.
`-—-———————_—__—_—
`
`403
`
`
`
`
`
` 8.5 Array-Based Implementation Approaches
`
`
`
`WWW‘EWMW
`
`
`
`
`
`
`
`Example 8.7 Sea-of-Gates
`
`An example of a sea-of—gates implementation is showa in Figure 8-24. The array has a
`maximum capacity of 300 K. gates and is implemented in a 0.6—um CMOS technology.
`The upper left part of the array implements a memory subsystem, which results in a regu—
`lar modular layout. The rest of the array implements random logic.
`
`
`
`
`
`
`
`
`
`are
`
`
`
`
` _”flu-Wg:._-._t
`r.‘-
`
`
`
`
`
`
`
`
`
`
`£3er to wiring
`ged in a gate-
`3?“
`
`_
`.
`.
`.
`.
`..
`.. .
`.
`..
`.
`.2
`Figure 8-24 Gate-array die microphotograph (LEA300K) (Courtesy of LSI Logic.)
`.3
`f __———————————_—'
`
`
`
`

`

`404
`
`Chapter 8 o Implementation Strategies for Digital lCS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Design Consideration—Gate Arrays versus Standard Cells
`
`In the 1980s and 19905, when the majority of the chips were less titan 50.000 gates, design cycles often
`could be measured in weeks or a few months. The two— or three—week savings in turnaround time fora gate~
`array design was then a significant portion of the total design cycle, more than enough to offset the addi‘
`tiOnal die size. Wi

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket