Sunteți pe pagina 1din 13

Contents

Contents........................................................................................................... 1 1. INTRODUCTION.............................................................................................2 1.1 HISTORICAL BACKGROUND......................................................................2 2. TYPES OF FPGA.............................................................................................3 3. SYTSTEM DESIGN IN FPGA............................................................................4 4. COMPARISION WITH OTHER PROGRAMMABLE DEVICES...............................5 I. FPGAs vs. CPLDs.........................................................................................5 II. FPGAS VS ASICS .......................................................................................6 III. FPGA VS MICROPROCESSOR.....................................................................9 5. APPLICATIONS...............................................................................................9 A. Logic Replacement..................................................................................10 B. Reconfigurable Computing......................................................................10 C. True parallel execution ..........................................................................11 6. FPGA IN FUTURE DIGITAL WORLD...............................................................12 7.Why FPGA in KEC?......................................................................................12

1. INTRODUCTION
Field Programmable Gate Array (FPGA) is a semiconductor device that can be programmed to realize basic logic functions like AND, XOR etc or some complex combinational and sequential functions. It consists of a matrix of reconfigurable gate array logic circuitry. When a FPGA is configured, the internal circuitry is connected in a way that creates a hardware implementation of the software application. Unlike processors, FPGAs use dedicated hardware for processing logic and do not have an operating system. FPGAs are truly parallel in nature so different processing operations do not have to compete for the same resources. As a result, the performance of one part of the application is not affected when additional processing is added. Also, multiple control loops can run on a single FPGA device at different rates. FPGA-based systems can enforce critical interlock logic and can be designed to prevent I/O forcing by an operator. However, unlike hardwired printed circuit board (PCB) designs which have fixed hardware resources, FPGA-based systems can literally rewire their internal circuitry to allow reconfiguration after the system is deployed to the field. FPGA devices deliver the performance and reliability of dedicated hardware circuitry. A single FPGA can replace thousands of discrete components by incorporating millions of logic gates in a single integrated circuit (IC) chip. FPGA technology provides the reliability of dedicated hardware circuitry, true parallel execution and lightning fast closed loop control performance.

1.1 HISTORICAL BACKGROUND


The historical roots of FPGAs are in complex programmable logic devices (CPLDs) of the early to mid 1980s. A Xilinx co-founder invented the field programmable gate array in 1984. CPLDs and FPGAs include a relatively large number of programmable logic elements. CPLD logic gate densities
2

range from the equivalent of several thousand to tens of thousands of logic gates, while FPGAs typically range from tens of thousands to several million. The popularity of FPGAs and CPLDs over other programmable logic devices like Programmable Logic Array (PLA) and Programmable Array Logic (PAL) is because of the size of complex functions that can be put in single FPGA. With the complexity of digital systems, PALs and PLAs become too small to satisfy the designers needs.

2. TYPES OF FPGA
Based on different process technologies, FPGA may be of following types: i). SRAM: This is based on static memory technology. SRAM-based FPGAs are the most popular FPGAs in present world market. The design is relatively simple; it is In-system programmable and re-programmable. Its major disadvantage is that it requires external boot devices and it has to be reconfigured each time power is turned on. ii). Antifuse: Antifuse refers to a programmable chip technology that creates permanent, conductive paths between transistors. In contrast to "blowing fuses" in the fusible link method, which opens a circuit by breaking apart a conductive path, the antifuse method closes the circuit by "growing" a conductive path. Two metal layers sandwich a layer of nonconductive, amorphous silicon. When voltage is applied to this middle layer, the amorphous silicon is turned into polysilicon, which is conductive. This is one time programmable technology but retains configuration after power off.

iii). EPROM: Erasable Programmable Read-Only Memory technology. Usually, they are one-time programmable in production because of plastic packaging. Windowed devices can be erased with ultraviolet (UV) light. iv). EEPROM: Electrically Erasable Programmable Read-Only Memory technology. They can be erased, even in plastic packages. Some, but not all, EEPROM devices can be in-system programmed. vi). Flash: This type of FPGAs are based on Flash-erase EPROM

technology. They can be erased, even in plastic packages. Some, but not all, flash devices can be in-system programmed. Usually, a flash cell is smaller than an equivalent EEPROM cell and is therefore less expensive to manufacture.

3. SYTSTEM DESIGN IN FPGA


First of all any digital system must be visualized and the digital hardware of that system can be worked out. Then the hardware can be described in hardware description language (HDL) or a schematic design. Common HDLs are VHDL and Verilog. Then, using an electronic design automation tool, a technology-mapped netlist is generated. The netlist can then be fitted to the actual FPGA architecture using a process called place-and-route, usually performed by the FPGA Companys proprietary place-and-route software. The user will validate the map, place and route results via timing analysis, simulation, and other verification methodologies. Once the design and validation process is complete, the binary file generated (also using the FPGA company's proprietary software) is used to (re)configure the FPGA. In an attempt to reduce the complexity of designing in HDLs, which have been compared to the equivalent of assembly languages, there are moves to raise the abstraction level of the design. Companies such as Cadence,
4

Synopsys and Celoxica are promoting SystemC as a way to combine high level languages with concurrency models to allow faster design cycles for FPGAs than is possible using traditional HDLs.

4. COMPARISION WITH OTHER PROGRAMMABLE DEVICES


I. FPGAs vs. CPLDs
The primary differences between CPLDs and FPGAs are architectural. A CPLD has a somewhat restrictive structure consisting of one or more programmable sum-of-products logic arrays feeding a relatively small number of clocked registers. The result of this is less flexibility, with the advantage of more predictable timing delays and a higher logic-tointerconnect ratio. The FPGA architectures, on the other hand, are dominated by interconnect. This makes them far more flexible (in terms of the range of designs that are practical for implementation within them) but also far more complex to design for.

FPGAs are "fine-grain" devices. That means that they contain a lot (up to 100000) of tiny blocks of logic with flip-flops. CPLDs are "coarsegrain" devices. They contain relatively few (a few 100's max) large blocks of logic with flip-flops.

Mostly FPGAs are RAM based. They need to be "downloaded" (configured) at each power-up. CPLDs are EEPROM based. They are active at power-up (i.e. as long as they've been programmed at least once...).

CPLDs have a faster input-to-output timings than FPGAs (because of their coarse-grain architecture, one block of logic can hold a big equation), so are better suited for microprocessor decoding logic for example than FPGAs.

FPGAs have special routing resources to implement efficiently binary counters and arithmetic functions (adders, comparators...) and RAM. CPLDs do not.

FPGAs can contain very large digital designs, while CPLDs can contain small designs only.

Some FPGAs have the capability of partial re-configuration that lets one portion of the device be re-programmed while other portions continue running.

II. FPGAS VS ASICS


Compared with ASICs, FPGAs offer very low non recurrent engineering (NRE) costs. This is often a more important factor than the fact that FPGAs have higher units costs and applications like in robotics normally do not have the very high volumes required to make ASICs a cheaper proposition. As integrated circuit feature sizes continue to decrease, the NRE costs associated with ASICs continue to escalate, making the volume at which it becomes cheaper to use an ASIC much higher (see Figure 6). FPGAs will be used in increasingly more applications, ASICs only being cost effective for the highest performance or highest volume applications. Additional benefits of FPGAs are that its technology provides a shorter time to market than ASICs since the associated fabrication time is essentially zero, making many fabrication iterations within a
6

single day possible. This allows more advanced algorithms to be deployed and makes possible problem-specific customizations of designs. FPGA based designs are inherently less risky in terms of technical feasibility and cost since shorter design times and lower upfront costs are involved.

Figure 1 : Cost of technology vs. Production

COST

90nm / 300mm ASICs

150nm / 200mm ASICs

150nm / 200mm FPGAs

90nm / 300mm FPGAs

Production Volume

III. FPGA VS MICROPROCESSOR


Microprocessors offer an easy to use, powerful and flexible implementation medium for digital systems. Their utility in embedded applications makes them an overwhelming first choice for embedded systems since they come in a wide variety of models which can cater to different cost and performance requirements. Moreover, it is relatively easy to find software developers and they are widely supported by development systems, compilers, debuggers, libraries and operating systems. Unfortunately, their generality does not make them the best choice for a large class of applications which need to be optimized for performance, power or board space. FPGAs are able to arrange computations in a spatial rather than temporal fashion and greater levels of parallelism than a microprocessor can be achieved. The absence of caches and instruction decoding can result in the same amount of work being done with less chip area and lower power consumption.

5. APPLICATIONS
Traditionally, FPGAs were widely used for prototyping an ASIC before the chips were designed. Today, the densities and speed of FPGAs are such that they began to take over larger and larger functions to the state where some are now marketed as full systems on chips (SOC). Applications of FPGAs include digital signal processor DSP, software-defined radio, aerospace and defense systems, ASIC prototyping, medical imaging, computer vision, speech recognition, cryptography, bioinformatics, computer hardware
9

emulation and a growing range of other areas. The overall applications can be categorized as

A. Logic Replacement
FPGAs were firstly used as logic replacement devices, having the benefit of being able to replace a number of small and medium scale integration devices. Another benefit comes from being able to reprogram the devices, so design changes and bug fixes can be made by changing the bit stream without modifying the printed circuit board. An example of this type of application might be to interface peripheral devices to a microprocessor system, the required address decoders, memory controllers, bus interfaces and motor controllers being implemented in a single FPGA. With modern devices, large amounts of logic can be incorporated on a single device, resulting in large savings in time to market, footprint and power consumption. Furthermore, board complexity is greatly reduced through tighter integration. FPGAs are also commonly used to prototype ASICs.

B. Reconfigurable Computing
Since FPGAs are general purpose logic devices, they can be used to develop high performance implementations of computational tasks. A direct implementation of an algorithm in hardware can achieve higher levels of parallelism than a microprocessor based design, and are often several orders of magnitude faster use less area and have lower power consumption. One other defining feature of FPGAs is the ability to reconfigure the device in the field or even at runtime. Field programmability allows hardware designs to be modified by downloading a bit stream, and the bit stream itself can be delivered via many different means including the internet or a telemetry system. Runtime reconfigurability is a feature which perhaps has not yet been exploited to its full potential and opens the way for customized
10

hardware subsystems to be generated and downloaded to the FPGA only when needed. In the future, this may allow for systems which use the FPGAs logic in a manner similar to virtual memory and where portions of the design are downloaded to the device on a demand-based fashion. This would allow much smaller devices to be used, resulting in cost and power savings while at the same time freeing designers from logic limitations of the device.

C. True parallel execution


FPGA provides the true parallel execution. So it is natural that it especially finds applications in any area or algorithm that can make use of the massive parallelism offered by its architecture. One such area is code breaking, in particular brute-force attack, of cryptographic algorithms. The inherent parallelism of the logic resources on the FPGA allows for considerable compute throughput even at a sub-500 MHz clock rate. For example, the current (2007) generation of FPGAs can implement around 100 single precision floating point units, all of which can compute a result every single clock cycle. The flexibility of the FPGA allows for even higher performance by trading off precision and range in the number format for an increased number of parallel arithmetic units. This has driven a new type of processing called reconfigurable computing, where time intensive tasks are offloaded from software to FPGAs. The adoption of FPGAs in high performance computing is currently limited by the complexity of FPGA design compared to conventional software and the extremely long turn-around times of current design tools, where 4-8 hours wait is necessary after even minor changes to the source code.

11

6. FPGA IN FUTURE DIGITAL WORLD


FPGA technology has gained immense popularity and widespread application in modern digital world. This trend seems to ever increase with the advances in silicon technology, reduction of chip size and power consumption. The inherent parallelism associated with FPGAs means it will find its way in applications where speed and parallel operations are important. Its rising use in the field of robotics, embedded systems, communication systems, imaging technology, space technology etc indicates it can expand its market in digital world finding newer application areas. The amount of logic that can be implemented in FPGAs have increased to such a amount that even processors can be implemented in FPGAs along with other hardware to give a complete system on a single chip. These processors (called as soft-core processors) like Microblaze of Xilinx, can be described with hardware description languages, introducing new era of processor design and its implementation in FPGAs. The development of the languages like SystemC, Handel-C shows growing interest of software people in working on FPGA based system where hardware people used to work with languages like VHDL and Verilog. The University program of Xilinx, the largest FPGA manufacturing company, manifests the growing demand of FPGA based system experts in industries. With the present scenario, FPGAs are certain to find newer application field and there importance will grow such that in near future one may not be able to imagine a digital world without FPGAs.

7.Why FPGA in KEC?


We believe that being an electronics engineer; we must be able to cope with the present technological advancement. This is only possible if we are provided an opportunity to use the latest learning material. FPGA is the
12

modern world electronics development tool that enables us not only to design but to realize the modern design need. If we are provided with FPGA then our primary goals will be design of the system based on: - RFID technology - Image processing -Voice recognition - Touch system design Moreover after the successful completion of those projects we move forward to the complex designs using FPGA which will help us in the overall development of understanding the technology. Though we are the students of KEC (Affiliated to TU) we believe we are global competitors among all electronics engineers. What KEC will provide us will determine how we present ourselves to the future world. So our proposal is not only for FPGA boards that we can see but for the FPGA boards through which any interested student can practice their design.

13

S-ar putea să vă placă și