Programming of FPGAs is considered challenging.
This is because of several reasons:
- FPGAs are digital hardware; therefore basic
knowledge of digital circuits is needed to understand
and use them.
- FPGAs are used by programming; basic
knowledge of programming is needed but is not
enough simply because of the parallel nature of the
circuits and their modeling languages. This
parallelism is usually totally absent from the
general-purpose programming languages like Java.
- The efficient use of parallel processing by
FPGAs presupposes understanding of pipelining,
which is usually not known by ordinary
programmers.
In this study we have developed two types of
teaching tools. Firstly, several small web-based
JavaScript simulation tools were created for
visualizing the function of digital circuits directly on
lecture slides. The idea has been to aid learning of
basics by providing very simple animations without
the need of more sophisticated simulation software.
Secondly, an FPGA-based FIR filter system was
developed for showing how to perform a simple
digital signal processing task with an FPGA device
and with the help of Matlab HDL Coder. Finally, as
an application of the audio system, a light organ was
designed as a student project using FPGA and a
Light Emitting Diode (LED) display made of
discrete components.
1.1 Related Work
Several software for simulating electronic circuits
exist. Those include i.a. SPICE for analog circuits,
Logisim for digital circuits and GNU Circuit
Analysis Package for mixed-signal (analog and
digital) circuits. These software are suitable when
doing homework and project work, but they are
usually not used during the lectures. Our idea is to
bring some visual aspect and interactivity to the
lectures by integrating some simulations to the
lecture slides. The hypothesis is that slides with
animated graphics improve learning when compared
to conventional, static lecture slides.
Since the learning of FPGA is time-consuming, it
is good if the student can study the subject also by
distance-learning. The idea of learning FPGA
programming in web environment has been utilized
in virtual and remote laboratories. A remote
laboratory is based on real hardware, while virtual
laboratories are based on software models. Our
simulation tools presented in this paper are neither
remote nor virtual laboratories, but suitable for
distance-learning because they are available via
Internet.
A proposal for remote laboratory is presented by
Drutarovský et al. (2009). Their system includes a
LabVIEW based measurement server, FPGA
development boards, logic analyzer, digital storage
oscilloscope and signal generator. Persiano et al.
(2007) propose a system through which users can
remotely control FPGA applications without
installing any development software to the
computer. The user can follow teaching and control
several measuring devices through a LabVIEW
based user interface. According to Soares et al.
(2011) in remote laboratories the challenge is the
interaction between the user and the hardware as a
realistic Internet-based interface. They implemented
an application using Hypertext Preprocessor (PHP)
which makes it possible to use Altera
®
DE2 board
and camera remotely. Multimedia and interactivity
have also been utilized by Quintans et al. (2005),
who have implemented a hypermedia application for
self-learning.
In the field of DSP, Hall et al. (2002) have
developed a framework which allows students to
combine their knowledge about DSP theory and
digital hardware design. They developed a Matlab
toolbox for sending and receiving data to and from
an FPGA device. The functions are useful in testing,
debugging and verifying the design. In addition, they
introduced a VHDL template, which contains all
needed testing infrastructure, and the students only
need to develop their own DSP module. Their
pedagogical principle was to start from small filters
and proceed to more complex DSP systems after the
students have understood the flow of the design
process. Later Hall et al. (2007) have also
emphasized the need of teaching fixed-point signal
processing, as the fixed-point solutions are often
faster, smaller, cheaper, and consume less power
than floating-point solutions. Haba (2014) suggests
that FPGA circuits can replace microcontrollers,
processors and other similar devices in the field of
digital signal processing. Reyes et al. (2009)
developed a FPGA-based DSP trainer for learning
Fourier transform, FIR filters, correlation and linear
convolution. The trainer was also able to generate
and acquire input signals and display the results on a
monitor.
2 WEB-BASED SIMULATIONS
The idea of our approach is to provide students with
study material that contains simple visual animations
CSEDU2015-7thInternationalConferenceonComputerSupportedEducation
194