Teaching Computer Architecture Using VHDL Simulation and FPGA Prototyping
Ronald J. Hayne · 2024
An Instructional Processor design example has been expanded to facilitate teaching of a Computer Architecture course.The system is modelled in VHDL and simulated using Xilinx design tools to demonstrate operation of the processor.A basic microcontroller is created by adding memory-mapped input/output (I/O).The system is implemented in hardware on a field programmable gate array (FPGA).The processor can then be interfaced with peripheral devices to demonstrate functional applications.A key component of the Computer Architecture course is a student design project.The Instructional Processor provides the base design, which can be modified to adapt to a new set of specifications.Students must modify the appropriate processor components and integrate them into the data path.The control unit must also be redesigned to accommodate the new instructions.A sample program is then tested via simulation of the updated VHDL model.The base processor is expanded by adding a serial communication interface, designed using a UART (universal asynchronous receiver transmitter).Next, a programmable timer and interrupt system are added to the processor architecture.The enhanced FPGA microcontroller is tested using a design example which gives students an in-depth look at both the internal details and external interfacing of a hardware-software system.The expanded Instructional Processor has been successfully used to teach Computer Architecture using VHDL modelling and simulation, combined with FPGA implementation and testing.The design project serves as a good assessment of the students' understanding of key design concepts via their use of industry-standard tools.Feedback has been very positive that the course illustrates fundamental design concepts reinforced by actual functioning hardware.