Name: Robert Graham Project Advisor: Dr. Moore Section: RPY Group Name: Mach 1.5 Field Programmable Gate Arrays Introduction Field programmable gate arrays (FPGAs) are made to be configured by the designer or user, thus they are used for large amounts of applications today, ranging from digital signal processing to defense system integration. Reconfiguration, cost, and power consumption are the key factors that cause many designers to use FPGAs, as they are ideal in small system configurations. This technical review paper will describe a few of the commercial applications of FPGAs, explain the underlying technology of FPGAs and how they work, as well as how the technology is implemented. Commercial Applications of FPGAs Pinnacle Systems Pinnacle Systems developed the Studio MovieBox Deluxe, which is a USB 2.0 video capture device. The Studio MovieBox Deluxe utilizes an Altera Cyclone FPGA, and enables multiple video formats from analog and digital sources to be imported in conjunction with Pinnacle Systems’ Studio 9 video editing software. The Studio MovieBox Deluxe allows users to capture video through interfaces, such as FireWire, that may not be on their personal computer. The integrated FPGA manages all the interactions between the ASSPs (Application Specific Standard Product) also included in the device, such as the USB 2.0 interface and Analog Video Encoder [3]. Texas Instruments Opal Kelly’s XEM3010-1500P FPGA module is a major component in Texas Instruments’ ADS1675 Analog to Digital Converter [7]. Using advanced delta-sigma architecture, it operates up to 4MSPS and has great AC performance and DC accuracy. The integrated FPGA allows the user to run the device in either serialized LVDS or standard CMOS modes [5]. The device consists of a two-board solution: one printed circuit board (PCB), as well as the integrated FPGA. The synchronous DRAM chip controller on the FPGA has preloaded code, which allows post-data processing. The product retails for $399. Underlying Technology of FPGAs Field-Programmable Gate Arrays consist of an array of logic blocks (CLB), I/O pads, and routing channels [1]. The logic blocks consist of a 4-input look-up table (LUT), and a flip flop. The logic block contains one output, four inputs, and a clock input [2]. Routing is unsegmented, with a wiring segment spanning only one logic block before terminating in a switch box. Whenever vertical or horizontal channels intersect, there is a switch box. There are three programmable switches that allow an entering wire to connect to three other wires in adjacent channel segments [2]. FPGAs in general provide a large pool of resources that can be configured. Some of the most relevant resources used today include the aforementioned Lookup Tables (LUTs), Block RAM (BRAM), and 18-bit Multipliers [6]. Registers and BRAM provide on-chip memory; multiplexers contain implementations of functionality directly in silicon [6]. Effective resource management is the key in quality FPGAs. Implementation of FPGAs User-created software designs the function of an FPGA. This process begins with a user created Hardware Description Language (HDL) code or a schematic design. VHSIC Hardware Description Language (VHDL) and Verilog are the two most common HDLs [1]. The next step in the design process is to produce a netlist. A Synthesizer converts the HDL into the specific primitives which exist in an FPGA family [4]. After a netlist is generated, a back-end tool called Place & Route fits the netlist to the FPGA architecture [4]. From this P&R tool, a file is obtained that can be downloaded onto the FPGA, either through a serial connection, a JTAG cable, or programmed into a ROM and loaded into the FPGA every time power is applied. [1] Electronic Components: FPGA Tutorial. [Online]. HYPERLINK "http://www.radioelectronics.com/info/data/semicond/fpga/fpga.php" http://www.radioelectronics.com/info/data/semicond/fpga/fpga.php [2] Vaughn. FPGA Challenge. [Online]. HYPERLINK "http://www.eecg.toronto.edu/~vaughn/challenge/fpga_arch.html" http://www.eecg.toronto.edu/~vaughn/challenge/fpga_arch.html [3] "FPGA Integration Increases Flexibility, Reduces Cost in Consumer Applications," San Jose, White Paper 2006. [4] (2007) FPGA Design Tutorial. [Online]. HYPERLINK "http://www.dspia.com/tutorials.html" http://www.dspia.com/tutorials.html [5] "ADS1675 Reference Design," User Guide 2009. [6] Rene Mueller and Jens Teubner, "FPGAs: A New Point in the Database Design Space," EDBT, 2010. [7] "Texas Instruments Taps Opal Kelly FPGA Integration Module for ADC Reference Design," DSPFPGA, 2010.