Professional Documents
Culture Documents
net/publication/224690392
CITATIONS READS
8 1,442
2 authors, including:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Optimized Hardware Realization of Computationally Intensive Algorithms using Reconfigurable Hardware View project
All content following this page was uploaded by Syed Manzoor Qasim on 01 June 2014.
Abstract: Arbitrary waveform generators (AWGs) are signal processing and have wide applications in
becoming increasingly important for test and digital communication, digital image processing,
measurement applications. This paper describes a statistical analysis and waveform generation [3].
new approach for generating arbitrary waveforms
using FPGA and a set of Rademacher and Walsh
Since Walsh functions are binary related,
Functions. Utilizing these orthogonal functions, any they are easy to generate and control using
periodic waveform can be realized. Recent relatively simple hardware and readily lend itself
advancements in Field Programmable Gate Array for real-time waveform generation ideal for the
(FPGA) technology have made waveform generation synthesis of different waveforms.
very easy and cost-effective. For demonstration With the recent advancement in Field
purpose we used a custom defined arbitrary Programmable Gate Array (FPGA) technology,
waveform that is a concatenation of trapezoidal,
sinusoidal and triangular waveforms. Simulation
it is now possible to realize high performance
results for the proposed AWG are presented. Top- Arbitrary Waveform Generator (AWG) in a
down approach has been adopted to realize the single chip. This will drastically reduce the
waveform generator in Spartan-3 FPGA. The system cost and thus avoid the dependency on
maximum clock frequency for this design is 24.944 external function generators to generate arbitrary
MHz with a power consumption of 62 mW. waveforms. These waveforms can be easily
Keywords: Arbitrary Waveform Generation, Field- generated on-chip. Being dynamically recon-
Programmable Gate Array (FPGA), Rademacher, figurable, the same FPGA can be used for
Walsh Functions, VHDL different applications [6].
The objective of this paper is to realize a
1. INTRODUCTION single-chip low cost approach for arbitrary
waveform generation. To achieve this we used
The ability to generate arbitrary waveform is FPGA architecture for high-speed generation of
of importance for many commercial and military arbitrary waveforms. In this paper, we have used
applications. By using arbitrary waveforms, a set of Rademacher and Walsh functions for the
engineers and scientists are able to generate generation of digital arbitrary waveform in
unique waveform signals that are specific to FPGA.
their applications. Most often, arbitrary The rest of the paper is organized as follows.
waveforms are designed to simulate real world Orthogonal functions such as Rademacher and
signals. A number of techniques utilizing both Walsh functions are defined and the methods
analog and digital approaches are available for used for their generation are discussed in section
the generation of arbitrary waveforms. However, 2. Section 3 gives a brief overview of the
digital methods, based on high-level design Spartan-3 FPGA architecture and the top-down
methodology offer better flexibility at the cost of design methodology adopted in this work is
increased complexity. described in section 4. In section 5, techniques
for the generation of arbitrary waveform using
Orthogonal functions such as Rademacher Rademacher-Walsh functions is described.
and Walsh functions are a set of discrete valued Section 6 summarizes the FPGA implementation
functions [1]í[5]. These functions and their results and finally section 7 gives some
transforms are important analytical tools for concluding remarks.
The Rademacher functions are generated as where the integer n is represented by [5]
follows [4]:
Let I (0, x) be the function with the N
(5)
value 1 for the entire interval of duration n ¦2 n i
i
T = 1 i.e., I (0, x) = 1. i 0
To obtain I (1, x), divide the interval Fig. 3 shows the first eight continuous Walsh
functions. All the eight functions take on the
(0,1) in half, and let the value of I (1, x) values {+1,í1}. Every function starts with the
in the first half interval be +1 and in the value +1.
second half of the interval í1.
To obtain I (2, x), divide each of the The same functions generated using
MATLAB for verification purpose are shown in
intervals (0,1/2) and (1/2,1) in half and
Fig.4. The Walsh functions can be generated by
let the value of the function in the first
many methods [4]. One way to compute the
half of each interval be +1 and in the
Walsh functions are by using Rademacher
second half of the interval í1.
functions. The Walsh functions are generated
The process is repeated until each interval is a using products of the Rademacher functions.
single-pulse element. The Walsh functions are developed as products
206
ƶ (0 ,x )
1
0 x
level logic blocks such as block RAMs
1
1
ƶ (1 ,x ) (BRAMs), 18-bit multipliers, digital clock
0 x
-1
ƶ (2 ,x )
½ 1
managers (DCMs) and even CPUs [6].
1
0 x
½ 1
-1
1
ƶ (3 ,x ) 4. DESIGN FLOW
0 x
½ 1
- 1
1
ƶ (4 ,x ) An FPGA design flow is the process of
0 x
½ 1
-1
1
ƶ (5 ,x )
turning an FPGA design into a correctly timed
0
-1
½ 1
x
bitstream file used to program the FPGA. In
ƶ ( 6 ,x )
1
0 ½ 1
x order to realize any algorithm on an FPGA it
-1
1
ƶ (7 ,x ) must be programmed (configured) first. To
0 x
-1
½ 1
achieve this, a design methodology is adopted.
Fig. 3. First eight continuous Walsh functions Usually, design entry is done using hardware
description language (HDL) such as Very High
Speed Integrated Circuit Hardware Description
Language (VHDL) or Verilog. In this paper, the
design entry is done in VHDL.
The objective is to make the system
description independent of the physical
hardware such that it can be used on other
FPGAs and even on Application Specific
Integrated Circuits (ASICs). Once a design has
been completed it is simulated to verify the
correct operation. A netlist is generated from the
design and is mapped onto the FPGA using
Fig. 4. MATLAB generated First Eight Walsh functions synthesis, place and route and optimizing tools.
of the Rademacher functions, based on the gray Mapping produces a bit-stream file that is used
code conversion of the Walsh function index to program the FPGA [7].
sequence. If we convert the ±1 amplitudes of the 5. GENERATION OF ARBITRARY
Walsh functions to a binary logic {0,1} WAVEFORM USING WALSH
representation with the conversions +1 ĺ “0” FUNCTIONS
and í1 ĺ “1”, then multiplication of
Rademacher functions is equivalent to Generating arbitrary waveforms using Walsh
Exclusive-OR operation. functions consists of three stages:
207
Xilinx ISE 7.1i software. By using a single, For validation of results, MATLAB was
appropriately sized FPGA, digital arbitrary used. Fairly smooth arbitrary waveform was
waveform as defined by f x can be obtained through MATLAB simulation as
synthesized thus avoiding the use of any analog shown in Fig. 6.
to digital converter and hence minimizing the
area and cost of hardware. TABLE 1
Since Walsh functions constitute a complete WALSH FUNCTION COEFFICIENTS
where, An are the coefficients of the expansion A4 0.0166 A27 0.0048 A50 0
208
6. FPGA IMPLEMENTATION functions (R1íR6), Walsh functions (W1íW63)
RESULTS and 16-bit digital arbitrary waveforms (P0íP15).
Based on the given architecture, design and As shown in fig. 7, clk is the clock signal,
simulation of the AWG has been performed reset is the reset signal. The estimated
using VHDL. The design is synthesized and power consumption of the architecture
placed and routed into Xilinx Spartan-3 FPGA was obtained with Xilinx XPower
(XC3S200-4ft256) using Xilinx ISE 7.1i [8]. software using a clock frequency of
The hardware resource utilization is reported for 24.944 MHz.
an XC3S200-4ft256 Spartan-3 FPGA device and 7. CONCLUSION
the results are summarized in Table 2. A new technique for high-speed arbitrary
Modelsim is used for both pre-synthesis and waveform generation using FPGA and a set of
post-synthesis simulation. Fig. 7 represents the Rademacher and Walsh functions has been
snapshot of simulation results of Rademacher presented. Rademacher and Walsh are
209
orthogonal functions widely used in engineering The chip was thoroughly tested after
applications such as waveform generation. implementation. The maximum clock frequency
Xilinx spartan-3 (XC3S200-4FT) FPGA chip is obtained after place and route of the design is
used. FPGA implementation results have been 24.944 MHz consuming only 62 mW of power.
presented which shows that the proposed design
is very compact utilizing just 17% of total FPGA
REFERENCES
slices, so there is a possibility of implementing [1] J. L. Walsh, “A closed set of normal orthogonal
more parallel processors on the same FPGA. functions,” Amer. J. of Math, vol. 55, pp. 5-24, 1923.
[2] K. G. Beauchamp, Walsh functions and their
TABLE 2 applications, Academic Press: New York, 1975.
HARDWARE RESOURCE UTILIZATION FOR XC3S200 SPARTAN-3
FPGA [3] H. F. Harmuth, “Applications of Walsh functions in
communications,” IEEE Spectrum, vol.6, pp.82-91,
Number of Slices 340 out of 1,920 17% Nov. 1969.
210