throbber
FIELD-PROGRAMMABLE GATE
`ARRAY TECHNOLOGY
`
`IPR2018-01600
`
`EXHIBIT
`2063
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 1
`
`

`

`FIELD-PROGRAMMABLE GATE
`ARRAY TECHNOLOGY
`
`edited by
`
`Stephen M. Trimberger
`Xilinx
`
`with contributions by
`
`Stephen M. Trimberger
`Xilinx
`
`Dennis McCarty
`Telle Whitney
`Actel
`
`and
`The Technical Staff of Altera Corporation
`edited by
`Robert Hartmann
`
`~. "
`
`SPRINGER. SCIENCE+BUSINESS MEDIA, LLC
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 2
`
`

`

`Library of Congress Cataloglng-In-Publlcatlon Data
`
`Field -programmable gate array technology / edited by Stephen M.
`Trimberger.
`p. cm.
`Includes bibliographical references and index.
`ISBN 978-1-4615-2742-8 (eBook)
`ISBN 978-1-4613-6183-1
`DOI 10.1007/978-1-4615-2742-8
`1. Gate array circuits. 2. Programmable logic devices.
`3. Programmable array logic. 1. Trimberger, Stephen, 1955 -
`TK7895.G36F54 1994
`621.39'5--dc20
`
`93-39703
`CIP
`
`Copyright © 1994 by Springer Science+Business Media New York
`Originally published by Kluwer Academic Publishers in 1994
`Softcover reprint of the hardcover Ist edition 1994
`AII rights reserved. No part ofthis publication may be reproduced, stored in a retrieval
`system or transmitted in any form orby any means, mechanical, photo-copying, record ing,
`or otherwise, without the prior written permission of the publisher,
`Springer Science+Business Media, LLC.
`
`Printed an acid-free pa per.
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 3
`
`

`

`to ross
`
`who had a vision
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 4
`
`

`

`Contents
`
`Preface
`
`Chapter 1. Introduction
`1.1. Logic Implementation Options
`
`1.2. What is an FPGA?
`
`1.3. Advantages of FPGAs
`Low Tooling Costs
`Rapid Turnaround
`Low Risk
`Effective Design Verification
`Low Testing Costs
`Standard-Product Advantages
`Life Cycle Advantages
`
`1.4. Disadvantages of FPGAs
`Chip Size and Cost
`Speed of Circuitry
`Design Methodology
`
`1.5. Technology Trends
`Density
`Speed
`Architecture
`
`1.6. Designing for FPGAs
`Design Migration
`
`1.7. Outline of Subsequent Chapters
`1. Introduction
`2. Programming Technology
`3. Device Architecture
`4. Software
`5. The Future
`6. Design Applications
`7. Acknowledgments
`8. References
`1.8. References
`
`sharbour@jvllp.com
`
`xi
`
`1
`
`1
`
`2
`
`4
`4
`4
`5
`6
`6
`7
`8
`8
`8
`9
`9
`10
`10
`10
`11
`
`11
`11
`
`12
`12
`13
`13
`13
`13
`13
`13
`13
`13
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 5
`
`

`

`viii
`
`FPGA Tecbnology
`
`Chapter 2. SRAM Programmable FPGAs
`2.1. Introduction
`
`2.2. Programming Technology
`SRAM Programming
`Advantages and Disadvantages of SRAM Programming
`
`2.3. Device Architecture
`Simple SRAM-Programmable FPGA Architecture
`Design Trade-offs
`The Xilinx XC2000 Architecture
`The Xilinx XC3000 Architecture
`The Xilinx XC4000 Architecture
`Programming the FPGA
`2.4. Software
`Automated Design Implementation
`Technology-Specific Synthesis
`Manual Design
`
`2.5. The Future
`Programming Technology
`Architecture
`Software
`Partitioning in Space and Time
`Design Methodology
`
`2.6. Design Applications
`General Design Issues
`Counter Examples
`Efficient Multiplication by a Constant in an Artificial Neural Network
`Distributed Arithmetic for Signal Processing
`Applications of Reprogramming
`A Fast Video Controller
`A Position Tracker For a Robot Manipulator
`A Fast DMA Controller
`Custom Computing Applications
`2.7. Acknowledgments
`2.8. References
`
`15
`15
`15
`15
`17
`
`19
`19
`23
`29
`35
`43
`52
`53
`54
`63
`63
`
`65
`65
`66
`66
`67
`67
`
`68
`68
`70
`75
`77
`79
`83
`84
`85
`87
`90
`91
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 6
`
`

`

`Contents
`
`ix
`
`Chapter 3. Antifuse Programmed FPGAs
`3.1 Introduction
`3.2 Programming Technology
`
`3.3 Device Architecture
`Principles of Programmable Routing
`Routing Architecture of the Actel FPGAs
`Actl Architecture
`Act2 Architecture
`Act3 Architecture
`Programming and Testing
`Capacity
`Perfonnance
`3.4 Software
`
`3.5 The Future
`3.6 Design Applications
`Designing with ACT! and ACT2 FPGAs
`Designing with ACT FPGAs: A 1TL Perspective
`Migrating PLD Designs to FPGAs
`Synthesis Design Flow
`Designing Counters with ACT Devices
`Designing Adders and Accumulators with the ACT Architecture
`State Machine Design
`Using FPGAs for Digital PLLs
`Customer Design Examples
`
`3.7 Acknowledgments
`3.8 References
`
`Chapter 4. Erasable Programmable Logic Devices
`4.1. Introduction
`4.2. Programming Technology
`Logic Structures Using EPROM Transistors
`
`97
`97
`
`99
`
`103
`103
`108
`110
`113
`117
`118
`124
`127
`128
`
`132
`133
`133
`137
`140
`143
`144
`153
`160
`164
`167
`168
`168
`
`171
`171
`173
`175
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 7
`
`

`

`x
`
`FPGA Technology
`
`4.3. Device Architecture
`Basic Concepts
`Macrocell Architecture
`Logic Array
`Programmable Flip-Flops
`Programmable Clock
`110 Control Block
`Design Security
`Functional Testing
`Operating Requirements for EPLDs
`Architectural Evolution in Array-Based PLDs
`4.3.1 - The "Classic" Family of PLDs
`Functional Description of the EP 1810
`4.3.2 - The MAX (Multiple Array matriX) Product Family
`4.3.3 - MAX 7000
`4.3.4 - MPLDs: Mask-Programmed Logic Devices
`4.4. Software
`
`4.5. The Future
`
`4.6. Design Applications
`4.6.1 MAX 5000 Timing
`4.6.2 Using Expanders to Build Registered Logic in MAX EPLDs
`4.6.3 Simulating Internal Buses in General-Purpose EPLDs
`4.6.4 Fast Bus Controllers with the EPM5016
`4.6.5 Micro Channel Bus Master and SDP Logic with the EPM5032
`EPLD
`4.6.6 FIFO Controller Using an EPM7096
`4.6.7 Integrating an Intelligent 110 Subsystem with a Single EPM5130
`EPLD
`4.6.8 Controlling Complex CCD Imaging Systems with the EPS464
`EPLD
`
`4.7. References
`
`Index
`
`179
`179
`180
`180
`181
`182
`182
`182
`183
`183
`184
`184
`184
`187
`195
`200
`204
`
`218
`
`224
`224
`228
`233
`238
`
`240
`243
`
`246
`
`247
`
`250
`
`253
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 8
`
`

`

`Preface
`
`A Field Programmable Gate Array (FPGA) is a programmable logic device that
`implements multi-level logic. FPGAs resemble traditional mask-programmed gate
`arrays by their modular, extensible structure that includes both logic and interconnect.
`but differ in that their programming is done by end users at their site. No masking
`steps are required. In this respect. FPGAs resemble PLDs. FPGAs offer low risk, low
`incremental cost and fast prototyping advantages.
`
`FPGAs are revolutionizing the way systems designers implement logic. By radically
`reducing the development costs and the turnaround time for implementing thousands
`of gates of logic, FPGAs provide a new capability that affects the semiconductor
`industry and the CAE industry. They may also change the way digital systems will be
`designed in the future.
`
`The Scope of the Book
`
`The field of FPGAs is varied and dynamic. Many different kinds of FPGAs exist. with
`different programming technologies, different architectures and different software.
`This book describes the major FPGA architectures available today, covering the three
`programming technologies that are in use and the major architectures built on those
`programming technologies. The goal is to introduce the reader to concepts relevant to
`the entire field of FPGAs using popular devices as examples, without trying to
`enumerate every commercially-available product.
`
`This book includes discussions of FPGA integrated circuit manufacturing, circuit
`design and logic design. It describes the way logic and interconnect are implemented
`in various kinds of FPGAs. It covers particular problems with design for FPGAs and
`future possibilities for new architectures and software. This book compares CAD for
`FPGAs with CAD for traditional gate arrays. It describes algorithms for placement.
`routing and optimization of FPGAs.
`
`The FPGA device descriptions in this book include specifications of capacity and
`speed. These numbers are continually being debated by manufacturers. This book
`does not attempt to enter the debate; there was no attempt to reconcile device
`specifications from different vendors.
`
`FPGA devices and technology are improving rapidly, so specific numbers for gate
`counts and device speeds may already be obsolete. However, the general concepts,
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 9
`
`

`

`xii
`
`FPGA Technology
`
`such as programming methods, architectural constraints due to programming
`technologies, device scaling and preferred design methods will remain relevant long
`after the specific devices in this book have only historical interest.
`
`Intended Audience
`
`This book is intended to describe all aspects of FPGA design and development. For
`this reason, it covers a significant amount of material. An extremely detailed
`discussion of all these areas would make this book prohibitively long. Our intent is to
`make each section clear to readers with general technical expertise in digital design
`and design tools. Readers with significant experience in one of these areas may find
`the discussions superficial in that area, but useful in others.
`
`This book assumes the reader has an understanding of the fundamentals of digital
`electronics design. Experience designing or using ASIC gate arrays and software will
`make much of this book much easier to read, since many of the comparisons are with
`respect to gate arrays.
`
`Potential developers of FPGAs will benefit primarily from the FPGA architecture and
`software discussion. Electronics systems designers and ASIC users will find this book
`gives them a background on different types of FPGAs and shows applications of their
`use, which are useful for deciding when an FPGA is appropriate for an application.
`
`This book may be useful in a university setting where it can be used in support of a
`comparative FPGA architectures course, as background reading for a digital design
`course with FPGAs as the target implementation, or as supplemental reading for a
`Computer-Aided Design course for tools targeted to FPGA design automation.
`
`This book is not intended as a product specification for any integrated circuit or
`software product.
`
`Organization of the Book
`
`Chapter 1 introduces the FPGA in comparison with other logic implementation
`techniques. It defines the term FPGA in a form that is both general enough to include
`all types of devices currently being offered, and specific enough to be a guide for
`evaluating other devices that may appear. The bulk of chapter 1 is a comparison of
`FPGAs with mask programmed gate arrays, showing the FPGA advantages and
`disadvantages.
`
`The following three chapters describe three very different FPGA architectures and
`software. Chapter 2 describes Xilinx SRAM-based FPGAs, chapter 3 describes Actel
`antifuse-based FPGAs and chapter 4 describes Altera EEPROM-based FPGAs. The
`three architectures were chosen because they were the most common FPGAs
`currently in use and because they are very different in their approaches to field
`programmable logic. They have different programming technologies, different
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 10
`
`

`

`Preface
`
`xiii
`
`methods of implementing logic and different interconnection strategies. Each of these
`chapters includes a discussion of an FPGA family, its architecture, software, and
`applications.
`
`Each chapter was written by an expert in that particular type of architecture. Each
`author expresses the concepts in the terminology familiar to developers and users of
`that architecture. To facilitate comparison of the different FPGAs, the chapters follow
`a common outline, described in chapter 1. In addition, the reader may use the index as
`a glossary, as terms with similar meanings are correlated there.
`
`Acknowledgments
`
`I would like to thank all those who contributed directly and indirectly to the success
`of this book, especially the good folks at Xilinx who allowed me the time for this
`project, especially Bernie Vonderschmitt, Wes Patterson, Gary Leive and Bill Carter. I
`wish also to thank the authors of the architecture sections, whose effort and endurance
`were vital to the completion of this project.
`
`Stephen Trimberger
`San Jose, CA
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 11
`
`

`

`xiv
`
`FPGA Technology
`
`Trademarks
`
`Xilinx, XACT, XC2064, XC3090, XC4005, and XC-DS50l are registered trademarks of Xilinx. All XC(cid:173)
`prefix product designations, XACT-Performance, XAPP, X-BLOX, XSI, XChecker, XDM, XEPLD, XFf,
`XAPp, XSI, BITA, Dual Block, FastCLK, HardWire, LCA, Logic Cell, PLUSASM and UIM are
`trademarks of Xilinx. The Programmable Logic Company is a service mark of Xilinx.
`
`Act is a trademark and Actel, Action Logic, Activator, Actionprobe and PLICE are registered trademarks
`of Actel Corporation.
`
`Altera. MAX, and MAX+PLUS are registered trademarks of Altera Corporation. The following are
`trademarks of Altera Corporation: MAX+PLUS II, FastTrack, FLEX, AHDL, MPLD, MAX 5000. MAX
`7000, FLEX 8000, Classic, STG, PLS-FLEX, PLDS-HPS, PLDS-MAX, PLS-WS/sN, PLS-WSIHP, PLS(cid:173)
`EDIE Product design elements and mnemonics are Altera Corporation copyright.
`
`ABEL is a trademark of Data VO Corporation.
`
`Viewlogic is a registered trademark of Viewlogic Systems, Incorporated.
`
`OrCAD is a trademark of OrCAD Systems Corporation.
`
`IBM and AT are registered trademarks and IBM pc, XT, PS/2 and Micro Channel are trademarks of
`International Business Machines Corporation.
`
`Windows is a trademark of Microsoft Corporation.
`
`Sun is a trademark of Sun Microsystems, Incorporated.
`
`PAL and PALASM are registered trademarks of Advanced Micro Devices, Incorporated.
`
`Synopsys and Design Compiler are trademarks of Synopsys, Inc.
`
`Radius is a trademark and Pivot is a registered trademarks of Radius, Inc.
`
`Apple and Macintosh are registered trademarks of Apple Computer, Inc.
`
`Quickturn and RPM Logic Emulator are a trademarks of Quickturn Design Systems.
`
`All trademarks are the property of their respecti ve owners.
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 12
`
`

`

`FIELD-PROGRAMMABLE GATE
`ARRAY TECHNOLOGY
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 13
`
`

`

`Chapter 1
`Introduction
`
`1.1. Logic Implementation Options
`
`An electronic system designer has several options for implementing digital logic.
`These options include discrete logic devices, often called Small-Scale Integrated cir(cid:173)
`cuits, or SSI; programmable devices such as Programmable Array Logic (PALs or
`PLDs); masked-programmed Gate Arrays or Cell-Based ASICs; and Field Program(cid:173)
`mable Gate Arrays (FPGAs).
`
`Small amounts of logic can be implemented easily with discrete devices. Each SSI
`cbip contains a few identical gates of a specific type. Designers choose the logic they
`want from the selection of available chip types. SSI logic is often referred-to as
`"7400-series," in reference to the widely-used Texas Instruments logic family.
`
`A simple Programmable Logic Device (PLD) is a general-purpose device capable of
`implementing the logic of tens or hundreds of SSI packages. Pioneered by MMI, a
`PLD implements logic as wide fan-in two-level sum-of-products of its inputs. It may
`have optional flip-flops or other logic on the outputs of the sum-of-products array. The
`best-known PLD is the "22VlO", with 22 inputs and 10 outputs, developed by AMD
`and copied by numerous others. A PLD is programmed by users at their site using
`inexpensive programming hardware. Power consumption and delay limit the size of
`the simple sum of products structure to dozens of product terms. Large designs
`require a multi-level logic implementation.
`
`To implement designs with thousands or tens of thousands of gates, designers can use
`a Mask Programmed Gate Array (MPGA), commonly called a gate array. An MPGA
`can implement tens of thousands or even hundreds of thousands of gates of logic on a
`single IC in multi-level logic with wiring between logic stages. An MPGA consists of
`a base of pre-designed transistors with customized wiring for each design. The wiring
`is built during the manufacturing process, so each design requires custom masks for
`the wiring. The mask-making charges make low-volume MPGAs expensive. Typical
`turnaround times for MPGAs are four to six weeks.
`
`Field Programmable Gate Arrays offer the benefits of both programmable logic arrays
`and gate arrays. Like MPGAs, FPGAs implement thousands of gates of logic in a sin(cid:173)
`gle integrated circuit. Like PLDs, FPGAs are programmable by designers at their site,
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 14
`
`

`

`2
`
`FPGA Technology
`
`30000
`
`5000
`
`1989
`
`1990
`
`1991
`
`1992
`
`1993
`
`Figure 1.1. Number of Designs Implemented as MPGA Versus
`FPGA (source: Dataquest, 1991 and Xilinx, 1992)
`
`eliminating the long delays and tooling costs. These advantages have made FPGAs
`very popular (figure 1.1).
`
`1.2. What is an FPGA?
`
`An FPGA is a general-purpose, multi-level programmable logic device that is cus(cid:173)
`tomized in the package by the end users. FPGAs are composed of blocks of logic con(cid:173)
`nected with programmable interconnect. The programmable interconnect between
`blocks allows users to implement multi-level logic, removing many of the size limita-
`
`20000
`
`15000
`
`Gates 10000
`
`5000
`
`1 000
`100 • • • !!~~
`
`100
`
`1 000
`
`10000 100000
`
`Units
`Figure 1.2. Preferred Implementation Options in the Design
`Space (Source: Xilinx).
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 15
`
`

`

`Introduction
`
`3
`
`tions of the PLO-derived two-level logic structure. This extensible architecture can
`currently support thousands of gates of logic at system speeds in the tens of mega(cid:173)
`hertz.
`
`The size. structure and number of blocks; and the amount and connectivity of the
`interconnect vary considerably among FPGA architectures. This difference in archi(cid:173)
`tectures is driven by different programming technologies and different target applica(cid:173)
`tions of the parts. An architectural organization that worlcs well with a particular
`programming technology typically does not work with another. The segmentation by
`programming style and hence architecture is the basis of the taxonomy in figure 1.3.
`FPGAs fall into four groups: island-style and cellular SRAM-programmed devices;
`channeled, antifuse-programmed devices; and array-style EPROM or EEPROM-pro(cid:173)
`grammed devices.
`
`SRAM-programmed island-style FPGAs include all three Xilinx LCA families. the
`AT&T Orca and Altera Flex, as well as U1FPGAI [Chow 1991]. Cellular-style
`FPGAs include Toshiba. Plessey's ERA, Atmel's (formerly Concurrent Logic) CLi
`family, the Algotronix CAL, as well as Triptych [Ebeling 1991]. Antifuse-based
`channelled gate arrays include Actel's ACT-I and ACT-2, Quicklogic's pASIC and
`Crosspoint's CP20K Series FPGA. EPROM-programmed array-like devices resemble
`a collection of PALs with a central interconnection mechanism. Devices of this type
`are Altera's MAX 5000 and MAX 7000, AMO's Mach and Xilinx's EPLO, among
`others.
`
`This definition of FPGA is similar to the Complex PLO (CPLO) definition used by
`the Oataquest market research company. They divide CPLOs into "Programmable
`Multi-level Devices" (PMOs), which are simple PLO arrays with a programmable
`
`I FPGA I
`
`I
`
`I
`
`SRAM-Programmed
`
`Antifuse-Programmed
`Channeled
`
`EPROM-Programmed
`Array
`
`I
`
`I
`
`I
`
`Island I ~ Cellular
`
`Figure 1.3. Taxonomy of FPGAs.
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 16
`
`

`

`4
`
`FPGA Technology
`
`interconnection structure; and "FPGAs", which consists of all other multi-level field(cid:173)
`programmable devices. The Dataquest "FPGA" classification covers those devices in
`the SRAM-Programmed and Antifuse-Programmed boxes in figure 1.3. In this book,
`we use the broader definition of FPGAs, which is equivalent to the Dataquest
`"CPLD" classification.
`
`Currently-available FPGAs implement digital logic, but this is not a fundamental lim(cid:173)
`itation. FPGAs composed of analog blocks with programmable interconnect have
`been proposed and built [Lee 1991], but they are not commercially available. This
`book does not describe analog or hybrid FPGAs. The reader is directed to the refer(cid:173)
`ences for further information on analog FPGAs, also called Field-Programmable Ana(cid:173)
`log Arrays (FPAAs).
`
`1.3. Advantages of FPGAs
`
`Figure 1.4 compares MPGA and FPGA design and manufacturing steps. Design entry
`and verification are similar for both technologies, but there are significant differences
`late in the design cycle. Instead of customizing the part by custom manufacturing
`steps, FPGAs are customized by electrical modification of a packaged part. By elimi(cid:173)
`nating the customization during manufacturing, FPGAs eliminate each design's cus(cid:173)
`tom mask-making, test pattern generation, wafer fabrication, packaging and testing.
`The electrical modification takes milliseconds or minutes, depending on the program(cid:173)
`ming technology and size of the part, compared to weeks for the MPGA steps. FPGA
`programming is done by simple, inexpensive programming devices.
`
`System Design
`
`Logic Design
`
`Place and Route
`
`Timing Simulation
`
`Test Pattern Generation
`
`Mask Making
`
`Wafer Fabrication
`
`Packaging
`
`Testing
`
`System Design
`
`Logic Design
`
`Place and Route
`
`Timing Simulation
`
`Download I programming
`
`System Integration
`
`System Integration
`
`Figure 1.4. Design Steps For MPGA versus FPGA
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 17
`
`

`

`Introduction
`
`5
`
`Percentage
`of Design
`Starts
`
`<5
`
`5-10
`10-20 20-100 >100
`Thousands of Units
`
`Figure 1.5. MOS Gate Array Design Starts by Unit Volume
`(source: Dataquest 1991).
`
`Low Tooling Costs
`
`Every design to be implemented in an MPGA requires custom masks to build the cus(cid:173)
`tom wiring patterns. Each mask costs several thousand dollars and the cost is amor(cid:173)
`tized over the total number of units manufactured. The more units built, the lower the
`impact of the masking charges. However, comparatively few designs require more
`than tens of thousands of units (figure 1.5), so, for most MPGA designs, the masking
`charges are significant. There is no custom tooling required for an FPGA, so there are
`no associated tooling costs, making FPGAs cost effective for most logic designs.
`
`Rapid Turnaround
`
`The MPGA manufacturing process takes several weeks from the completion of the
`design to the delivery of the finished parts. An FPGA can be programmed in minutes
`by the user of the part. On an FPGA, a modification to correct a design flaw or to
`address a late specification change can be made quickly and cheaply. Faster design
`turnaround leads to faster product development and shorter time-to-market for new
`FPGA products. Reinertsen [1983] determined that in a high-technology environ(cid:173)
`ment, a six-month delay in product delivery cut the lifetime profits of a product by
`thirty-three percent.
`
`Low Risk
`
`The benefits of low initial Non-Recurring Engineering (NRE) charges and rapid turn(cid:173)
`around means that a design iteration due to an error incurs neither a large expense nor
`a long delay. Low costs encourage early system integration and prototyping. The low
`cost of error also encourages more aggressive logic design, which may yield better
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 18
`
`

`

`6
`
`FPGA Technology
`
`performance and more cost effective designs.
`
`Effective Design Verification
`
`Because of substantial NRE costs and manufacturing delays, MPGA users verify their
`designs by extensive simulation before manufacture. Simulation has an inherent
`speed/accuracy trade-off: highly accurate simulators are slow, fast simulators are
`inaccurate. To verify the functionality of the design in a system, large amounts of time
`must be simulated. Proper verification requires that the environment of the design be
`simulated as well. Week-long simulation runs are not uncommon. An MPGA design,
`verified by simulation, may include errors due to inaccuracies or over-simplifications
`in the simulation model.
`
`FPGAs avoid these problems. Instead of simulating large amounts of time, FPGA
`users may choose to use in-circuit verification. Designers can implement the design
`and use a functioning part as a prototype. The prototype operates at full speed and
`with excellent timing accuracy. A prototype can be inserted into the system to verify
`functionality of the system as a whole, eliminating a class of system errors early.
`
`Low Testing Costs
`
`All ICs must be tested to verify proper manufacturing and packaging. This test is dif(cid:173)
`ferent for each design. Designs implemented in an MPGA incur three costs associated
`with testing: on-chip logic to facilitate testing, generation of the test program and test(cid:173)
`ing the parts when manufacturing is complete. FPGAs address all these costs.
`
`Good test programs are hard to write, and schedule pressures tend to abbreviate test
`program generation for MPGAs. The poor coverage of MPGA test programs allows
`some bad chips to pass the testing. These defective parts may not be discovered until
`they fail in a system where the cost of repair is high.
`
`In contrast, the test program for FPGAs is the same for all designs and tests the FPGA
`for all users of the part. Because there is only one test program, it is reasonable to
`invest a considerable amount of effort in it, and it can be continually improved over
`the lifetime of the FPGA. The resulting test program achieves excellent test coverage,
`leading to high-quality les.
`
`In the case of reprogrammable parts, the manufacturer can reprogram all programma(cid:173)
`ble points during testing to verify that the part will work properly after programming.
`For one-time-programmable parts, the FPGAs generally include test circuitry to catch
`most failures during manufacture. Manufacturer-supplied hardware and software ver(cid:173)
`ify post-programming functionality. Those parts that fail to pass the post-program(cid:173)
`ming test are rejected on the programming device. The percentage of successfully(cid:173)
`programmed devices is termed programming yield.
`
`The manufacturer's test program verifies that every FPGA will be functional for all
`possible designs that may be implemented on it. FPGA users are not required to write
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 19
`
`

`

`Introduction
`
`7
`
`design-specific tests for their designs. Therefore, designers need not build the testabil(cid:173)
`ity into the design, eliminating "design for testability" and the design effort and over(cid:173)
`head associated with it
`
`Standard-Product Advantages
`
`New, denser integrated circuit technologies drive microelectronic advances. New pro(cid:173)
`cessing technologies have finer geometries with smaller transistors and wires. The
`speed and cost of a chip are related to these dimensions, so a smaller chip is both
`cheaper and faster.
`
`Moving an MPGA design to a new process incurs additional NRE charges for new
`masks and test program verification, so it is rarely done. Because FPGAs are standard
`products, only the FPGA manufacturer incurs the cost of moving the chip to a new
`process technology. FPGAs on the new process are available to all customers without
`additional NRE cost. From the point of view of a user, the FPGA manufacturer lowers
`the price and improves the speed of the parts over time. A user of MPGAs does not
`get these improvements without paying the additional NRE charges.
`
`Normal variations in the integrated circuit manufacturing process leads to a distribu(cid:173)
`tion of performance of integrated circuits. In an MPGA, the customer must design to
`worst-case process characteristics. The chips that meet "typical" specifications rather
`than "worst-case" specifications are approximately twenty percent faster. FPGA man(cid:173)
`ufacturers can separate the fast parts from the slow ones in a process called speed bin(cid:173)
`ning. Slower parts sell for lower price. Faster parts allow designers to design to the
`high-end of the process variation, giving FPGA users a price/performance trade-off
`that MPGA designers do not have.
`
`Volume
`
`Unplanned
`Upside
`
`Time
`
`Figure l.6. Generic Product Life Cycle (source: Xilinx).
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 20
`
`

`

`8
`
`FPGA Technology
`
`Life Cycle Advantages
`
`The life of a product does not end when the design of a chip inside it is finished. Fig(cid:173)
`ure 1.6 shows a typical product life cycle plotted as volume versus time. When the
`design is complete, there is a ramp-up into production. This ramp-up may include a
`few prototypes or larger pilot manufacturing runs. During production, a design may
`have periods of increased or decreased sales. At the end of a product lifetime, produc(cid:173)
`tion tapers off.
`
`MPGA are only cost effective when ordered in volume, and the volume must be
`decided months in advance of delivery due to long manufacturing cycle times. An
`MPGA user must maintain a sufficient inventory to handle upturns, and is left with
`excess inventory should sales fail to meet expectations. At the end of a product life(cid:173)
`time, MPGA users are faced with a last-purchase decision that must be made months
`in advance of the end-of-product date. If they order too many parts, they are left with
`unusable parts in inventory, if they order too few, they may not have enough parts to
`build the last few systems.
`
`The cost-effectiveness of FPGAs in low volume and the flexibility provided by field(cid:173)
`programmability provide advantages over all phases of product lifetime. When intro(cid:173)
`ducing a product, an FPGA user may order a few parts at a time while testing the
`design for functionality and the product for market viability. During production, the
`FPGA user can accommodate rapid changes in sales easily because long lead times
`are not required. An FPGA user can make product enhancements by shipping an
`upgraded design on the same FPGA device. This upgrade requires no inventory
`changes, no new hardware and does not interrupt production.
`
`1.4. Disadvantages of FPGAs
`
`FPGAs have on-chip programming overhead circuitry that manages the programming
`of the part. The area of the programming overhead cannot be used by customers, and
`lowers the FPGA gate density. The programmable switches and options in an FPGA
`are larger than the mask programming that can be built in an MPGA. The programma(cid:173)
`ble switches also increase signal delay by adding resistance and capacitance to inter(cid:173)
`connect paths. As a result, FPGAs are larger and slower than equivalent MPGAs.
`
`Chip Size and Cost
`
`The area penalty for field-programmability is significant. Current FPGAs are about
`ten times larger for the same gate capacity as the equivalent MPGA, and are corre(cid:173)
`spondingly more expensive on a per-chip basis.
`
`Because of the overhead of field programmability, current-generation FPGAs are lim(cid:173)
`ited to tens of thousands of gates of capacity, while the largest MPGAs are hundreds
`of thousands of gates. For large designs, designers must either split the design into
`several FPGAs or they must move the design to an MPGA. Multiple-chip partitioning
`
`sharbour@jvllp.com
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2077, p. 21
`
`

`

`Introduction
`
`9
`
`Total
`Project
`Cost
`
`MPGA t
`
`NRE
`
`L-__________ ~ __________ _L_
`
`10k
`Project Volume
`
`20k
`
`Figure 1.7. Cost Versus Volume for MPGAs vs. FPGAs (source:
`Xilinx).
`
`for FPGA designs is available, but still relatively immature.
`
`Figure l.7 shows a cost comparison of MPGAs against FPGAs over a range of vol(cid:173)
`ume for the parts. At some point the initial cost savings from the lack of NRE charge
`with FPGAs is consumed by the increased per-chip costs. That crossover point for a
`five-thousand-gate part is currently above ten thousand units. Designs with greater
`volume are more cost effective using an MPGA, despite the greater start-up costs.
`
`Speed of Circuitry
`
`The connection paths in an FPGA are slowed by the programming circuitry. Program(cid:173)
`mable interconnection points along a wiring path add resistance to the path. All pro(cid:173)
`gramming points in the interconnect add capacitance to the internal paths. Finally,
`since more area is required for the same amount of logic, interconnect lines between
`logic are longer. Longer lines have greater resistance and capacitance, further slowing
`the resulting circuitry.

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