throbber
The availability of programmable logic devices based on static memory cells allows the implementation
`
`of ‘soft" hardware - that is. logic devices whose functions can be changed while they remain resident in
`
`system. A growing number of SRAM-based Field Programmable Gate Array (FPGA) users are taking
`
`advantage of this capability. In general, these applications of reconfigurable logic fall into three
`
`categories: System with built-in diagnostic or test logic. “adaptable” system designs, and systems with
`
`“multi-purpose" hardware
`
`Published in:
`
`ASIC Conference and Exhibit, 1994. Proceedings., Seventh Annual IEEE International
`
`Date of Conference: 19—23 Sep 1994
`
`Page(s):
`227 - 230
`
`Meetlng Date:
`19 Sep 1994-23 Sep 1994
`
`Print ISBN:
`0-7803-2020—4
`
`INSPEC Acceeslon Number:
`4998160
`
`Conference Location :
`Rochester. NY
`
`Dlgltal Object Identlfler:
`10.1109/ASIC.1994.404570
`
`1
`
`SYNOP SYS 1015, Synopsys V. Mentor, IPR2012-00042
`
`1
`
`SYNOPSYS 1015, Synopsys v. Mentor, IPR2012-00042
`
`

`

`TAKING ADVANTAGE OF RECONFIGURABLE LOGIC
`Bradly K. Fawcett
`
`Xilinx Inc.
`2100 Logic Drive
`San Jose. CA, USA 95124
`
`-
`The availability of programmable
`Abstract
`logic devices based on static memory cells allows
`- that
`implementation of "soft" hardware
`the
`is,
`logic devices whose
`functions can be changed
`target system.
`while they remain resident
`in
`the
`growing
`number
`of
`SRAM-based Field
`A
`Programmable Gate Array (FPGA) users are taking
`advantage of
`this capability.
`In general,
`these
`applications of
`reconfigurable
`logic
`fall
`into
`three
`categories:
`systems with
`built-in
`diagnostic
`or
`test
`logic, "adaptable"
`system
`designs , and
`'I m u I t i -purpose I'
`systems with
`hardware.
`
`In trod uction
`
`Combining the density and flexibility of gate arrays
`with the ease-of-use and convenience of a user-
`programmable device, Field Programmable Gate Arrays
`(FF'GAs) have proven to be a cost-effective alternative to
`standard SSI/MSI devices or custom VLSI components in
`thousands of system designs. However, the capabilities of
`static-memory-based FPGAs extend well beyond the direct
`replacement of other types of logic devices. In SRAM-
`based FPGAs, the state of internal static memory cells
`determines the logic functions and interconnections within
`the FPGA device. By downloading different configuration
`programs into the memory cells, the device's functions can
`be changed at will while the FPGA is resident in the target
`system. These devices can be programmed and
`reprogrammed an unlimited number of times. Thus,
`systems with FPGAs can contain "soft hardware" - that is,
`hardware whose functions can be changed easily during
`normal system operation. Innovative designers are taking
`advantage of this unique "in-system reconfigurability" in a
`wide variety of applications. In general, these applications
`of reconfigurable logic fall into three categories: systems
`with built-in diagnostic or test logic, "adaptable" system
`designs, and systems with "multi-purpose" hardware.
`
`The Mechanics of Reconfirrurability
`
`these FPGAs, logic functions and interconnections are
`determined by configuration program data stored in internal
`static memory cells. In Xilinx devices, for example, a
`single-ended five transistor memory cell is used to
`minimize memory area. Rather than the traditional array
`structure, the memory cells are distributed throughout the
`device; each cell is placed as close as possible to the logic
`it controls, resulting in maximum layout efficiency. The
`benefits of an SRAM-based FPGA include high density,
`high performance, testability, manufacturability, and the
`flexibility inherent to a device that can be programmed
`while resident in the system.
`Since the devices are static memory-based, a
`configuration program must be loaded into each FPGA
`when the system is powered-up. Thus, the configuration
`program (or programs) must reside in the system extemal to
`the FPGAs (for example, in EPROMs or on a disk).
`Xilinx FPGA devices feature several available loading
`modes to accommodate various system requirements.
`Automatic modes use on-chip control logic to load the
`FPGA directly from an extemal memory device (typically
`an EPROM). With the peripheral loading modes,
`configuration programs are written to the FPGA under the
`control of an extemal processor or DMA device, just like
`any other peripheral device. Both 8-bit parallel and serial
`loading formats are available for both modes.
`Just as these devices are initially configured during
`system initialization, they can be re-configured at any time
`during system operation. For example, a reconfiguration of
`a Xilinx FPGA is triggered by a high-to-low transition on
`the dedicated PROGRAM input. All configuration
`memorycells are cleared and a complete configuration
`program is loaded each time the device is configured.
`Configuration loading time usually is not a performance
`issue, since it has no impact once the configuration
`memory has been programmed. Nonetheless, configura-
`
`Table 1: Configuration program size and time for selected FPGAs
`(serial peripheral mode, maximum configuration clock rate)
`__________......____-----.~-------...----------...------.-...--------.----------
`Program Size
`Configuration
`Configuration
`Time
`Clock Speed
`(Data Bits)
`
`Device
`
`FPGAs based on static memory (SRAM) technology are
`available from several manufacturers, including Xilinx,
`AT&T Microelectronics, Altera, Atmel, and Motorola. The
`architectural
`implementation varies among
`the
`manufacturers, but the basic concepts are the same. In
`
`XC3020
`XC3042
`XC3090
`XC4002A
`XC4006
`XC4013
`
`14.819
`30.824
`64.200
`37,784
`119,832
`247,960
`
`10 MHz
`10 MHz
`10 MHz
`8 MHz
`8 MHz
`8 MHz
`
`2 ms
`4 ms
`8 ms
`6 ms
`17 ms
`34 ms
`
`0-7803-2020-4194 $4.00 0 IEEE
`
`227
`
`2
`
`SYNOPSYS 1015, Synopsys v. Mentor, IPR2012-00042
`
`

`

`tion times are short - typically just a few milliseconds.
`Table 1 shows configuration program sizes and times for a
`sampling of Xilinx FPGA devices. There is no limit to the
`number of times an SRAM-based FPGA can be
`programmed.
`The design-related benefits of SRAM-based
`programmable logic are somewhat obvious. The ability to
`reconfigure FPGAs resident
`in the target system
`significantly eases the debugging process, reducing overall
`development time and cost, and shortening the product's
`time-to-market. Temporary modifications to the logic,
`such as routing an internal node to an unused I/O pad, can
`be implemented for debugging purposes and then removed
`from the production design. Typically. small design
`changes can be implemented in a few minutes time, with
`the designer receiving almost immediate feedback on the
`effects of the design modifications.
`In essence, SRAM-
`based FPGAs provide a flexible means of 'breadboarding'
`logic designs, as well as a cost-effective means of
`implementing logic in the final product.
`However, the benefits of the reconfigurable nature of
`SRAM-based FPGAs can extend beyond the debugging
`stage and influence the nature of the final product itself.
`Systems can include multiple configuration programs for
`their FPGAs, allowing varying operations to be performed
`efficiently with a minimal amount of hardware.
`Reconfigurable logic has been used to implement system
`diagnostics, to create systems that are adaptable for different
`environments or operations, and to implement 'multi-
`purpose' hardware in a system. The result is smaller, more
`powerful. less expensive, and more reliable system designs.
`
`Rgonfi ggring for System Diagnostics
`
`Built-in diagnostic and test logic assists the designer
`during initial system debug, increases the confidence level
`of the system's users, and aids in field maintenance
`operations. However, using traditional logic technologies,
`the additional
`logic needed to implement diagnostic
`operations can significantly increase the system's size,
`complexity, and cost.
`the
`Reprogrammable SRAM-based FPGAs offer
`designer an economical means to implement test logic
`without adding to the hardware content of the system. The
`same FPGAs that implement the system's logic can be
`reconfigured while in the system to hold diagnostic logic to
`test that system. When the system is powered-up or placed
`in a test mode, its FPGAs are configured with logic
`functions dedicated to testing other circuitry in the system.
`For example, a configuration dedicated to implementing a
`boundary scan test of the board assembly could be loaded
`into the system's FPGAs [1].
`(Boundary scan test logic is
`built into the XC4000 family of FPGAs, but would need to
`be implemented as a separate configuration of an XC2000
`or XC3000 family device.) Once the testing is successfully
`completed, other configuration programs are loaded into the
`FPGAs to implement the actual logic of the particular end
`application intended for that system. The diagnostic test
`
`logic is essentially 'cost-free‘, except for the additional
`memory space required for the extra FPGA configuration
`programs. This strategy has been employed to include
`diagnostic logic in applications such as computer
`peripherals, telecommunication multiplexers, industrial
`controllers, medical equipment, and integrated circuit device
`testers [2 - 5].
`
`A
`
`m
`
`in
`
`Another common use of reconfigurable logic is the
`implementation of a single hardware design that can be
`adapted for varying tasks or environments.
`In such
`systems, any of a number of potential configuration
`programs can be downloaded into the system's FPGAs to
`alter the logic for particular applications or operations as
`needed. Hence, more functionality is implemented with
`fewer components, hardware design costs can be amortized
`over a greater number of systems, and design cycle times
`are greatly reduced.
`TDX Peripherals Inc. (Hauppauge, NY) took advantage
`of 'adaptable hardware“ in the design of a PC-compatible
`controller card in the TDX SO/GCR 9-track, 1/2-inch tape
`drive. Four different data densities commonly are used for
`9-track tapes, ranging from 800 to 6250 bits per inch (bpi).
`Each density level has a different data encoding scheme,
`with the complexity of the encoding algorithm increasing
`with higher density.
`TDX's former systems required a
`different controller card design for each. By employing
`seven FPGA devices, including four XC3000 series and
`three XC2000 series parts, a single PC card capable of
`handling several different densities and formats was
`developed. Customers can select the desired format from a
`menu on the PC's terminal:
`this selection triggers the
`downloading of the appropriate configuration programs and
`software device driver. All seven FPGAs are downloaded in
`parallel from the PC's disk under control of the processor,
`and constitute over 70% of the logic in the system.
`Initial
`shipments of the system supported the 1600 and 6250 bpi
`formats. The lesser-used 3200 and 800 bpi formats were
`added later through the development of new FPGA
`configuration programs, and previous customers' systems
`were updated via floppy disk.
`Such 'adaptable system' design has been particularly
`popular
`among
`test
`equipment manufacturers;
`reconfigurable FPGAs can be used to adapt the same
`hardware to perform varying types of tests. Dainippon
`Screen Manufacturing Co. (Kyoto, Japan) used SRAM—
`based FPGAs in a system that automates optical
`inspections of the metal pattern on printed circuit boards
`(Figure 1) [6]. Four XC2018 FPGAs are used, with each
`controlling the testing of one of four design rule checks:
`line width, clearance width, spurious copper size, and
`pinhole size. Image data from a CCD camera is loaded into
`the XC2018 devices, converted to a matrix format, and
`processed for defect correction. Defective block data is
`passed to the system's processor through a FIFO buffer.
`There are eleven levels of criteria for line and clearance
`
`228
`
`SYNOPSYS 1015, Synopsys V. Mentor, IPR2012-00042
`
`3
`
`SYNOPSYS 1015, Synopsys v. Mentor, IPR2012-00042
`
`

`

`t
`
`* Ellu -
`
`I . ' U
`
`width, and five levels of criteria for pinhole and spurious
`copper size. For any given inspection run, the operator
`chooses the appropriate inspection criteria based on the
`customer's requirements;
`the system's processor then
`downloads the appropriate FPGA configuration programs
`corresponding to the operator's selections.
`Taking the concept of adaptable hardware to the extreme,
`several vendors, including Quickturn Design Systems,
`Zycad, and Aptix, offer ASIC emulation systems based on
`Xilinx FPGAs. In these systems, multiple FPGAs can be
`used to emulate logic designs comprising tens of thousands
`of gates. These systems allow designers to test, debug, and
`verify ASIC designs rapidly. Such an emulation system
`was used during the design of the Intel Pentium
`microprocessor, trimming months from the development
`cycle.
`
`Multi-Purpose Hardware
`
`Some innovative designers have built systems where
`reconfiguration of the programmable logic is a normal part
`of the system's operation. This implies that the system has
`some "mutually-time-exclusive'' functions that can be
`swapped into and out of the FPGAs as needed. For
`example, at any given time, a tape recorder can read or
`write, but never both simultaneously. Consequently, an
`FPGA within a digital tape recorder could be configured to
`perform one set of functions when writing data (such as data
`encoding and e m r code generation), and then reprogrammed
`to perform another set of functions when reading data (such
`as data decoding and error detection and correction) [7].
`These types of "multi-purpose" hardware applications of
`SRAM-based FPGAs are especially cost-effective; at least
`
`twice the hardware would be required to implement the same
`functionality with traditional logic devices.
`For example, reconfigurable SRAM-based FPGAs were
`key to the design of a pivoting monitor from Radius Inc.
`(San Jose, CA), that can be used in either portrait or
`landscape orientation [8]. The monitor actually has six
`potential operating modes: 1, 2, and 4 bitdpixel for the
`various shades of gray in portrait mode, and 1, 2, and 4
`bits/pixel in landscape mode. The interface control
`circuitry, including pixel address translation, for any one
`mode fits in a single XC2018 FPGA. Thus, six
`potential configuration programs are available for the
`FPGA. A position sensitive switch senses when the
`monitor is rotated and generates an interrupt to the system
`software, which in turns triggers the automatic downloading
`of the appropriate FPGA configuration data. Similar
`schemes have been employed in applications ranging from
`missile guidance systems to printer controllers to
`microprocessor-based board testers [5,9,10].
`The long-term implications of "soft hardware" are
`staggering; reconfigurable FPGA technology already is
`shaping the future of computing. Several research
`laboratories have used Xilinx FPGAs to implement multi-
`purpose, high-speed coprocessors for accelerating operations
`in computer systems. These "reconfigurable computing
`engines" can provide performance exceeding supercomputers
`in some applications. For example, the SPLASH system,
`a linear logic array based on Xilinx FPGAs and designed by
`the Supercomputing Research Center, operates as a co-
`processor in a Sun workstation (Figure 2) [11,12].
`SPLASH'S first application was to implement a systolic
`algorithm for one-dimensional pattern matching during
`DNA rescarch, whcrc it outperformed a Cray-2 by a factor
`of 325 and ;I custom-built nMOS devicc by a factor of 45.
`
`229
`
`4
`
`SYNOPSYS 1015, Synopsys v. Mentor, IPR2012-00042
`
`

`

`Figure. 2: The SPLASH coprocessor board featurcs a linear array of FPGA and SRAM devices
`Through FPGA configuration, the SPLASH coprocessor
`during system operation. New system architectures that
`has also been used for other applications, such as text
`take advantage of reconfigurable logic will continue to
`emerge as FPGA performance and density levels continue to
`searches and image processing. FPGAs have been used to
`build similar "reconfigurable engines" with equally
`increase.
`impressive results at IBMs Almaden Research Center [13]
`and Digital Equipment's Paris Research Labs [ 141, among
`others. By providing the capability to dynamically alter a
`computer's hardware resources to address specific
`computational needs, reconfigurable FPGAs may someday
`bring the performance of supercomputers to desktop
`systems for specific applications.
`S ti mmary
`
`References
`
`.
`.
`1. New, B., "Boundary-Scan Emulator for XC3000". XAPP ADD^ cauons
`Handbook. Xilinx PN 0400810-01. OCI. 1992
`2. Fawcett, B.. "Taking Advantage of Reconfigurable Logic". Hgh
`Perform ance SvstemsP
`1989
`3. Smih, D., "User-Programmable Chips Take on a Broader Range of
`Applications". VLSI Svstems Desien. July 1988
`4. Reynolds, J., "Building Tomorrow's Disk Controller Today". Electron&
`Products. Dec. 15. 1987
`5. Hillen, K. and Fawcett. B., "Build Reconfigurable Peripheral
`Mar. 8, 1990
`Controllers". Electronic Desiet
`6. Kanai, T.. "FPGAs Aid PCB Inspection", ASIC & EDA, Jan. 1992
`7. Liehe. T.. "Two, Two, Two Chips in One", Electronic Eneineering
`b. Nov. 17,1986
`8. Tan-Nguyen. J.. Oyama. T. and Moss, N., "Pivoting Monitor Increases
`Rew 'ew. Fall 1990
`Versatility of Workstations". -v
`9. Kaiser, M.. "Flexible Programmable Logic Key to Tester Design".
`Proceedings of 1994 PLD Desim Conference. April, 1994
`10. Tallyn, K., "Reprogrammable Missile", M-D
`ac c
`Electronics. April. 1990
`11. Gokhale, M.. Holmes. W., Kopser, A., Lucas, S.. Minnich. R. and
`Sweely. D.. "Building and Using a Highly-Parallel Programmable Logic
`Array", Computer. Jan. 1991
`12. Amold, J.. Buell, D. and Davis, E., "Splash 2 . Proceedines of 4&
`h u a l ACM m s i u m on Parallel A-
`and Archite-
`1992
`13. Cox, C. and Blanz. W. E., "GANGLION - A Fast Hardware
`Implementation of a Connectionist Classifier", Proceedinm of the Custom
`u t e d CI 'rcuit Conf-
`1991
`14. Benin, P.. Doncin. D. and Vuillemin, J:, "Programmable Active
`Memories: a Performance Assessment". First Intemational ACWSIGD4
`Workshon on Field Proerammahle Gate Arravs. Feb. 1992
`
`Designer's are taking advantage of the reconfigurable
`nature of SRAM-based FPGAs in a wide variety of
`applications. However, these systems have a few
`characteristics in common. Each, obviously, has multiple
`FPGA configuration bitstreams available to the system in
`semiconductor or magnetic memory. Each has logic
`functions that do not need to exist simultaneously within
`the system. Each has a stimulus that tells the system when
`to change bitstreams, and enough 'intelligence' to select the
`correct bitstream at the appropriate time. The selection
`mechanism can be as simple as a switch. However, in
`most cases, a microprocessor or microcontroller controls
`the selection and downloading of FPGA bitstreams as part
`of its control operation.
`In summary, the advent of in-system programmable,
`SRAM-based FPGAs has freed the designer from the "hard"
`nature of traditional logic ICs. With these flexible devices,
`designers can build cost-effective diagnostic logic, create
`adaptable systems, and have logic dynamically reconfigured
`
`230
`
`5
`
`SYNOPSYS 1015, Synopsys v. Mentor, IPR2012-00042
`
`

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