Content uploaded by Norberto Malpica
Author content
All content in this area was uploaded by Norberto Malpica
Content may be subject to copyright.
Project Based Learning Experience in VHDL Digital Electronic Circuit Design
Felipe Machado, Susana Borromeo, Norberto Malpica
Departamento de Tecnología Electrónica, Universidad Rey Juan Carlos, Madrid, Spain
{felipe.machado, susana.borromeo, norberto.malpica}@urjc.es
Abstract
In this paper we present our experience in teaching
digital electronic circuit and system design with FPGAs
using VHDL. The course follows a Project Based
Learning methodology, in which the students learn how
to design digital circuits and systems in a practical way.
During the course, students design electronic circuits of
incremental complexity. At the end of the course they are
capable of implementing relatively complex projects,
such as image processing systems and videogames.
1. Introduction
There has been a tremendous rise in the use of
programmable logic devices (FPGA, CPLD) and of
CAD (Computer Aided Design) Tools for the design of
digital electronic circuits in the last years. Due to this
change in the professional field, the latest guidelines
from the ACM (Association for Computing Machinery)
and the IEEE on ICT curricula recommend the
introduction of new concepts incorporating these
technologies [1,2]. Some examples of FPGA-based
digital electronic courses are presented in [3-5].
Project-based learning is an instructional method that
challenges students to think critically and enhance their
ability to analyze and solve real world problems,
develop skill in gathering and evaluating the information
needed for solving problems, gain experience working
cooperatively in teams. Successful implementation of
Project Based Learning (PBL) strategies has been well
documented [6-8].
On the other hand, Spain is currently implementing
the regulatory modifications promulgated by the
Declaration of Bologna, which should result in the
updating of the structure of university degrees, and the
inclusion of the European Credit Transfer and
Accumulation System (ECTS) methodology [9]. The
introduction of ECTS means the incorporation of new
teaching methodologies, focused on more active
participation of students in their learning process.
Tutoring work takes priority over lesson teaching and in
which the leading role is taken by the student
him/herself.
With the above issues in mind, this paper describes a
methodology that has been used for teaching the course:
Electronic Circuits and Systems Design (ECSD) at the
Department of Electronic Technology at Rey Juan
Carlos University. The proposed curricula project is
based on the development of a real-world project on
FPGA devices. The design of a complex project is used
to motivate students and to settle course contents. The
course has only been taught for two years, since our
University is young and Telecommunications
Engineering was set up in the 2003-04 academic year.
This paper describes the applied methodology and the
results from the last two years.
The rest of the paper is organized as follows. Section
2 presents the academic context of the students
attending the course. Section 3 presents the course
details, contents, and organization. Section 4 describes
the pedagogical issues of the course (methodology).
Finally, the evaluation data is addressed, and the
conclusions are presented.
2. Educational Background
The ECSD course is a 6 credits (60 hours)
compulsory course of the fourth year. Figure 1 shows
the former related courses. It can be observed that
students arrive to the fourth course with a solid base on
electrical circuits and analog electronic circuits.
Students have also received two 4.5-credit courses in
digital electronics. In the first one (DE1), the have been
taught the theoretical fundamentals of digital electronic
design at logic level and logic-block level. In this
course, students have mainly practiced with schematic
design using FPGAs [10].
ECM (6
cred
)
Electronic Components
and Measures
DE1 (4.5
cr
)
Digital
Electronics I
CAD (6
cred
)
Circuit analysis & design
AE (6
cred
)
Analog
Electronics
1-1
1-1
2-1
2-1
3-1
3-1
4-1
4-1
Analog
Electronics
Digital
Electronics
Computer
Fundamentals
year -
semester
ECSD (
6 credits
)
Electronic Circuits & S
y
stems Desi
g
n
ECSD (
6 credits
)
Electronic Circuits & Systems Design
DE2 (4.5
cr
)
Digital
Electronics II
SED (6
cr
)
Digital Electroni c
Systems
CF1(6cr)
Computer
Fundamentals I
CF2(6
cr
)
Computer
Fundamentals I I
1-2
1-2
2-2
2-2
ECM (6
cred
)
Electronic Components
and Measures
DE1 (4.5
cr
)
Digital
Electronics I
CAD (6
cred
)
Circuit analysis & design
AE (6
cred
)
Analog
Electronics
1-1
1-1
2-1
2-1
3-1
3-1
4-1
4-1
Analog
Electronics
Digital
Electronics
Computer
Fundamentals
year -
semester
ECSD (
6 credits
)
Electronic Circuits & S
y
stems Desi
g
n
ECSD (
6 credits
)
Electronic Circuits & Systems Design
DE2 (4.5
cr
)
Digital
Electronics II
SED (6
cr
)
Digital Electroni c
Systems
CF1(6cr)
Computer
Fundamentals I
CF2(6
cr
)
Computer
Fundamentals I I
1-2
1-2
2-2
2-2
Figure 1: Previous courses related to ECSD
During the second course in digital electronics
students have deepened in digital design methodology.
They have learned the methodology to design
moderately complex digital circuits using finite state
machines and VHDL.
In addition, students have also learned about
computer architecture (CF1 & CF2). Besides, during the
course Digital Electronic Systems, students worked with
microcontrollers, both theoretically and in the labs.
3. Course Objectives and Contents
The main objective of the course is to make students
face the challenge of real digital electronic systems,
showing the different design alternatives and their
tradeoffs. At the end of the course the students should:
• Have a broad perspective of digital electronic design and
computer architecture, gathering the knowledge of former
courses.
• Know the different design alternatives of digital systems
• Understand the tradeoffs of each alternative in terms of cost,
design time, performance, power, flexibility, ...
• Be able to use modern computer-aided design (CAD) tools
and programmable logic devices
• Be able to design arithmetic components and digital filters.
• Be able to elaborate test strategies for their designs.
• Develop teamwork skills
The objectives are structured as follows:
Topic Contents
T-1 Introduction to electronic systems
- Digital electronic system design
- System specifications and constraints
- Microprocessors, programmable devices, ASICs
T-2 Programmable logic devices
- Evolution
- Architectures
T-3 Computer-aided design tools
- Synthesis and simulation (Xilinx ISE, Modelsim)
T-4 Design methodology
- VHDL design
- Modular and hierarchical design
- Design for synthesis
- Generic and configurable design
- Design for reuse, Intellectual property (IP)
- Teamwork design
T-5 Circuit test and verification
- Test-bench design
- Test-based design strategies, design for test (DFT)
T-6 Arithmetic circuits and digital filters design
- Adders and subtracters
- Multipliers and dividers
- Digital filers
T-7 Synchronization and interfacing
- Asynchronous communication
- Protocols and buses
T-8 Optimization
- Performance, area, power consumption
- Pipelining and parallel processing
Table 1: ECSD course contents.
The course is taken in a lab equipped for digital
electronics. Designs are implemented in the V2-P
Development System [12] using Xilinx ISE [11]
4. Methodology
The course follows a PBL methodology. Rather than
following a course based on the topic ordering of table
1, we have decided to propose projects that introduce
the students with these contents. Hence, during the
circuit design students face new challenges, and
therefore, the necessity to solve these problems make
them to be interested in the different methods to solve it.
During the former courses, students have
demonstrated their fundamental theoretical knowledge
in digital design, computer architecture and analog
electronics. Thus, in this course we intend that students
learn the design methodology in a practical way,
assimilating the acquired knowledge in those courses
and above all, that they face the real problems of digital
electronic design and that they are able to solve them.
The course has been structured in three kinds of
classes: Seminars, guided laboratories and final project
Seminars are theoretical classes given throughout the
semester. These seminars introduce the initial subjects
and present each guided laboratory and the final project.
These seminars summarize the problems that the
students will face and the different approaches to tackle
them. References are also included for further research.
The guided laboratories are the main learning
method of the course. The students are faced with
design projects of incremental complexity. The
implementation of these projects leads the students to
have the required experience to deal with the final
project.
Table 2 shows the guided laboratories of the course.
A hand-out is supplied for all of them, in which the new
challenges are remarked [13,14]. Both the guided
laboratories and the final project are accomplished by
groups of two students.
The final project is a relatively complex and large
digital design in which all the lessons learned during the
laboratories are applied. Students are encouraged to
propose their own final project. Both the teacher and
students analyze different approaches for the project and
estimate its complexity. Generally, students chose two
kinds of projects: videogame or image processing.
For the videogames, the minimum requisites were to
make use of ROM to show images and include
alphanumeric scores using bitmaps. More sophisticated
projects used peripherals such us keyboards and mouse,
implemented different levels of difficulty, extra bonus
and lives. Classic videogames such as Pac-Man, Super
Mario Bros and Tetris have been implemented (fig 2).
The image processing projects usually receive an
image through the serial port or a digitizer board. Then
filtered with operators such as Sobel or the Mean.
# Laboratory Hours Objectives
1 Basic board operation 2 - Know the development board
- Introduce the development environment
- Check the proper function of the system
- Push-buttons and LED interfacing
2 Simulation 2 - Simulation review
- Herramientas para simulación
- Differences between VHDL for synthesis and simulation
3 Shift registers optional - Review of former courses (DE2)
4 Finite state machines optional - Review of former courses (DE2)
5a UART transmitter 12
- Design a circuit moderately complex
- Design complex testbenches
- Generic design
- Understand the challenges of asynchronous communication
- Assimilate what have been learned in former courses
5b UART
transmitter-receptor 8 - Hierarchical design
- Reuse
- Study in depth testbenches and simulation
- Generic design
6 VGA controller 8
- Timing and synchronization
- Be able to design a complex circuit
- Understand how common devices wok
- Study in depth testbenches and simulation
- Get a glimpse of the possibilities of digital design
7 Tennis videogame 8 - Math operators
- Concurrency
- Deeper understanding of timing & synchronization issues
8 PS/2 port optional
- Reuse
- Concurrency
- Interfacing, input/output ports
9 Math operators optional - Parallel computing
- Pipelining
- Understand the complexities of math operators
- Performance, area and power consumption
10 Draw images
in screen optional
- ROM, memory addressing
- Image storage
- Timing and synchronization
- Math operators
- Reuse
11 Character writing
in screen optional
- Timing and synchronization
- Reuse
- Hierarchical design
- ROM & RAM, memory access control
- System integration
- Complex system simulation
12 Digital image
processing optional
- Math operators
- Digital filters
- Timing and synchronization
- Reuse
- ROM & RAM, memory access control
- Hierarchical design
- System integration
- Complex system simulation
Table 2: Compulsory and optional laboratories
5. Results
To evaluate the course we have taken into account
the grades obtained by the students and the degree of
satisfaction shown by the students at the end of the
course.
5.1. Academic results
The final Project is the main source for student
qualification, accounting for 80% of the final grade. The
remaining points are provided by the theoretical exam.
Volunteer lab work could increase the final mark in a
maximum of one point.
Although the students have to present the final
Project to obtain a grade, the project is supervised by the
professor all along, to resolve doubts about the design
and the different decisions. This allows the grading to be
more robust. Also, students can foresee their possible
grades and choose the amount of work and time they
wish to devote to the design.
Table 3 shows the distribution of the grades of the
students in the theory exam, the design project and the
final grades.
The low grades of the theory exam in the second year
can be explained by the fact that some groups finished
their design alter the exam, thus lacking the knowledge
of some parts of the course. On the other side, the
students know that most of the final grade corresponds
to the design, and normally devote more time to lab
work.
year 2007-08 year 2008-09
Exam Project Final Exam Project Final
Fail 16% 11% 11% 48% 10% 10%
C 16% 37% 37% 24% 28% 31%
B 32% 21% 21% 21% 28% 31%
A 37% 32% 32% 7% 34% 28%
Table 3: Distribution of grades obtained
The exam on the second year was move forward
some days as requested by the students. This can also
account for the low grades, but has the advantage that
the students have time after the exam to insist on the
subjects that were not clear in the exam. The proposal of
taking a second theory exam for those students that
failed the first one is certainly a good one [15].
5.2. Evaluation of the course by the students
The evaluation of the course by the students is based
on the official surveys carried out by the University and
an anonymous and volunteer survey carried out on the
day of the exam.
The 84.2% of the students took part in the official
survey. We extract the following main sections from it
(ratings from 0 to 5):
• Course planning and organization: 3.9
• Teaching methodology: 4.4
• Degree of student involvement: 4.1
• Are the contents of the course interesting? 4.5
The official surveys are carried out in the middle of
the course, when the students still do not have a global
vision of the contents.
Volunteer surveys handed out by the professor were
filled by 72% of the students in the 2008-09 course and
by 76% the previous year. Table 4 shows some of the
answers.
07-08 08-09
1 Do you like digital electronics? 1.9 1.9
2 Do you find it useful for your professional future? 1.6 1.5
3 Did you like the course? 1.9 2
4 Do you think you have learned? 1.7 1.7
5 Would you like more (2) or less (0) contents? 1.8 1
6 Do you like the course being so practical? 1.9 1.8
7 Do you agree with the evaluation method? 2 2
Table 4: Summary of the course evaluation by the students
0: Little; 1: Normal; 2: A lot.
The rest of the survey is not included as the questions
were qualitative and required a piece of text as an
answer.
Figure 2: Two final projects: Arkanoid & image processing
6. Conclusions
We have presented a teaching experience based on
Project Based Learning, in a digital electronics design
course. From our point of view, results are very positive.
In general, after attending the course, students acquire
experience and confidence of their abilities as designers.
It is worth noting that before starting to implement the
projects, students consider nearly impossible the task of
a development of the size that they are faced with and
that, after completing the development, the realize that
they knew much more than they thought.
On the other side, the students learn to work in
groups and to analyze the different solutions before
starting to implement the design. Also, when they start
to solve a problem in a non-optimum way, they realize
the drawbacks, and they understand in a practical way
the advantages of more adequate solutions. It is even
normal to see students from different groups helping
each other to solve the difficulties that arise.
At the end of the course, many students have
expressed their gratitude for such a practical and
entertaining approach, and they discover that they like
the subject of the course more than they thought. As the
course is part of the fourth course of a five-year degree
some of the students seem interested after the course in
taking a Master’s Thesis in electronic design.
However, some students don’t adapt so well to this
methodology and it presents some problems for
evaluating theoretical knowledge. On the other side,
with a high number of students per class it is time
consuming and costly to carry out a project based
learning methodology.
References
[1] Computing Curricula 2005, the Overview Report. ACM,
IEEE-Computer Society, 2005
[2] A. McGettrick et al, "Computer engineering curriculum in
the new millennium" IEEE T. on Education 46(4), 2003.
[3] J.Cerdá et al, "An active methodology for teaching
electronic systems design" IEEE T. on Education, 49(3), 2006
[4] V. Sklyarov and I. Skliarova, "Teaching reconfigurable
systems: methods, tools, tutorials, and projects" IEEE T. on
Education, 48(2), 2005
[5] T.Sansaloni et al, "FFT spectrum analyzer project for
teaching digital signal processing with FPGA devices" IEEE
T. on Education, 50(3), 2007
[6] J. Macías-Guarasa et al. "A project-based learning
approach to design electronic system curricula" IEEE Trans.
Education, 49(3) 2006.
[7] J.L. Gonzalez-V., J.E. Loya-Hernandez "Project-based
learning of reconfigurable high density digital systems design:
an interdisciplinary context based approach", Frontiers in
Education Conf. 2007, USA
[8] J. Northern "Project-Based learning for a digital circuits
design sequence" IEEE Region. 5 Technical Conf., USA 2007
[9] ECTS Users’ Guide, European Credit Transfer and
Accumulation System and the Diploma Supplement. Belgium:
Directorate-General for Education and Culture, 2005.
[10] F. Machado, S. Borromeo, N. Malpica "Diseño digital con
esquemáticos y FPGA", ed. Dykinson, Spain, 2009
[11] http://www.xilinx.com
[12] http://www.digilentinc.com
[13] F. Machado, S. Borromeo, N. Malpica, "Diseño digital
avanzado con VHDL". ed Dykinson, Spain, 2009.
[14] Course web page: http://gtebim.es/docencia/DCSE
[15] P. Canto et al. "Cómo congeniar los exámenes y los
proyectos en asignaturas PBL", JENUI, Spain, 2007