June 14, 2009
June 14, 2009
June 17, 2009
Computers in Education
14.195.1 - 14.195.8
An FPGA Multiprocessor System for Undergraduate Study
We present our experiences using multiple soft processor cores on an FPGA to study advanced computer architecture at the undergraduate level. Our system instantiates multiple processor cores on a single FPGA device using the Altera Nios® II soft processor and associated CAD tools. With an easy to use development environment and powerful tools to quickly generate designs, an FPGA platform provides the necessary flexibility to quickly produce a working system. Students are able to easily modify and adapt their designs for a specific application. We demonstrate that multiprocessor systems can be developed, implemented and studied by undergraduate students due to the availability and accessibility of design tools and FPGA development boards. Further, these systems enhance the learning of multiprocessors and aptly compliment advanced computer architecture courses covering topics to include shared memory, synchronization, sequential consistency, and memory coherency.
The last few years have seen a dramatic increase in the capabilities and performance of soft processor cores in Field Programmable Gate Arrays (FPGA). Once limited by relatively low clock speeds, a large number of gates, and cumbersome Computer Aided Design (CAD) tools, these soft processor cores are quickly becoming increasingly powerful for prototyping and high- speed designs. The industry shift toward multiple processors on a single die has brought the need to prototype these designs on reconfigurable systems. At the Intel Developer’s Forum in 2005, the Intel President Paul Otellini stated: “We are dedicating all of our future product development to multicore designs. We believe this is a key inflection point for the industry.” With this paradigm shift in processor technology, it becomes more critical that students are introduced to these types of systems at the undergraduate level.
FPGAs have become commonly available to undergraduate students in digital logic and computer architecture courses. Students are able to code in hardware description languages (Verilog and VHDL) to implement a simple AND gate or utilize industrial quality RISC-based processor cores for high-end designs. The design tools and hardware development boards accessible by undergraduate students have enabled them to produce designs that are comparable to those formerly restricted to the graduate level or in industry.
At the United States Military Academy at West Point, we study and utilize FPGAs in many of our electrical engineering courses. In the Department of Electrical Engineering and Computer Science, EE majors take a number of core courses to include EE360 (Digital Logic) and EE375 (Computer Architecture using VHDL). The program also offers a number of depth threads where the student can focus on a particular area of electrical engineering (i.e. computer architecture). Students learn digital logic in EE360 through the use of MSI (medium-scale integration) logic devices, CPLDs (complex programmable logic devices) and FPGAs. In EE375, students continue to learn computer architecture and VHDL by studying an in-house RISC-based processor core. The final course in the digital thread is EE484 (Advanced Computer
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: © 2009 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