throbber
il
`
`ThesainaDWarriorS
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 1 of 72
`
`

`

`The Design Warrior’s
`Guide to FPGAs
`
`Devices, Tools and Flows
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 2 of 72
`
`

`

`This book belongs to Lee Bernstein
`
`(rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 3 of 72
`
`

`

`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 4 of 72
`
`

`

`The Design Warrior’s
`Guide to FPGAs
`
`Devices, Tools and Flows
`
`Clive “Max” Maxfield
`
`AMSTERDAM• BOSTON • HEIDELBERG • LONDON
`NEW YORK • OXFORD • PARIS • SAN DIEGO
`SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO
`Newnes is an imprint of Elsevier
`
`Newnes
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 5 of 72
`
`

`

`Newnes is an imprint of Elsevier
`
`200 Wheeler Road, Burlington, MA 01803, USA
`
`Linacre House, Jordan Hill, Oxford OX2 8DP, UK
`
`Copyright © 2004, Mentor Graphics Corporation and Xilinx, Inc.
`All rights reserved.
`
`Illustrations by Clive “Max” Maxfield
`
`No part of this publication may be reproduced, stored in a retrieval system, or trans-
`mitted in any form or by any means, electronic, mechanical, photocopying,
`recording, or otherwise, without the prior written permission of the publisher.
`
`Permissions may be sought directly from Elsevier’s Science & Technology Rights
`Department in Oxford, UK: phone: (+44) 1865 843830, fax: (+44) 1865 853333,
`e-mail: permissions@elsevier.com.uk. You may also complete your request on-line
`via the Elsevier homepage (http://elsevier.com), by selecting “Customer Support”
`and then “Obtaining Permissions.”
`
`Recognizing the importance of preserving what has been written, Elsevier prints its
`books on acid-free paper whenever possible.
`
`Library of Congress Cataloging-in-Publication Data
`
`Application submitted
`
`ISBN: 0-7506-7604-3
`
`British Library Cataloguing-in-Publication Data
`
`A catalogue record for this book is available from the British Library.
`
`For information on all Newnes publications
`
`visit our Web site at www.newnespress.com
`
`04 05 06 07 08 09
`
`10 9 8 7 6 5 4 3 2 1
`
`Printed in the United States of America
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 6 of 72
`
`

`

`To my wife Gina—the yummy-scrummy caramel, chocolate fudge,
`and rainbow-colored sprinkles on the ice cream sundae of my life
`
`Also, to my stepson Joseph and my grandchildren Willow, Gaige, Keegan, and Karma,
`all of whom will be tickled pink to see their names in a real book!
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 7 of 72
`
`

`

`For your delectation and delight, the CD accompanying this book contains a fully-
`searchable copy of The Design Warrior’s Guide to FPGAs in Adobe® Acrobat®
`(PDF) format. You can copy this PDF to your computer so as to be able to access
`The Design Warrior’s Guide to FPGAs as required (this is particularly useful if you
`travel a lot and use a notebook computer).
`
`The CD also contains a set of Microsoft® PowerPoint® files—one for each chapter
`and appendix—containing copies of the illustrations that are festooned throughout
`the book. This will be of particular interest for educators at colleges and universities
`when it comes to giving lectures or creating handouts based on The Design Warrior’s
`Guide to FPGAs
`
`Last but not least, the CD contains a smorgasbord of datasheets, technical articles,
`and useful web links provided by Mentor and Xilinx.
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 8 of 72
`
`

`

`Contents
`
`SRAMs, DRAMs, and
`. . . . 28
`microprocessors. . . . .
`SPLDs and CPLDs . . . . . . . . 28
`ASICs (gate arrays, etc.) . . . . . 42
`FPGAs . . . . . . . . . . . . . . 49
`
`Chapter 4
`Alternative FPGA Architectures 57
`A word of warning . . . . .
`. . . 57
`A little background information . 57
`Antifuse versus SRAM
`versus … . . . . . . . . . . . . 59
`Fine-, medium-, and coarse-grained
`architectures . . . . . . . . . . 66
`MUX- versus LUT-based
`logic blocks . . . . . . . . . . . 68
`CLBs versus LABs versus slices. . 73
`Fast carry chains . . . . . . . . . 77
`Embedded RAMs . . . . . . . . . 78
`Embedded multipliers, adders,
`MACs, etc. . . . . . . . . . . . 79
`Embedded processor cores
`(hard and soft) . . . . . . . . . 80
`Clock trees and clock managers . 84
`General-purpose I/O . . . . . . . 89
`Gigabit transceivers
`. . . . . . . 92
`Hard IP, soft IP, and firm IP . . . 93
`System gates versus real gates
`. . 95
`FPGA years . . . . . . . . . . . . 98
`
`Preface . .
`
`. . .
`
`. .
`
`. . .
`
`. .
`
`. . .
`
`ix
`
`Acknowledgments .
`
`.
`
`. .
`
`. .
`
`. .
`
`. . xi
`
`Chapter 1
`Introduction .
`.
`. .
`. .
`. .
`. . 1
`What are FPGAs? . . . . . . . . . 1
`Why are FPGAs of interest? . . . . 1
`What can FPGAs be used for? . . . 4
`What’s in this book? . . . . . . . . 6
`What’s not in this book?. . . . . . 7
`Who’s this book for? . . . . . . . . 8
`
`Chapter 2
`Fundamental Concepts .
`. . .
`. 9
`The key thing about FPGAs. . . . 9
`A simple programmable function . 9
`Fusible link technologies . . . . . 10
`Antifuse technologies . . . . . . 12
`Mask-programmed devices . . . . 14
`PROMs . . . . . . . . . . . . . . 15
`EPROM-based technologies . . . 17
`EEPROM-based technologies . . 19
`FLASH-based technologies
`. . . 20
`SRAM-based technologies . . . . 21
`Summary . . . . . . . . . . . . . 22
`
`Chapter 3
`The Origin of FPGAs . .
`. .
`. . 25
`Related technologies . . . . . . . 25
`Transistors . . . . . . . . . . . . 26
`Integrated circuits . . . . . . . . 27
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 9 of 72
`
`

`

`viii ■ The Design Warrior's Guide to FPGAs
`
`Chapter 5
`Programming (Configuring)
`an FPGA . .
`. .
`. .
`. .
`. . .
`. 99
`Weasel words . . . . . . . . . . . 99
`Configuration files, etc.
`. . . . . 99
`Configuration cells . . . . . . . 100
`Antifuse-based FPGAs . . . . . 101
`SRAM-based FPGAs . . . . . . 102
`Using the configuration port . . 105
`Using the JTAG port . . . . . . 111
`Using an embedded processor. . 113
`
`Chapter 6
`Who Are All the Players? . . . 115
`Introduction. . . . . . . . . . . 115
`FPGA and FPAA vendors . . . 115
`FPNA vendors
`. . . . . . . . . 116
`Full-line EDA vendors . . . . . 116
`FPGA-specialist and independent EDA
`vendors . . . . . . . . . . . . 117
`FPGA design consultants with special
`tools . . . . . . . . . . . . . . 118
`Open-source, free, and low-cost design
`tools . . . . . . . . . . . . . . 118
`
`Chapter 7
`FPGA Versus ASIC
`Design Styles .
`. .
`. .
`.
`. . . 121
`Introduction. . . . . . . . . . . 121
`Coding styles . . . . . . . . . . 122
`Pipelining and levels of logic . . 122
`Asynchronous design practices . 126
`Clock considerations . . . . . . 127
`Register and latch considerations129
`Resource sharing (time-division multi-
`plexing) . . . . . . . . . . . . 130
`State machine encoding . . . . 131
`Test methodologies . . . . . . . 131
`
`Chapter 8
`Schematic-Based Design Flows 133
`In the days of yore. . . . . . . . 133
`The early days of EDA . . . . . 134
`A simple (early) schematic-driven
`ASIC flow. . . . . . . . . . . 141
`A simple (early) schematic-driven
`FPGA flow . . . . . . . . . . 143
`Flat versus hierarchical schematics
`. . . . . . . . . . . . . . . . 148
`Schematic-driven FPGA
`design flows today . . . . . . . 151
`
`Chapter 9
`HDL-Based Design Flows . . . 153
`Schematic-based flows
`grind to a halt . . . . . . . . . 153
`The advent of HDL-based flows 153
`Graphical design entry lives on . 161
`A positive plethora of HDLs . . 163
`Points to ponder. . . . . . . . . 172
`
`Chapter 10
`Silicon Virtual Prototyping
`for FPGAs . . .
`. . . .
`. . . 179
`Just what is an SVP?
`. . . . . . 179
`ASIC-based SVP approaches . . 180
`FPGA-based SVPs
`. . . . . . . 187
`
`Chaper 11
`C/C++ etc.–Based Design Flows
`. . . .
`. . . .
`. . . .
`. .
`. . 193
`Problems with traditional
`HDL-based flows . . . . . . . 193
`C versus C++ and concurrent
`versus sequential
`. . . . . . . 196
`SystemC-based flows . . . . . . 198
`Augmented C/C++-based flows 205
`Pure C/C++-based flows . . . . 209
`Different levels of synthesis
`abstraction . . . . . . . . . . 213
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 10 of 72
`
`

`

`Mixed-language design and
`verification environments . . 214
`
`Chapter 12
`DSP-Based Design Flows . . . 217
`Introducing DSP . . . . . . . . 217
`Alternative DSP implementations
`. . . . . . . . . . . . . . . . 218
`FPGA-centric design flows
`for DSPs . . . . . . . . . . . . 225
`Mixed DSP and VHDL/
`Verilog etc. environments . . 236
`
`Chapter 13
`Embedded Processor-Based
`Design Flows .
`.
`. .
`. .
`. .
`. 239
`Introduction. . . . . . . . . . . 239
`Hard versus soft cores . . . . . . 241
`Partitioning a design into its
`hardware and software components
`245
`Hardware versus software views
`of the world . . . . . . . . . . 247
`Using an FPGA as its own
`development environment . . 249
`Improving visibility in
`the design . . . . . . . . . . . 250
`A few coverification alternatives 251
`A rather cunning design
`environment . . . . . . . . . 257
`
`Chapter 14
`Modular and Incremental
`Design .
`.
`. .
`. .
`. .
`. . . . 259
`Handling things as one
`big chunk . . . . . . . . . . . 259
`Partitioning things into
`smaller chunks . . . . . . . . 261
`There’s always another way . . . 264
`
`Contents ■ ix
`
`Chapter 15
`High-Speed Design and Other
`PCB Considerations . .
`. . . 267
`Before we start. . . . . . . . . . 267
`We were all so much younger
`then . . . . . . . . . . .
`. . . 267
`The times they are a-changing . 269
`Other things to think about
`. . 272
`
`Chapter 16
`Observing Internal Nodes in
`an FPGA . . . .
`. . . .
`. . . 277
`Lack of visibility. . . . . . . . . 277
`Multiplexing as a solution . . . 278
`Special debugging circuitry . . . 280
`Virtual logic analyzers. . . . . . 280
`VirtualWires
`. . . . . . . . .
`. 282
`
`Chapter 17
`Intellectual Property . .
`.
`. . 287
`Sources of IP .
`. . . . . . . . . 287
`Handcrafted IP . . . . . . . . . 287
`IP core generators . . . . . . . . 290
`Miscellaneous stuff
`. . . . .
`. . 291
`
`Chapter 18
`Migrating ASIC Designs to FPGAs
`and Vice Versa .
`. . .
`. . .
`. 293
`Alternative design scenarios . . 293
`
`Chapter 19
`Simulation, Synthesis, Verification,
`etc. Design Tools . . .
`. .
`. . 299
`Introduction. . . . . . . . . . . 299
`Simulation (cycle-based,
`event-driven, etc.) . . . . . . 299
`Synthesis (logic/HDL versus
`physically aware) . . . . . . . 314
`Timing analysis (static
`. 319
`versus dynamic) . . . . . . .
`Verification in general
`. . . . . 322
`Formal verification . . . . . . . 326
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 11 of 72
`
`

`

`x ■ The Design Warrior's Guide to FPGAs
`
`Miscellaneous . . . . . . . . . . 338
`
`Chapter 20
`Choosing the Right Device .
`. 343
`So many choices
`. . . . . . . . 343
`If only there were a tool. . . . . 343
`Technology . . . . . . . . . . . 345
`Basic resources and packaging . 346
`General-purpose I/O interfaces . 347
`Embedded multipliers,
`RAMs, etc.
`. . . . . . . . . . 348
`Embedded processor cores. . . . 348
`Gigabit I/O capabilities . . . . . 349
`IP availability . . . . . . . . . . 349
`Speed grades. . . . . . . . . . . 350
`On a happier note. . . . . . . . 351
`
`Chapter 21
`Gigabit Transceivers . .
`. .
`. 353
`Introduction. . . . . . . . . . . 353
`Differential pairs
`. . . . . . . . 354
`Multiple standards
`. . . . . . . 357
`8-bit/10-bit encoding, etc.
`. . . 358
`Delving into the transceiver
`blocks . . . . . . . . . . . . . 361
`Ganging multiple transceiver
`blocks together . . . . . . . . 362
`Configurable stuff . . . . . . . . 364
`Clock recovery, jitter, and
`eye diagrams. . . . . . . . . . 367
`
`Chaper 22
`Reconfigurable Computing .
`. 373
`Dynamically reconfigurable logic 373
`Dynamically reconfigurable
`interconnect
`. . . . . . . . . 373
`Reconfigurable computing . . . 374
`
`Chapter 23
`Field-Programmable
`Node Arrays .
`. .
`. .
`
`.
`
`. .
`
`. 381
`
`Introduction. . . . . . . . . . . 381
`Algorithmic evaluation . . . . . 383
`picoChip’s picoArray technology 384
`QuickSilver’s ACM technology 388
`It’s silicon, Jim, but not
`as we know it! . . . . . . . . . 395
`
`Chapter 24
`Independent Design Tools . . 397
`Introduction. . . . . . . . . . . 397
`ParaCore Architect . . . . . . . 397
`The Confluence system
`design language . . . . . . . . 401
`Do you have a tool? . . . . . . . 406
`
`Chapter 25
`Creating an Open-Source-Based
`Design Flow . . . .
`. . . .
`. 407
`How to start an FPGA design
`shop for next to nothing . . . 407
`The development platform: Linux
`. . . . . . . . . . . . . . . . 407
`The verification environment . 411
`Formal verification . . . . . . . 413
`Access to common IP components
`. . . . . . . . . . . . . . . . 416
`Synthesis and implementation
`tools . . . . . . . . . . . . . . 417
`FPGA development boards . . . 418
`Miscellaneous stuff
`. . . . . . . 418
`
`Chapter 26
`Future FPGA Developments . 419
`Be afraid, be very afraid . . . . . 419
`Next-generation architectures
`and technologies . . . . . . . 420
`Don’t forget the design tools . . 426
`Expect the unexpected . . . . . 427
`
`Appendix A:
`Signal Integrity 101 . . .
`. . 429
`Before we start. . . . . . . . . . 429
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 12 of 72
`
`

`

`Capacitive and inductive coupling
`(crosstalk) . . . . . . . . . . 430
`Chip-level effects . . . . . . . . 431
`Board-level effects. . . . . . . . 438
`
`Appendix B:
`Deep-Submicron Delay Effects 101
`. . . .
`. .
`. .
`. .
`. .
`. .
`. . 443
`Introduction. . . . . . . . . . . 443
`The evolution of delay
`specifications . . . . . . . . . 443
`A potpourri of definitions. . . . 445
`Alternative interconnect models 449
`DSM delay effects . . . . . . . . 452
`Summary . . . . . . . . . . . . 464
`
`Appendix C:
`Linear Feedback Shift
`Registers 101 .
`.
`. .
`. .
`. . 465
`The Ouroboras . . . . . . . . . 465
`Many-to-one implementations . 465
`
`Contents ■ xi
`
`More taps than you know
`what to do with . . . . . . . . 468
`Seeding an LFSR . . . . . . . . 470
`FIFO applications . . . . . . . . 472
`Modifying LFSRs to sequence
`2n values . . . . . . . . .
`. . . 474
`Accessing the previous value . . 475
`Encryption and decryption
`applications . . . . . . . . . . 476
`Cyclic redundancy check
`applications . . . . . . . . . . 477
`Data compression applications . 479
`Built-in self-test applications . . 480
`Pseudorandom-number-generation
`applications . . . . . . . . . . 482
`Last but not least . . . . . . . . 482
`
`Glossary . . .
`
`. . . .
`
`. . . .
`
`. . . 485
`
`About the Author .
`
`. . .
`
`. .
`
`. . . 525
`
`Index . . . .
`
`. . . .
`
`. . . .
`
`. . . 527
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 13 of 72
`
`

`

`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 14 of 72
`
`

`

`4
`Alternative FPGA Architectures
`
`Chapter
`
`A word of warning
`
`In this chapter we introduce a plethora of architectural fea-
`tures. Certain options—such as using antifuse versus SRAM
`configuration cells—are mutually exclusive. Some FPGA ven-
`dors specialize in one or the other; others may offer multiple
`device families based on these different technologies. (Unless
`otherwise noted, the majority of these discussions assume
`SRAM-based devices.)
`In the case of embedded blocks such as multipliers, adders,
`memory, and microprocessor cores, different vendors offer
`alternative “flavors” of these blocks with different “recipes” of
`ingredients. (Much like different brands of chocolate chip
`cookies featuring larger or smaller chocolate chips, for exam-
`ple, some FPGA families will have bigger/better/badder
`embedded RAM blocks, while others might feature more mul-
`tipliers, or support more I/O standards, or …)
`The problem is that the features supported by each vendor
`and each family change on an almost daily basis. This means
`that once you’ve decided what features you need, you then
`need to do a little research to see which vendor’s offerings cur-
`rently come closest to satisfying your requirements.
`
`A little background information
`
`Before hurling ourselves into the body of this chapter, we
`need to define a couple of concepts to ensure that we’re all
`marching to the same drumbeat. For example, you’re going to
`see the term fabric used throughout this book. In the context of
`
`The word “fabric” comes
`from the Middle English
`fabryke, meaning “some-
`thing constructed.”
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 15 of 72
`
`

`

`58 ■ The Design Warrior's Guide to FPGAs
`
`a silicon chip, this refers to the underlying structure of the
`device (sort of like the phrase “the fabric of civilized society”).
`When you first hear someone using “fabric” in this way, it
`might sound a little snooty or pretentious (in fact, some engi-
`neers regard it as nothing more than yet another marketing
`term promoted by ASIC and FPGA vendors to make their
`devices sound more sophisticated than they really are). Truth
`to tell, however, once you get used to it, this is really quite a
`useful word.
`When we talk about the geometry of an IC, we are refer-
`ring to the size of the individual structures constructed on the
`chip—such as the portion of a field-effect transistor (FET)
`known as its channel. These structures are incredibly small. In
`the early to mid-1980s, devices were based on 3 µm geome-
`tries, which means that their smallest structures were 3
`millionths of a meter in size. (In conversation, we would say,
`“This IC is based on a three-micron technology.”)
`Each new geometry is referred to as a technology node. By
`the 1990s, devices based on 1 µm geometries were starting to
`appear, and feature sizes continued to plummet throughout
`the course of the decade. As we moved into the twenty-first
`century, high-performance ICs had geometries as small as 0.18
`µm. By 2002, this had shrunk to 0.13 µm, and by 2003,
`devices at 0.09 µm were starting to appear.
`Any geometry smaller than around 0.5 µm is referred to as
`deep submicron (DSM). At some point that is not well defined
`(or that has multiple definitions depending on whom one is
`talking to), we move into the ultradeep submicron (UDSM)
`realm.
`Things started to become a little awkward once geometries
`dropped below 1 µm, not the least because it’s a pain to keep
`having to say things like “zero point one three microns.” For
`this reason, when conversing it’s becoming common to talk in
`terms of nano, where one nano (short for nanometer) equates
`to a thousandth of a micron—that is, one thousandth of a
`millionth of a meter. Thus, instead of mumbling, “point zero
`nine microns” (0.09 µm), one can simply proclaim, “ninety
`
`The “µ” symbol stands for
`“micro” from the Greek
`micros, meaning “small”
`(hence the use of “µP” as
`an abbreviation for micro-
`processor.”)
`
`In the metric system, “µ”
`stands for “one millionth
`part of,” so 1 µm repre-
`sents “one millionth of a
`meter.”
`
`DSM is pronounced
`by spelling it out as
`“D-S-M.”
`
`UDSM is pronounced
`by spelling it out as
`“U-D-S-M.”
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 16 of 72
`
`

`

`Alternative FPGA Architectures ■ 59
`
`nano” (90 nano) and have done with it. Of course, these both
`mean exactly the same thing, but if you feel moved to regale
`your friends on these topics, it’s best to use the vernacular of
`the day and present yourself as hip and trendy rather than as
`an old fuddy-duddy from the last millennium.
`
`Antifuse versus SRAM versus …
`
`SRAM-based devices
`The majority of FPGAs are based on the use of SRAM
`configuration cells, which means that they can be configured
`over and over again. The main advantages of this technique
`are that new design ideas can be quickly implemented and
`tested, while evolving standards and protocols can be accom-
`modated relatively easily. Furthermore, when the system is first
`powered up, the FPGA can initially be programmed to perform
`one function such as a self-test or board/system test, and it can
`then be reprogrammed to perform its main task.
`Another big advantage of the SRAM-based approach is
`that these devices are at the forefront of technology. FPGA
`vendors can leverage the fact that many other companies spe-
`cializing in memory devices expend tremendous resources on
`research and development (R&D) in this area. Furthermore, the
`SRAM cells are created using exactly the same CMOS tech-
`nologies as the rest of the device, so no special processing steps
`are required in order to create these components.
`In the past, memory devices were often used to qualify the
`manufacturing processes associated with a new technology
`node. More recently, the mixture of size, complexity, and regu-
`larity associated with the latest FPGA generations has resulted
`in these devices being used for this task. One advantage of
`using FPGAs over memory devices to qualify the manufactur-
`ing process is that, if there’s a defect, the structure of FPGAs is
`such that it’s easier to identify and locate the problem (that is,
`figure out what and where it is). For example, when IBM and
`UMC were rolling out their 0.09 µm (90 nano) processes,
`
`R&D is pronounced by
`spelling it out as
`“R-and-D.”
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 17 of 72
`
`

`

`60 ■ The Design Warrior's Guide to FPGAs
`
`IP is pronounced by spell-
`ing it out as “I-P.”
`
`FPGAs from Xilinx were the first devices to race out of the
`starting gate.
`Unfortunately, there’s no such thing as a free lunch. One
`downside of SRAM-based devices is that they have to be
`reconfigured every time the system is powered up. This either
`requires the use of a special external memory device (which
`has an associated cost and consumes real estate on the board)
`or of an on-board microprocessor (or some variation of these
`techniques—see also chapter 5).
`
`Security issues and solutions with SRAM-based
`devices
`Another consideration with regard to SRAM-based
`devices is that it can be difficult to protect your intellectual
`property, or IP, in the form of your design. This is because the
`configuration file used to program the device is stored in some
`form of external memory.
`Currently, there are no commercially available tools that
`will read the contents of a configuration file and generate a
`corresponding schematic or netlist representation. Having
`said this, understanding and extracting the logic from the
`configuration file, while not a trivial task, would not be
`beyond the bounds of possibility given the combination of
`clever folks and computing horsepower available today.
`Let’s not forget that there are reverse-engineering compa-
`nies all over the world specializing in the recovery of “design
`IP.” And there are also a number of countries whose govern-
`ments turn a blind eye to IP theft so long as the money keeps
`rolling in (you know who you are). So if a design is a high-
`profit item, you can bet that there are folks out there who are
`ready and eager to replicate it while you’re not looking.
`In reality, the real issue here is not related to someone
`stealing your IP by reverse-engineering the contents of the
`configuration file, but rather their ability to clone your design,
`irrespective of whether they understand how it performs its
`magic. Using readily available technology, it is relatively easy
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 18 of 72
`
`

`

`Alternative FPGA Architectures ■ 61
`
`JTAG is pronounced
`“J-TAG”; that is, by spell-
`ing out the ‘J’ followed
`by “tag” to rhyme with
`“bag.”
`
`for someone to take a circuit board, put it on a “bed of nails”
`tester, and quickly extract a complete netlist for the board.
`This netlist can subsequently be used to reproduce the board.
`Now the only task remaining for the nefarious scoundrels is to
`copy your FPGA configuration file from its boot PROM (or
`EPROM, E2PROM, or whatever), and they have a duplicate of
`the entire design.
`On the bright side, some of today’s SRAM-based FPGAs
`support the concept of bitstream encryption. In this case, the
`final configuration data is encrypted before being stored in the
`external memory device. The encryption key itself is loaded
`into a special SRAM-based register in the FPGA via its JTAG
`port (see also Chapter 5). In conjunction with some associated
`logic, this key allows the incoming encrypted configuration
`bitstream to be decrypted as it’s being loaded into the device.
`The command/process of loading an encrypted bitstream
`automatically disables the FPGA’s read-back capability. This
`means that you will typically use unencrypted configuration
`data during development (where you need to use read-back)
`and then start to use encrypted data when you move into pro-
`duction. (You can load an unencrypted bitstream at any time,
`so you can easily load a test configuration and then reload the
`encrypted version.)
`The main downside to this scheme is that you require a
`battery backup on the circuit board to maintain the contents
`of the encryption key register in the FPGA when power is
`removed from the system. This battery will have a lifetime of
`years or decades because it need only maintain a single register
`in the device, but it does add to the size, weight, complexity,
`and cost of the board.
`
`Antifuse-based devices
`Unlike SRAM-based devices, which are programmed while
`resident in the system, antifuse-based devices are programmed
`off-line using a special device programmer.
`The proponents of antifuse-based FPGAs are proud to
`point to an assortment of (not-insignificant) advantages. First
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 19 of 72
`
`

`

`62 ■ The Design Warrior's Guide to FPGAs
`
`Radiation can come in
`the form of gamma rays
`(very high-energy pho-
`tons), beta particles
`(high-energy electrons),
`and alpha particles.
`
`It should be noted that
`rad-hard devices are not
`limited to antifuse tech-
`nologies. Other
`components, such as
`those based on SRAM
`architectures, are avail-
`able with special
`rad-hard packaging and
`triple redundancy
`design.
`
`of all, these devices are nonvolatile (their configuration data
`remains when the system is powered down), which means that
`they are immediately available as soon as power is applied to
`the system. Following from their nonvolatility, these devices
`don’t require an external memory chip to store their configu-
`ration data, which saves the cost of an additional component
`and also saves real estate on the board.
`One noteworthy advantage of antifuse-based FPGAs is the
`fact that their interconnect structure is naturally “rad hard,”
`which means they are relatively immune to the effects of
`radiation. This is of particular interest in the case of military
`and aerospace applications because the state of a configura-
`tion cell in an SRAM-based component can be “flipped” if
`that cell is hit by radiation (of which there is a lot in space).
`By comparison, once an antifuse has been programmed, it
`cannot be altered in this way. Having said this, it should also
`be noted that any flip-flops in these devices remain sensitive
`to radiation, so chips intended for radiation-intensive envi-
`ronments must have their flip-flops protected by triple
`redundancy design. This refers to having three copies of each
`register and taking a majority vote (ideally all three registers
`will contain identical values, but if one has been “flipped”
`such that two registers say 0 and the third says 1, then the 0s
`have it, or vice versa if two registers say 1 and the third
`says 0).
`But perhaps the most significant advantage of antifuse-
`based FPGAs is that their configuration data is buried deep
`inside them. By default, it is possible for the device program-
`mer to read this data out because this is actually how the
`programmer works. As each antifuse is being processed, the
`device programmer keeps on testing it to determine when that
`element has been fully programmed; then it moves onto the
`next antifuse. Furthermore, the device programmer can be
`used to automatically verify that the configuration was per-
`formed successfully (this is well worth doing when you’re
`talking about devices containing 50 million plus programma-
`ble elements). In order to do this, the device programmer
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 20 of 72
`
`

`

`Alternative FPGA Architectures ■ 63
`
`requires the ability to read the actual states of the antifuses and
`compare them to the required states defined in the configura-
`tion file.
`Once the device has been programmed, however, it is pos-
`sible to set (grow) a special security antifuse that subsequently
`prevents any programming data (in the form of the presence or
`absence of antifuses) from being read out of the device. Even if
`the device is decapped (its top is removed), programmed and
`unprogrammed antifuses appear to be identical, and the fact
`that all of the antifuses are buried in the internal metallization
`layers makes it almost impossible to reverse-engineer the
`design.
`Vendors of antifuse-based FPGAs may also tout a couple of
`other advantages relating to power consumption and speed,
`but if you aren’t careful this can be a case of the quickness of
`the hand deceiving the eye. For example, they might tease you
`with the fact that an antifuse-based device consumes only 20
`percent (approximately) of the standby power of an equivalent
`SRAM-based component, that their operational power con-
`sumption is also significantly lower, and that their
`interconnect-related delays are smaller. Also, they might casu-
`ally mention that an antifuse is much smaller and thus
`occupies much less real estate on the chip than an equivalent
`SRAM cell (although they may neglect to mention that anti-
`fuse devices also require extra programming circuitry,
`including a large, hairy programming transistor for each anti-
`fuse). They will follow this by noting that when you have a
`device containing tens of millions of configuration elements,
`using antifuses means that the rest of the logic can be much
`closer together. This serves to reduce the interconnect delays,
`thereby making these devices faster than their SRAM cousins.
`And both of the above points would be true … if one were
`comparing two devices implemented at the same technology
`node. But therein lies the rub, because antifuse technology
`requires the use of around three additional process steps after
`the main manufacturing process has been qualified. For this
`(and related) reasons, antifuse devices are always at least
`
`It’s worth noting that
`when the MRAM tech-
`nologies introduced in
`Chapter 2 come to frui-
`tion, these may well
`change the FPGA
`landscape.
`
`This is because MRAM
`fuses would be much
`smaller than SRAM cells
`(thereby increasing com-
`ponent density and
`reducing track delays),
`and they would also con-
`sume much less power.
`
`Furthermore,
`MRAM-based devices
`could be prepro-
`grammed like
`antifuse-based devices
`(great for security) and
`reprogrammed like
`SRAM-based components
`(good for prototyping).
`
`This book belongs to Lee Bernstein (rachel.girts@haynesboone.com)
`
`Copyright Elsevier 2023
`
`Ex. 1028
`CISCO SYSTEMS, INC. / Page 21 of 72
`
`

`

`64 ■ The Design Warrior's Guide to FPGAs
`
`1821: England.
`Michael Faraday invents
`the first electric motor.
`
`one—and usually several—generations (technology nodes)
`behind SRAM-based components, which effectively wipes out
`any speed or power consumption advantages that might other-
`wise be of interest.
`Of course, the main disadvantage associated with
`antifuse-based devices is that they are OTP, so once you’ve
`programmed one of these little scallywags, its function is set in
`stone. This makes these components a poor choice for use in a
`development or prototyping environment.
`
`EPROM-based devices
`This section is short and sweet because no one currently
`makes—or has plans to make—EPROM-based FPGAs.
`
`E2PROM/FLASH-based devices
`E2PROM- or FLASH-based FPGAs are similar to their
`SRAM counterparts in that their configuration cells are con-
`nected together in a long shift-register-style chain. These
`devices can be configured off-line using a device programmer.
`Alternatively, some versions are in-system programmable, or
`ISP, but their programming time is about three times that of
`an SRAM-based component.
`Once programmed, the data they contain is nonvolatile,
`so these devices would be “inst

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