Programmable Logic Devices supporting
Embedded System Design Curriculum
Luis Gomes
Universidade Nova de Lisboa / UNINOVA
Campus da FCT-UNL
2829-516 Caparica
PORTUGAL
lugo@ieee.org
Abstract – This paper argues towards the usage of
Programmable Logic Devices as supporting platforms for
experimentation, from introductory to advanced courses,
including microprocessor-based system design, within a typical
“embedded systems track” course structure in the framework
of a Electrical and Computer Engineering curriculum.
We argue that the usage of Programmable Logic Devices is
adequate to be adopted as common implementation platform,
whenever the design of digital and embedded systems should be
introduced.
A remote laboratory, taking advantage of dynamic
reconfiguration of Programmable Logic Devices, is proposed,
giving adequate support for remote experimentation, and
additional opportunities to the students to get involved with
experimentation, on top of simulation environments already in
use and physical experimentation in crowded laboratories.
I. INTRODUCTION
Embedded system design courses have been traditionally
taught within Electrical and Computer Engineering degrees.
This is also the case at Universidade Nova de Lisboa,
Portugal.
Usage of embedded systems has been consistently
increasing during the last decades in all aspects of human
lives. Complementing their nature when used inside all sort of
equipments, from office to factory, including home and
personal equipments, we can start to find embedded systems
almost everywhere, including cars, clothing and sport shoes.
One of the reasons for this increasing success story of
embedded systems is related with the increasing
functionalities that one can embed into a chip (supported by
Moore’s law). The associated system complexity management
has to be supported by specific methodologies and tools that
can take advantage of the density of the devices.
From the point of view of the Electrical and Computer
Engineering curriculum, keeping up-to-date with embedded
systems advances is a challenging task. It is important to
assure teaching foundations from Boolean logic and assembly
language, complemented with enough advanced topics
covering subjects like hardware-software co-design, System-
on-Chip (SoC), and Network-on-Chip (NoC), among others,
taking a lot of technological issues into consideration.
Complementing the theoretical part, from foundations of
embedded system design to advanced topics, it is important to
allow experimentation at the different levels (as common
within engineering courses). This goal imposes a high level of
flexibility/reconfigurability of the supporting laboratories,
very difficult to achieve due to heterogeneity of the
components to use.
For that end, with special interest from the pedagogical
point of view, we argue that Programmable Logic Devices
(PLDs) can give adequate support for students to exercise at
the different levels of embedded system design, starting at the
introductory levels and continuing at advanced levels.
To illustrate specific support provided by PLDs for
laboratory exercises and projects, we will briefly present in
this paper the curriculum of Electrical and Computer
Engineering degree, including the MSc degree, currently used
at Universidade Nova de Lisboa, in what concerns with
“embedded system design track”.
Roughly, we consider three groups of courses, namely
introductory, intermediary and advanced courses.
Introductory courses are taught during the first two years of
the curriculum. The first step (one semester) covers
elementary digital design. The next step, accomplished during
another semester, is devoted to introductory microprocessors
and microcontrollers design. 8-bit microprocessor families
receive special attention. The final step at introductory levels
(also one semester) covers 16-bit microprocessors, and
explores the 80x86 architecture, based on the PC platform.
The first step is clearly hardware-oriented, while the third one
is clearly software-centered. The intermediary step tries to
bridge both worlds, introducing also assembly language.
At the intermediate level, roughly grouping some courses
located within the third and fourth years of the curriculum, the
subjects to be taught cover real-time issues, specification,
verification and implementation of digital controllers and
embedded systems, introducing hardware description
languages (like VHDL) and including data acquisition
systems.
At the advanced level, roughly grouping some courses
located within the fourth and fifth years of the curriculum, the
subjects to be taught cover design of SoPCs (System-on-a-
Programmable-Chip devices) using hardware-software co-
design techniques, and intelligent signal processing
techniques.
In this paper, we emphasize the following courses, where
teaching digital hardware design plays a major role:
- At the introductory level:
- Introductory digital systems;
- Introductory microprocessor-based systems;
- At the intermediate level:
- Digital systems design;
- At the advanced level:
- Embedded and reconfigurable systems design.
2174 0-7803-9252-3/05/$20.00 ©2005 IEEE