Introduction to FPGA Technology

发布于:2021-12-02 23:21:43

Introduction to FPGA Technology
Overview Field-programmable gate array (FPGA) technology continues to gain momentum, and the worldwide FPGA market is expected to grow from $1.9 billion in 2005 to $2.75 billion by 20101. Since its invention by Xilinx in 1984, FPGAs have gone from being simple glue logic chips to actually replacing custom application-specific integrated circuits (ASICs) and processors for signal processing and control applications. Why has this technology been so successful? This article provides an introduction to FPGAs and highlights some of the benefits that make FPGAs unique. What is an FPGA? At the highest level, FPGAs are reprogrammable silicon chips. Using prebuilt logic blocks and programmable routing resources, you can configure these chips to implement custom hardware functionality without ever having to pick up a breadboard or soldering iron. You develop digital computing tasks in software and compile them down to a configuration file or bitstream that contains information on how the components should be wired together. In addition, FPGAs are completely reconfigurable and instantly take on a brand new “personality” when you recompile a different configuration of circuitry. In the past, FPGA technology was only available to engineers with a deep understanding of digital hardware design. The rise of high-level design tools, however, is changing the rules of FPGA programming, with new technologies that convert graphical block diagrams or even C code into digital hardware circuitry. FPGA chip adoption across all industries is driven by the fact that FPGAs combine the best parts of ASICs and processor-based systems. FPGAs provide hardware-timed speed and reliability, but they do not require high volumes to justify the large upfront expense of custom ASIC design. Reprogrammable silicon also has the same flexibility of software running on a processor-based system, but it is not limited by the number of processing cores available. Unlike processors, FPGAs are truly parallel in nature so different processing operations do not have to compete for the same resources. Each independent processing task is assigned to a dedicated section of the chip, and can function autonomously without any influence from other logic blocks. As a result, the performance of one part of the application is not affected when additional processing is added. Top Five Benefits of FPGA Technology Performance– Taking advantage of hardware parallelism, FPGAs exceed the computing power of digital signal processors (DSPs) by breaking the paradigm of sequential execution and accomplishing more per clock cycle. BDTI, a noted analyst and benchmarking firm, released benchmarks showing how FPGAs can deliver many times the processing power per dollar of a DSP solution in some applications.2 Controlling inputs and outputs (I/O) at the hardware level provides faster response times and specialized functionality to closely match application requirements. Time to market– FPGA technology offers flexibility and rapid prototyping capabilities in the face of increased time-to-market concerns. You can test an idea or concept and verify it in hardware without going through the long fabrication process of custom ASIC design.3 You can then implement incremental changes and iterate on an FPGA design within hours instead of weeks. Commercial off-the-shelf (COTS) hardware is also available with different types of I/O already connected to a user-programmable FPGA chip. The growing availability of high-level software

tools decrease the learning curve with layers of abstraction and often include valuable IP cores (prebuilt functions) for advanced control and signal processing. Cost– The nonrecurring engineering (NRE) expense of custom ASIC design far exceeds that of FPGA-based hardware solutions. The large initial investment in ASICs is easy to justify for OEMs shipping thousands of chips per year, but many end users need custom hardware functionality for the tens to hundreds of systems in development. The very nature of programmable silicon means that there is no cost for fabrication or long lead times for assembly. As system requirements often change over time, the cost of making incremental changes to FPGA designs are quite negligible when compared to the large expense of respinning an ASIC. Reliability– While software tools provide the programming environment, FPGA circuitry is truly a “hard” implementation of program execution. Processor-based systems often involve several layers of abstraction to help schedule tasks and share resources among multiple processes. The driver layer controls hardware resources and the operating system manages memory and processor bandwidth. For any given processor core, only one instruction can execute at a time, and processor-based systems are continually at risk of time-critical tasks pre-empting one another. FPGAs, which do not use operating systems, minimize reliability concerns with true parallel execution and deterministic hardware dedicated to every task. Long-term maintenance– As mentioned earlier, FPGA chips are field-upgradable and do not require the time and expense involved with ASIC redesign. Digital communication protocols, for example, have specifications that can change over time, and ASIC-based interfaces may cause maintenance and forward compatibility challenges. Being reconfigurable, FPGA chips are able to keep up with future modifications that might be necessary. As a product or system matures, you can make functional enhancements without spending time redesigning hardware or modifying the board layout. Introduction to signal generator Overview A signal generator, also known variously as a test signal generator, function generator, tone generator, arbitrary waveform generator, digital pattern generator or frequency generator is an electronic device that generates repeating or non-repeating electronic signals (in either the analog or digital domains). They are generally used in designing, testing, troubleshooting, and repairing electronic or electroacoustic devices. There are many different types of signal generators, with different purposes and applications (and at varying levels of expense); in general, no device is suitable for all possible applications. Traditionally, signal generators have been embedded hardware units, but since the age of multimedia-PCs, flexible, programmable software tone generators have also been available. Function generators A function generator is a device which produces simple repetitive waveforms. Such devices contain an electronic oscillator, a circuit that is capable of creating a repetitive waveform. (Modern devices may use digital signal processing to synthesize waveforms, followed by a digital to analog converter, or DAC, to produce an analog output). The most common waveform is a sine wave, but sawtooth, step (pulse), square, and triangular waveform oscillators are commonly available as are arbitrary waveform generators (AWGs). If the oscillator operates above the audio frequency range (>20 kHz), the generator will often include some sort of modulation function such as amplitude modulation (AM), frequency modulation (FM), or phase modulation (PM) as

well as a second oscillator that provides an audio frequency modulation waveform. Arbitrary waveform generators Arbitrary waveform generators, or AWGs, are sophisticated signal generators which allow the user to generate arbitrary waveforms, within published limits of frequency range, accuracy, and output level. Unlike function generators, which are limited to a simple set of waveforms; an AWG allows the user to specify a source waveform in a variety of different ways. AWGs are generally more expensive than function generators, and are often more highly limited in available bandwidth; as a result, they are generally limited to higher-end design and test applications. Special purpose signal generators A tone generator and a probe for locating a specific pair of wires amongst many, for example in a punch block. In addition to the above general-purpose devices, there are several classes of signal generators designed for specific applications. Tone generators and audio generators A tone generator is a type of signal generator optimized for use in audio and acoustics applications. Tone generators typically include sine waves over the audio frequency range (20 Hz–20 kHz). Sophisticated tone generators will also include sweep generators (a function which varies the output frequency over a range, in order to make frequency-domain measurements), multitone generators (which output several tones simultaneously, and are used to check for intermodulation distortion and other non-linear effects), and tone bursts (used to measure response to transients). Tone generators are typically used in conjunction with sound level meters, when measuring the acoustics of a room or a sound reproduction system, and/or with oscilloscopes or specialized audio analyzers. Many tone generators operate in the digital domain, producing output in various digital audio formats such as AES-3, or SPDIF. Such generators may include special signals to stimulate various digital effects and problems, such as clipping, jitter, bit errors; they also often provide ways to manipulate the metadata associated with digital audio formats. The term synthesizer is used for a device that generates audio signals for music, or that uses slightly more intricate methods. Video signal generators A video signal generator is a device which outputs predetermined video and/or television waveforms, and other signals used to stimulate faults in, or aid in parametric measurements of, television and video systems. There are several different types of video signal generators in widespread use. Regardless of the specific type, the output of a video generator will generally contain synchronization signals appropriate for television, including horizontal and vertical sync pulses (in analog) or sync words (in digital). Generators of composite video signals (such as NTSC and PAL) will also include a colorburst signal as part of the output. Video signal generators are available for a wide variety of applications, and for a wide variety of digital formats; many of these also include audio generation capability (as the audio track is an important part of any video or television program or motion picture). Many applications require low-frequency signal generators that can deliver high-performance, high-resolution signals. This Design Idea presents a circuit that generates frequencies of 0 to 1 MHz. Sinusoidal, triangular, and square-wave outputs are available. You can achieve frequency resolution of better than 0.1 Hz and phase resolution of better than 0.1°; thus, you can program

exact coherent frequencies. This feature is useful in digital modulation and frequency-tuning applications. The circuit uses the AD?C831 and ADC0832to generate the required frequencies. You can program the microcontroller from either a PC or a Unix-based workstation. You then program the ADC0832 using a three-wire serial interface via the microcontroller. The interface word is 16 bits long. You can program the ADC0832 to provide sinusoidal, triangular, and square-wave outputs using (direct-digital-synthesis) architecture. The chip operates as an NCO (numerically controlled oscillator) using an on-chip, 28-bit phase accumulator, sine-coefficient ROM, and a 10-bit D/A converter. You typically consider sine waves in terms of their magnitude form, A(t)=sin(ωt). The amplitude is nonlinear and is, therefore, difficult to generate. The angular information, on the other hand, is perfectly linear. That is, the phase angle rotates through a fixed angle for each unit in time. Knowing that the phase of a sine wave is linear, and, given a reference interval (clock period), you can determine the phase rotation for that period: ?Phase=ω dt; ω=?Phase/dt=2πf, and f=(?Phase×fMCLK)/(2π), where dt=1/fMCLK, and fMCLK is the master clock. Using this formula, you can generate output frequencies, knowing the phase and master-clock frequency. The phase accumulator provides the 28-bit linear phase. The amplitude coefficients of the output sine wave are stored in digital format in the sine-coefficient ROM. The DAC converts the sine wave to the analog domain. If you bypass the ROM, the ADC0832 delivers triangular waveforms instead of sinusoidal waveforms. A square-wave output is also available on the part. shows the various waveforms available from the system. As shown in, the sinusoidal/ triangular output waveforms are available on the IOUT pin (Pin 19); and the square wave output is available on the SIGN_BIT_OUT pin (Pin 16). You program the DDS by writing to the frequency registers. The analog output from the part is then: fOUT=fMCLK/228×(frequency-register word). The outputs of the DDS have 28-bit resolution, so effective frequency steps on the order of 0.1 Hz are possible to a maximum of approximately 1 MHz. shows the typical waveform outputs. Two phase registers are available that allow 12-bit phase resolution. These registers phase-shift the signal by: Phase shift=2π/4096×(phase-register word). A 50-MHz crystal oscillator provides the reference clock for the DDS. The output stage of the DDS is a current-output DAC loaded by an external resistor. A 200 resistor generates the required peak-to-peak voltage range. The output is ac-coupled through capacitor C1. The MicroConverter contains two on-chip, 12-bit DACs. DAC1 varies the current through R5, adjusting the full-scale current of the DDS via the FSADJUST pin. The equation to control the full-scale current of the DDS DAC is: IOUT (full-scale)=18×I×R5. DAC0, the internal reference of the MicroConverter, and op amp 2 allow for offset control of the output voltage of the DDS. You can program this dc offset to ±10V at 10-bit resolution. When R1=R2 and the gain of op amp 2=8, then the output of op amp 2 is: VOUT=(DAC output–(VREF/2))×8, yielding a ±10V range. Resistors R6 through R9 allow for control of gain through op amp 3. The gain of the op amp is a function of resistor switching, which you enable using the RDRIVE pin available on the MicroConverter. This operation allows for an effective programmable-output amplitude of approximately ±10V p-p. Thus, the circuit allows for programmable sinusoidal and triangular waves, including dc offsets, and the ability to set peak-to-peak amplitude of approximately ±10V. The square wave output on the SIGN_BIT_OUT pin has 0 to 5V amplitude. For low-frequency operation, a lowpass filter normally serves to filter reference-clock frequencies, spurs, and other

images. For applications in which the output signal needs amplification, you should use a narrowband filter to filter out unwanted noise before the gain stage. A third-order filter would be good enough to remove most of the unwanted noise. Figure 3 shows a typical spectral plot of the output. Applications for this circuit range from signal-waveform generation to digital modulation. You can use the system in frequency-sweeping and -scanning applications and in resonance applications that use the frequency as an excitation signal to determine circuit resonance

waveform—usually a sine wave—by generating a time-varying signal in digital form and then performing a digital-to-analog conversion. Because operations within a Signal generator device are primarily digital, it can offer fast switching between output frequencies,fine frequency resolution, and operation over a broad spectrum of frequencies. With advances in design and process technology, today’s DDS devices are very compact and draw little power. Why would one use a direct digital synthesizer? Aren’t there other methods for easily generating frequencies? The ability to accurately produce and control waveforms of various frequencies and profiles has become a key requirement common to a number of industries.Whether providing agile sources of low-phase-noise variable-frequencies with good spurious performance for communications, or simply generating a frequency stimulus in industrial or biomedical test equipment applications, convenience,compactness, and low cost are important design considerations.Many possibilities for frequency generation are open to a designer, ranging from phase-locked-loop (PLL)-based techniques for very high-frequency synthesis, to dynamic programming of digital-to- analog converter (DAC) outputs to generate arbitrary waveforms at lower frequencies. But the DDS technique is rapidly gaining acceptance for solving frequency- (or waveform) generation requirements in both communications and industrial applications because single-chip IC devices can generate programmable analog output waveforms simply and with high resolution and accuracy. Furthermore, the continual improvements in both process technolog y and design have resulted in cost and power consumption levels that were previously unthinkably low. For example, the AD9833, a DDS-based programmable waveform generator (Figure 1), operating at 5.5 V with a 25-MHz clock, consumes a maximum power of 30 milliwatts. Figure 2 shows the square-, triangular-, and sinusoidal outputs available from an AD9833. Applications currently using DDS-based waveform generation fall into two principal categories: Designers of communications systems requiring agile (i.e., immediately responding) frequency ources with excellent phase noise and low spurious performance soften choose DDS for its combination of spectral performance and frequency-tuning resolution. Such applications include using a DDS for modulation, as a reference

for a PLL to enhance overall frequency tunability, as a local oscillator (LO), or even for direct RF transmission. Alternatively, many industrial and biomedical applications use a DDS as a programmable waveform generator. Because a DDS is digitally programmable, the phase and frequency of a waveform can be easily adjusted without the need to change the external components that would normally need to be changed when using traditional analog-programmed waveform generators. DDS permits simple adjustments of frequency in real time to locate resonant frequencies or compensate for temperature drift. Such applications include using a DDS in adjustable frequency sources to measure impedance (for example in an impedance-based sensor), to generate pulse-wave modulated signals for micro-actuation, or to examine attenuation in LANs or telephone cables.What do you consider to be the key advantages of DDS to designers of real-world equipment and systems?Today’s cost- competitive, high - performance, functionally integrated DDS ICs are becoming common in both communication systems and sensor applications. The advantages that make them attractive to design engineers include:digitally controlled micro-hertz frequency-tuning and subdegree phase-tuning capability,extremely fast hopping speed in tuning output frequency(or phase); phase - continuous frequency hops with no overshoot/undershoot or analog-related loop settling-time anomalies,the digital architecture of DDS eliminates the need for the manual tuning and tweaking related to component aging and temperature drift in analog synthesizer solutions, and the digital control interface of the DDS architecture facilitates an environment where systems can be remotely controlled and optimized with high resolution under processor control.How would I use a DDS device for FSK encoding?Binary frequency-shift keying (usually referred to simply as FSK) is one of the simplest forms of data encoding. The data is transmitted by shifting the frequency of a continuous carrier to one of two discrete frequencies (hence binary). One frequency, f 1, (perhaps the higher) is designated as the mark frequency (binary one) and the other, f 0, as the space frequency (binary zero). Figure 6 shows an example of the relationship between the mark-space data and the transmitted signal. This encoding scheme is easily implemented using a DDS. The DDS frequency tuning word, representing the output frequencies, is set to the appropriate values to generate f 0 and f 1 as they occur in the pattern of 0s and 1s to be transmitted. The user programs the two required tuning words into the device before transmission. In the case of the AD9834, two frequency registers are available to facilitate convenient FSK encoding. A dedicated pin on the device (FSELECT) accepts the modulating signal and selects the appropriate tuning word (or frequency register). The block diagram in Figure 7 demonstrates a simple implementation of FSK encoding.