A Hands-On Approach to Demonstrating Hardware/Software Tradeoffs in an Embedded System Design
Jeanne Christman, Eric Alley · 2020
This paper describes a Computer Engineering Technology lab activity in an Embedded Systems Design course used to provide students with an opportunity to substantiate the theory being presented in the classroom.The objective of the lab is to quantitatively evaluate both the hardware and software implementation of an image rotation algorithm on a System on a Programmable Chip (SOPC).In this exercise, students gain experience in embedded C programming, HDL design and custom instruction generation, along with the use of a VGA interface.In addition to the practical design experiences, students are able to measure the execution time, as well as compare system resource usage, of both implementations thus illustrating the hardware/software tradeoffs discussed in the lecture portion of the class.As in most engineering technology classes, the emphasis is on hands-on learning.Theoretical concepts are presented in lecture and put to test with weekly lab experiments.In this particular course, students analyze real-world embedded system design issues.They are well familiar with modern consumer products, which continue to get smaller, faster and consume less power.This experiment aims to illustrate that gains in speed, size or power often come at a cost to the other two factors.The quantitative investigation emphasizes, through a cost benefit analysis of a real world hands-on experience, the use of hardware versus software in an embedded system.This lab is an effective teaching tool which is engaging and interesting to the students.They are enthusiastic about analyzing and solving a real-world design issue.Displaying and manipulating images on the VGA further peaks their interest as they are able to visibly see the difference between the two implementations.