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