June 20, 2010
June 20, 2010
June 23, 2010
Computers in Education
15.1315.1 - 15.1315.13
Using a Microcoded Data Path to Introduce the Data Path and Controller Paradigm
I regularly teach a course in VHDL and typically find that students struggle with the data path and controller (DPC) paradigm. The notion of the paradigm is that many systems, including microprocessors and peripheral devices, in theory or in practice are constructed of a data path that essentially performs the “work” of the system, along with a state machine that controls the behavior of the data path. This paradigm is essentially the register-transfer system level, which helps students to better understand many types of devices. The notion of the DPC paradigm is relevant not only to VHDL but to other hardware description languages including Verilog as well. Students generally find that coming to terms with such an advanced topic takes time and is at least as significant as a step forward as grasping the concept of state machines in logic circuits.
I have found that a data path constructed with simple components combined with a microcoded state machine aids students in overcoming the hurdle of mastering the DPC paradigm. The discussion of microcoding here is limited to that needed to complete the project. It is not my intention to develop an interpreter to construct a conventional microprocessor. Rather, as a programming language in its own right, microcoding provides a means to present the DPC paradigm in a convincing way.
An amazing thing about the paradigm is that a simple data path constructed with an arithmetic logic unit (ALU), multiplexers, and a few registers, along with a controller, can provide such varied and complex behavior. Furthermore, with such flexibility in design it is relatively easy to make changes for the project to be different each semester. The first version produced the Fibonacci sequence, and a more recent version incorporates external memory for the Sieve of Eratosthenes, producing prime numbers. Another version is the traditional Hello World program. Such a system also provides a context in which memory systems and peripheral devices can be presented and discussed.
This project has proven to be educationally valuable and is regularly assigned in my VHDL course. This paper outlines the DPC paradigm, introduces the microcoded data path (MDP) project, and outlines the how the MDP can be used as a context for advanced topics such as memory systems and peripheral devices, touches on some exercises, and presents student feedback.
Every fall semester I teach an introductory course in VHDL to seniors and graduate students. The seniors often make use of their new skills in performing their senior projects during the following spring semester. Our graduate students generally take VHDL early in their course of study and can apply their skills in research. The course typically involves four projects that build upon one another. Students work as individuals and have two weeks to implement a given project that is demonstrated in class and one week to write the corresponding project report.
Hill, J. (2010, June), Using A Microcoded Data Path To Introduce The Data Path And Controller Paradigm Paper presented at 2010 Annual Conference & Exposition, Louisville, Kentucky. 10.18260/1-2--16975
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: © 2010 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