z-logo
open-access-imgOpen Access
Using A Microcoded Data Path To Introduce The Data Path And Controller Paradigm
Author(s) -
Jonathan Hill
Publication year - 2020
Language(s) - English
Resource type - Conference proceedings
DOI - 10.18260/1-2--16975
Subject(s) - computer science , path (computing) , finite state machine , multiplexer , programming language , controller (irrigation) , state (computer science) , theoretical computer science , vhdl , construct (python library) , verilog , arithmetic logic unit , computer engineering , field programmable gate array , computer hardware , multiplexing , agronomy , biology , telecommunications
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. Introduction 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. P ge 15315.2 Our students use Xilinx ISE software to simulate and implement their projects along with an inexpensive Field Programmable Gate Array (FPGA) development board, such as the Spartan-3 Starter Board outlined in Figure 1. Of the features, we use the buttons, switches, LEDs, sevensegment displays, and the RS232-style serial communications port. There is a 50MHz clock oscillator and two 512 kByte memory devices, which are not shown here. Two different JTAG connectors are provided to configure the board. The platform FLASH is used to make a design permanent. The board also has a VGA video port, a PS2 keyboard and mouse port, as well as power and expansion connectors.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom