Honolulu, Hawaii
June 24, 2007
June 24, 2007
June 27, 2007
2153-5965
Electrical and Computer
15
12.1504.1 - 12.1504.15
10.18260/1-2--2758
https://peer.asee.org/2758
538
Lynne Slivovsky received her B.S. in Computer and Electrical Engineering and her M.S. and Ph.D. in Electrical Engineering from Purdue University in 1992, 1993, and 2001, respectively. She worked with the Engineering Projects In Community Service (EPICS) Program from 2001 to 2003. In Fall 2003, she started a tenure-track assistant professor position in Electrical Engineering and Computer Engineering at California Polytechnic State University, San Luis Obispo. She received a Frontiers In Education New Faculty Fellow Award in 2003. In 2006, she was named the Hood Professor of Electrical Engineering. Her research is in the areas of haptics, human computer interaction, computer vision, and engineering education. In her free time, she enjoys mountaineering, kayaking, and photography.
Albert A. Liddicoat received his M.S. and Ph.D. degrees in Electrical Engineering and his M.S. degree in Engineering Management from Stanford University in 1996, 2002 and 1999, respectively. Dr. Liddicoat worked for IBM’s Storage Technology Division from 1990 until 2002 where he held many positions in disk drive development including: servo system test and integration, ASIC development, system electronics and architecture, program management, and business line management. Currently, he is the Forbes Associate Professor and the Director of the Computer Engineering Program at Cal Poly State University in San Luis Obispo. His research interests include computer architecture, computer arithmetic, networks, and re-configurable computing.
Transforming the Microprocessor Class: Expanding Learning Objectives with Soft Core Processors
Abstract
The rapid evolution of semiconductor technology over the past four decades has fueled the information age and an era of ubiquitous computing. Furthermore, the exponential increase in the number of transistors available in integrated circuits has drastically changed the field of electrical and computer engineering. Computer Aided Design (CAD) tools allow systems engineers to work at higher-levels of abstraction to design increasingly more complex systems. Embedded system design has been a keystone course in electrical and computer engineering curricula. Following the migration from discrete components to programmable logic devices in introductory digital design courses we expect to see a similar, yet more selective, shift to the use of soft core processors in future microprocessor and embedded systems courses. Soft core processors and peripheral devices can readily be implemented on a programmable logic device, typically a Field Programmable Gate Array (FPGA), and can be customized with respect to system requirements. Off-the-shelf processors cannot offer a customized computer system or the ability to design user-specified hardware as part of a system-on-a-chip. These aspects are the most advantageous characteristics of the soft core approach to embedded systems. Students themselves will design their computing platform using only the necessary peripherals. They will define the memory system and assign addresses to memory mapped peripheral registers. They will analyze system performance based on hardware and software tradeoffs against a backdrop of the utilization of hardware resources, thus vastly increasing the design space they consider for their projects. In this paper we predict a shift in the pedagogical approach to teaching the microprocessor course from one that uses off the shelf processors to one that will include the teaching of the soft core processor. We support our claim by reviewing advances in the programmable logic industry from which these processors have emerged, outlining current soft core processor applications and trends in industry, detailing learning objectives for a soft core- based approach (patterned after the course we currently teach), and summarizing resources available to those interested in using soft core processors at their schools.
Introduction
The introductory microprocessor/microcontroller/embedded systems course (which we will refer to as the introductory embedded systems course for brevity) is integral to the electrical and computer engineering curriculum. Variations exist in processor, programming language, and textbook yet there are similarities in the topics covered and the labs performed1. Students are introduced to a processor, its architecture and instruction set, and the fundamentals to program and interface the processor to the outside world with D/A and A/D converters, for example. Students learn about memory mapped I/O, configure timers and serial interfaces (UARTs, SPI and I2C), and design real-time systems with interrupt-based schemes. Historically, this course has used commercial off-the-shelf processors; ARM, Atmel AVR, and flavors of the Motorola and Freescale 68HCxx processors are commonplace.
Slivovsky, L., & Liddicoat, A. (2007, June), Transforming The Microprocessor Class: Expanding Learning Objectives With Soft Core Processors Paper presented at 2007 Annual Conference & Exposition, Honolulu, Hawaii. 10.18260/1-2--2758
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2007 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015