UNIVERSITY OF RUSE "ANGEL KANCHEV"
UNION OF SCIENTISTS - RUSE

Proceedings 2024
Faculty of Electrical and Electronic Engineering and AutomationBook 3.2 · Communication and Computer Technologies
This paper was selected as a Best Paper. Open the published version.

FRI-2G.303-1-CCT1-04

SUPPORTING DEVELOPMENT TOOLS FOR FPGA-BASED TRAINING PROCESSORS

Language: ENPages: 34-35

Cite this paper

Assoc. Prof. Aneliya Ivanova, PhD

Department of Computing “Angel Kanchev” University of Ruse

ORCID: 0000-0002-3859-2879

E-mail: aivanova@uni-ruse.bg

Assist. Prof. Nikolay Kostadinov, PhD

Department of Computing “Angel Kanchev” University of Ruse

ORCID: 0009-0009-4588-8078

E-mail: nkostadinov@uni-ruse.bg

Abstract

Experiments with programmable logic devices such as Field Programmable Gate Array (FPGA) have found their place in the lab exercises within various computer engineering courses, especially hardware-oriented ones. FPGA-based training processors, developed as course assignments have proved to be a useful educational tool for studying the basic concepts of computer architecture. One of the advantages of this approach is that students can experiment with different microarchitectures while they reconfigure their projects and modify the instruction set, addressing modes, and machine word size. In the Computer Systems and Technologies Bachelor Curriculum, the Design Technology (DT) course is a precursor to the Computer Architecture (CA) course, and in this sense, lab exercises with FPGA-based training processors will establish a fundamental knowledge base that will help the students better understand the more complex concepts taught in the CA course. This paper presents an overview of the major educational tools prepared for DT lab assignments: a family of educational processors, an assembler, and an assembly language simulator. One of the main requirements for the tools is to be customizable in terms of the machine type, instruction set, and machine word size of the target FPGA-based processor. Several examples are given to show how these hardware and software tools are used in the teaching process.

Keywords

Computer Architecture, CPU, FPGA-based Processor, Instruction Set, Addressing Mode, Assembler, Simulator

REFERENCES

  • Digilent (2016) https://digilent.com/reference/_media/basys3:%20basys3_rm.pdf
  • Fouda, A.M., A.B.Eldeen. (2013) Design modified architecture for MCS-51 with innovated instructions based on VHDL. Ain Shams Engineering Journal, Vol. 4, Issue 4, pp. 723-733, ISSN 2090-4479, https://doi.org/10.1016/j.asej.2012.12.001.
  • Ivanova, A., N. Kostadinov (2023). Educational VHDL Models of Processors with Von Neumann and Harvard Architectures PROCEEDINGS OF UNIVERSITY OF RUSE, volume 62, book 3.2, pp. 60-66.
  • Larkins, D.B., Jones, W.M., & Rickard, H.E. (2013). Using FPGAs as a reconfigurable teaching tool throughout CS systems curriculum. Technical Symposium on Computer Science Education.
  • Nakano, K. & Y. Ito. (2008). Processor, Assembler, and Compiler Design Education Using an FPGA. In Proceedings of the 2008 14th IEEE International Conference on Parallel and Distributed Systems (ICPADS ‘08). IEEE Computer Society, USA, 723-728.
  • Turner, R., Cotton, D., Morrison, D., & Kneale, P. (2022). Embedding interdisciplinary learning into the first-year undergraduate curriculum: drivers and barriers in a cross-institutional enhancement project. Teaching in Higher Education, 29(4), 1092-1108. https://doi.org/10.1080/13562517.2022.2056834
  • Vivado (2023) https://www.xilinx.com/products/design-tools/vivado.html
  • Dabu, C.-M. (2017). Computer Science Education and Interdisciplinarity. InTech. doi: 10.5772/intechopen.68580
  • Zavala, A.H., O.C. Nieto, J.A. Huerta Ruelas, A.R. Carvallo Domínguez. (2015). Design of a General Purpose 8-bit RISC Processor for Computer Architecture Learning. Computación y Sistemas, Vol. 19, No. 2, 2015, pp. 371-385, ISSN 1405-5546, doi: 10.13053/CyS-19-2-1941.