Asee peer logo

Using A Microcoded Data Path To Introduce The Data Path And Controller Paradigm

Download Paper |


2010 Annual Conference & Exposition


Louisville, Kentucky

Publication Date

June 20, 2010

Start Date

June 20, 2010

End Date

June 23, 2010



Conference Session

Software and Hardware for Educators II

Tagged Division

Computers in Education

Page Count


Page Numbers

15.1315.1 - 15.1315.13



Permanent URL

Download Count


Request a correction

Paper Authors


Jonathan Hill University of Hartford

visit author page

Jonathan Hill is an associate professor in Electrical and Computer Engineering at the University of Hartford in Connecticut. PhD and MSEE from Worcester Polytechnic Inst. in Worcester MA, and previously a project engineer at Digital Corp. He instructs graduate and undergraduate computer engineering computer courses, directs graduate research, and performs research involving embedded microprocessor based systems. His specific projects involve digital communications, signal processing, and intelligent instrumentation.

visit author page

Download Paper |

NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract

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