WIMP51: Weekend Instructional Microprocessor

 

Goals: To create the WIMP51 processor in Quartus II Digital Circuit Design software, using Block Diagram Files (BDF), which can be downloaded on the Altera® DE2 FPGA board for experimentation. The implementation aims to:

·        Provide a visualization tool, using BDF, which allows a user to see how the different sub-systems are connected with each other.

·        Provide an interactive hardware facility, on the FPGA board, to view the different control signals and internal register data, during the FETCH, DECODE and EXECUTE cycle of each instruction, as the processor sequences through the entered program.

·        Provide a development platform, for students, to create their own WIMP51 version by adding additional instruction/s to the included instruction set.

 

Creators:

·        Larry Garringer

·        Mason Marshall

·        Ariel Moss

·        Dr. Rohit Dua: Advisor

 

Inspiration: The WIMP51 processor was originally created by D. Sullins, H. Pottinger and D. G. Beetner [1-2]. Salient features of the implementation were:

·        The processor was implemented using synthesizable VHDL.

·        An interactive graphical simulator was also created to be used in lab [1-2].

 

In addition to the two software/hardware based experiments proposed by [1-2], a third experiment, which effectively became the first project in the Digital Systems Design course, was suggested and created by [1-2].

 

Motivation behind a similar but different implementation:

·        Students taking the prerequisite course, Introduction to Computer Engineering, are only briefly exposed to VHDL programming. Most of the experimentation and hardware development, in lecture and laboratory, is performed, in Quartus II software, using BDF, and then downloaded on the Altera® FPGA board for testing. Creating the WIMP51 processor using BDFs, may give students a better visualization tool into the internal connections of the different sub-systems.

·        Since students, taking this course, are already experienced in using Quartus II software and the Altera® FPGA board, it may be relatively easy to implement the project, which includes modifying and enhancing the WIMP51 processor and its instruction set. 

 

A Similar but Different Implementation: The sources of current implementation were:

·        The architecture [1-2]:

 

 

NOTE: The current implementation does not include the PSEN signal.

 

·        The instruction set [1-2]:

 

 

NOTE: The instruction set was modified, for ease of implementation, for the last two instructions (JZ and SJMP). The new instruction set is

 

 

Interactive WIMP51 circuit diagram: WORKS BEST IN INTERNET EXPLORER!

Note: Clicking on the above link will open the top level diagram of the WIMP51 processor. Zoom in to view the interconnections. As you zoom in, you will find clickable links (Text in Gray Boxes), which will take you to lower level BDF.  

 

Sample Videos: Click on the images below to access videos, which show the salient features of the current WIMP51 implementation through 3 sample programs.

 

     WIMP51 Write Program Introduction

 

     WIMP51 Program Upload Demonstration

 

     WIMP51 Main Program Introduction

 

     WIMP51 Program 1 Demonstration

 

     WIMP51 Program 2 Demonstration

 

     WIMP51 Program 3 Demonstration

 

 

References:

[1]   D. Sullins, H. Pottinger, and D. G. Beetner, “The WIMP51: A Simple Processor and Visualization Tool to Introduce Undergraduates to Computer Organization,” Computers in Education Journal, vol. 13, pp 17-23, Jan. 2003.

 

[2]   D. Sullins, H. Pottinger, D. Beetner, "The WIMP51: A Simple Processor and Visualization Tool to Introduce Undergraduates to Computer Organization," ASEE, 2002, p 2232. (Refereed paper).

 

 

 

Design Team: Mason Marshall (left), Dr. Rohit Dua (Advisor, center), Ariel Moss (right), & Larry Garringer