Flipping Lectures in a Junior-level Course in Digital Design Using VHDL

2013 
A junior-level course in digital design using VHDL has been taught at Oakland University for many years.  In this course, students design digital systems using VHDL, and implement the designs on a Xilinx FPGA.  In such a course, several concepts must be introduced to transition students from the basics of digital logic to developing skills in designing, testing, and implementing digital systems.  In the past, we have taught the course using a traditional lecture-lab-project format combined with an approach that employs learning by example.  Recently, we experimented with teaching the course by 'flipping' the lectures using videos that students watch before they come to class, which helps them to complete the homework that is assigned on new concepts not yet presented in lecture.  After learning from the brief video lessons and completing or attempting the homework, we have found that in the lectures the instructor is able to teach the concepts more quickly and with more depth than before.  In addition, students are more engaged during the class because they have formulated questions, opinions, and experience with the new topics being presented.  We have also changed the homework format to one led by the students, who complete the homework and are called upon at random to present to the class the solution or the work that they attempted on the problem.  The class, facilitated by the instructor, comments, discusses, and if necessary modifies the solutions together.  The knowledge and skills that they have gained in this fashion, coupled with experience from their laboratory assignments result in an end-of-semester project where students design some type of video game or other video-based device.  They must not only design a VGA controller, but they also learn how to implement algorithms directly in hardware.  It also requires students to work with timing issues, synchronizing parallel processes using multiple memories, create test benches, and other common embedded issues for a system that is fairly difficult to simulate. In this course, the students typically buy the Nexys2 FPGA development board for $99 from Digilent, Inc.  This board includes a 500k-gate equivalent Xilinx Spartan3E FPGA (1200k-gate capacity is also available), a VGA port, 16 MB of fast PSDRAM, 16 MB of flash memory, a 50 MHz clock, and many other peripherals.  The Active-HDL simulator with its integrated development environment for synthesizing and implementing the design on a Xilinx FPGA is available as a free download from Aldec for the students to put on their own laptops.    The book that students learn from is "Digital Design Using Digilent FPGA Boards: VHDL Active-HDL Edition" from LBE Books which includes fundamentals and over 75 digital design examples.  This book also comes with 111 short video lessons covering all topics and examples in the book. In this paper, we will describe the details of the new teaching style that we used for the course and show how students are able to design fairly sophisticated video games in a group project during the last 3-4 weeks of a 14-week course.  Typical video games that have been implemented by students include Jeopardy, The Price is Right, Frogger, the Wii Beater Bowling Game, Blackjack, DigiSketcher, Digital Music Player, Hangman, Dodge the Stalagtite, Memory Game, Tunnel Vision, and Pacman.  Sometimes, students turn their projects into useful products.  A good example was a project called Force-activated Portable Graphics Assistant (FPGA) that is an aid for musicians to turn the pages of sheet music while playing.  All groups make a video of their working projects and the video of this latter project is particularly effective.
    • Correction
    • Cite
    • Save
    • Machine Reading By IdeaReader
    2
    References
    0
    Citations
    NaN
    KQI
    []