doc

advertisement
Eleazar Kenyon
ECE 4007 L04 – Dr. William Hunt
Kaoss Komposers
January 27, 2010
FPGA’s as Microcontrollers, DSP’s, and CPU’s for Prototyping and Low Volume
Applications
Introduction
For prototype or other small scale signal processing, computation, or automation systems, a reliable,
quick, and inexpensive means is needed for providing the computational power needed for such
applications. Invented by Ross Freeman in 1984[1], the field programmable gate array (FPGA) is
currently the dominant technology for such applications more than 25 years after its invention, providing
excellent flexibility and programmability at reasonable costs. For large scale production applications,
application specific integrated circuits still dominate, thanks to their lower power consumption and
greater space efficiency.
However, for developmental, educational, testing, and prototype designs,
FPGA’s remain the programmable logic device of choice. Although the basic concept has remained
roughly the same since its inception, new fabrication methods and technology are enabling integration of
analog and digital peripheral systems and external memory with a traditional FPGA on a single silicon
die.
Commercial Applications
Field programmable gate arrays are used for a vast number of applications such as digital signal
processing, prototyping of applications specific integrated circuits, medical imaging, computer vision, and
software-defined radio, to name a few. The high degree of parallel processing allowed by an FPGA also
allows for high speed numerical processing. One such application that has received much attention in
recent years is the use of an FPGA to perform high speed Fast Fourier Transform signal analysis [2]. As
discussed in [3], there are methods available for using an FPGA to create a tunable FFT algorithm to be
used in conjunction with a software defined radio system. FPGA’s are also widely used for testing and
evaluation boards, which can be used to measure and evaluate the reliability or precision of manufactured
parts, with the FPGA processing core allowing users to reprogram the board to evaluate different types
and models of manufactured discrete and integrated circuits.
Underlying Technology
FPGA integrated circuits are digital in nature and physically constructed using CMOS fabrication
processes similar to those used to fabricate the ubiquitous microprocessor.
Like microprocessor
technology, FPGA technology has also followed the rapid scaling and increases in device density seen by
microprocessors. Xilinx, the industry leader in FPGA sales, recently released their latest product line, the
Virtex 6, which was fabricated using “a 40 nm state-of-the-art copper process technology” [4]. The
digital circuits fabricated on the wafer are primarily SRAM cells, which, when programmed, form
memory banks that replicate Boolean logic functions such as those found on a microprocessor. Because
of this SRAM architecture, FPGA’s are much less space and power efficient than a microprocessor or
ASIC designed to perform the same function; however, the inherent flexibility and ability to quickly
program and reprogram FPGA’s give them a distinct advantage and are the product of choice for many
companies and individuals without the resources to produce an ASIC. Recently there have also been
efforts to integrate the programmability of an FPGA with other digital and even analog functionality.
These “Programmable Systems on a Chip” (SoPC) are being pushed for use in applications previously
reserved for ASIC’s. According to Hamblen & Hall, “flexible, reconfigurable logic present in a SoPC
device a single printed circuit board can be designed for use in multiple product lines and in multiple
generations/versions of a single product,” offsetting the higher physical manufacturing cost of FPGA
chips [5]. The development of high speed I/O banks, embedded memories and even processors, and predesigned circuit blocks (patented and sold as intellectual property) that designers can purchase and
integrate into their system have also contributed to the FPGA’s eclipse of the ASIC for many applications
[6].
Building Blocks & Implementation
An FPGA consists of the previously described SRAM cells, as well as a non-volatile memory element
needed to store program information when power is removed from the system. These non-volatile
memories allow the user to store their programs, which can then be loaded when the device is powered up
(the device also requires a DC power source). Additionally, programming the FPGA requires compilation
software that converts a hardware definition language into a functional circuit netlist. This software is
available from the FPGA manufacturer, often for free.
Conclusion
For rapid prototyping or low volume manufacturing, FPGA’s and their hybrid SoPC applications are the
most suitable products for signal processing and computational applications. Currently, devices are
available that can support the high speed data processing as well as the large numbers of I/O buses needed
for complex microcontroller or microprocessor applications. The Xilinx Virtex-6 family, for example,
can support up to 600 MHz clock speeds for some DSP applications as well as up to 1200 I/O pins,
providing powerful processing capabilities and flexibility at costs comparable to those of more
specialized chips.
References
[1] Xilinx Inc., “Company History,” [Online]. Available: http://www.xilinx.com/company/history.htm
[Accessed Jan. 24, 2010].
[2] S. Guoliang; Q. Huang; L. Zhu, “A Fast Acquisition Algorithm Based on FFT for DSSS Signal and
FPGA Realization,” WRI International Conference Communications and Mobile Computing, Vol. 1, No.
6, pp. 341 – 344, Jan. 2009.
[3] H. Shekhar, C.B.Mahto, N.Vasudevan, Tiruvallur, “FPGA Implementation of Tunable FFT for SDR
Receiver,” IJCSNS International Journal of Computer Science and Network Security, Vol.9, No.5,
pp.186-195, May 2009.
[4] Xilinx Inc., “Virtex-6 Family Overview,” Data Sheet 150 (v2.1), November 6, 2009.
[5] J. O. Hamblen & T. S. Hall, “Using System-on-a-Programmable-Chip Technology to Design
Embedded Systems” IJCA, Vol. 13, No. 3, pp. 1-11, Sept. 2006
[6] Dave Bursky, “FPGA Advances Pave The Way Toward True SoC Solutions,” para. 1, January 12,
2006. [Online], Available: http://electronicdesign.com/content.aspx?topic=fpga-advances-pave-the-waytoward-true-soc-solutio&page=1&catpath=digital. [Accessed Jan. 24, 2010].
Download