1.1   THE FPGA PARADIGM

Since the beginning of digital electronics, engineers have sought to design circuits that do useful work on data. To achieve this goal circuits were composed from three key elements:

  • Data operators: Gates that implement useful functions by transforming input states to output states.
  • Storage elements: Latches, flip-flops, that save state, store operands, and so forth.
  • Wires: Point-to-point wires, busses, that communicate values between and among storage elements and data operators.

Indeed, the history of semiconductors can be viewed as the delivery of these simple resources in various conceptual and/or physical packages. Whole industries have evolved around the delivery of a single one of these resources, for example, dynamic random-access memory (DRAM) businesses supplying the components of primary memory to computer manufacturers and the application-specific integrated-circuit (ASIC) vendors, supplying logic resources in the form of gate arrays to systems businesses.

In earlier times, engineers had direct access to these three resources and were able to breadboard systems from gates and flip-flops, or convenient aggregations of them, on simple printed circuit boards (PCBs), by directly wiring them together. However, when integrated circuits evolved, the engineer lost direct access to these resources and was required to use encapsulations of them in logic families [TTL88]. More recently the engineer regained intimate access to the resources with the commercial availability of parts in which functions and wires could be “programmed” during manufacture, that is, as application-specific integrated circuits, albeit at a high cost and long lead time.

It is a truism that an electronic engineer works in an environment defined by progress in components, which in turn evolve from progress in base technologies and manufacturing processes. Progress, however, can be viewed as driven by two forces [Bell78]: technology push, improvements in manufacturing, inventions, and so forth, and market pull, the quantifiable need for specific products. These forces both act on an engineer and delineate a space for creative activity in systems building. Technology push has driven component density increases in semiconductors and given rise to well-known standard part catalogs. Market pull, on the other hand, has defined specific functionalities and shortened product development cycles, raising the need for nonstandard, or application-specific parts. In this sense the two forces act on opposition, forcing engineers to choose between standard parts or application-specific parts in systems design.

In very recent times, field-programmable gate arrays (FPGAs) have evolved. These components deliver the three elementary resources: storage, logic, and wires in a standard part that can be programmed, at time of use, to make an application-specific circuit. FPGAs thus resolve the conflict between standard parts and ASICs and provide the engineer with intimate and immediate access to all resources for systems building. In this sense they are a fundamental innovation in electronics. A summary of these systems building choices would be:

  • Standard part solution: Delivers supplier-defined functionality at low cost.
  • ASIC solution: Delivers user-defined functionality at high cost.
  • FPGA solution: Delivers user-defined functionality at low cost.

Conceptually a reprogrammable FPGA is a very simple structure as shown in Figure 1–1. It has a control store in the form of static RAM (SRAM). Function units and wires are programmed by writing to the control store, to set up specific gates, storage elements, and interconnect paths. FPGA families are differentiated by their chip-level architecture, by the granularity of the function unit and intra- and interchip wiring organization. The simplest paradigm for FPGA use is a (silicon) “sand box” in which systems structures can be built in the time it takes to write to a RAM, and with complexity levels defined by the chip architecture. Because actual circuits are defined by the contents of a volatile SRAM control store, FPGAs address applications in new ways:

Image

Figure 1–1. Conceptual structure of FPGAs.

Instantaneous implementation as memory-wiring times are usually short, designs can effectively be implemented “instantaneously.” This is in sharp distinction to conventional VLSI design where there are usually many weeks from design to manufacture. This feature also creates an opportunity for new methodologies to emerge in design.

Dynamic reconfiguration with some architectures part of the FPGA can be reprogrammed at run-time, that is, in the application situation. Therefore, chip resources can be reused for different functions as time progresses. Circuits could, in principle, even be self-modifying.

Design security: An FPGA’s configuration disappears when the chip is powered down. There is a range of applications where this additional level of design security is important.

Field programmability systems built around FPGAs can be upgraded in the field, either by an operator or by telemetry, to correct bugs, recover from damage, or add new functionality.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.149.255.162