Teaching Computer Architecture with FPGA Boards- Harris & Harris

As the academic school year winds down, some educators find themselves preparing to re-tool their Computer Architecture course over the summer. We here at Digilent, have a suggestion to help with that effort.

Computer Architecture is a course that most accredited ECE curriculums require for their undergraduates. Understanding the theory of data paths, control structures, memory systems and how each fit together, enables students to have strong foundations for understanding the modern computing problems they will face in industry. To meet this need, Digilent partnered with Imagination Technologies and Sarah Harris from Harvey Mudd College, to create a comprehensive course that gives students the ability to learn Computer Architecture in a integrated system context.

The course begins with fundamental digital logic gates, then moves to design of combination and sequential circuits. These are then combined into the beginning of designing a processor with the end result being a MIPS processor. Then students are exposed to the practice of building peripherals (such as RS232, SPI, interupts, analog to digital conversions, motor controllers etc.). Educators will have a choice between teaching Verilog of VHDL, since both are used in examples. In the end, the student will have built a functioning processor, intergrated peripherals and have the option to explore the additional exercises that show techniques for advanced architectures and I/O applications they will likely run into in industry, embedded system needs, heterogeneous computing and such. There is an appendix on C programming that can help solidify a students understanding of how programming is affected by processor architecture.

Internal architecture of a MIPS core

To help with the concepts of building a processor from the gate level to the programming of that processor, a FPGA trainer board serves as a scalable tool that helps students root the concepts into hardware they can see and touch. All of the material was designed to run on the Nexys A7-100T (formerly known as the Nexys 4DDR). This board has an entire suite of peripherals that students can stay busy learning how to connect. Peripherals such as switches, LEDs, seven segment displays, VGA, Ethernet, USB, audio, temperature sensors and accelerometers are on-board. If a lower cost version of the board is desired, the material will also port to the Nexys A7-50T and the less feature-heavy, but more cost-effective Basys 3.

Nexys A7-100T
Nexys 4DDR
Nexys A7-50TBasys 3
FPGA PartXC7A100T-1CSG324C XC7A50T-1CSG324C XCA35T-1CPG236C
Logic Slices15,8508,150
5,200
DSP Slices24012090
Memory DDR2- 128MBDDR2- 128MB
n/a
16MB RAM16MB RAM
n/a
micro SD cardmicro SD cardn/a
Expansion5 Pmod ports5 Pmod ports
4 Pmod ports
EthernetYesYes
No
PeripheralsPWM audio
3 axis accelerometer
16 user switches
16 green leds
2 rgb leds
PDM microphone
Temperature sensor
Two 4-digit 7 segment displays
USB HID Host
12 bit VGA
PWM audio
3 axis accelerometer
16 user switches
16 green leds
2 rgb leds
PDM microphone
Temperature sensor
Two 4-digit 7 segment displays
USB HID host
12 bit VGA


16 user switches
16 green leds



4 digit 7 segment display
USB HID Host
12 bit VGA
Cables:Included micro USBIncluded micro USB
Box:IncludedIncludedSold separately
Price:$265 USD$229 USD$149 USD
Academic PriceYesYesYes

All of the boards allow for easy Pmod expansion and are eligible for academic discounts.

Relevant Resources:

  1. Textbook: https://www.elsevier.com/books/digital-design-and-computer-architecture/harris/978-0-12-394424-5
  2. Videos: https://www.youtube.com/watch?v=MRLQBT03JAs&list=PLSTiCUiN_BoJcWlxQTxbKE3VQBQhwFLDP 
  3. Course and lab material (including the MicroAdaptiv Core) : https://booksite.elsevier.com/9780123944245/?ISBN=9780123944245
  4. Recomended hardware: https://store.digilentinc.com/nexys-a7-fpga-trainer-board-recommended-for-ece-curriculum/

We believe that this course is unique because it allows students to experience every part of the processor development cycle. Students can first be introduced to an existing processor on a PIC32 architecture with a board such as the Digilent Wi-Fire. This gives students a frame of reference of what the “end goal” product will be. Then, they can recreate the same processor core within an FPGA and in essence, “peek under the hood”. This is a departure from most architecture classes where a processor is broken down into conceptual black boxes, and students don’t have access to the low-level hardware assembly. The combination of this style of teaching and the companion materials can help an educator get up and running quickly. All of this is why Digilent recommends this solution for Computer Architecture courses! For more information, visit: https://www.mips.com/mac/resources/ 

About Larissa Swanland

I'm a bit of an electronics-education evangelist. After all, Education is how we learn about the world. Electronics make the world better. Engineers change the world. So more engineers that know how to design and create electronics? That's the kind of world I want to help create.

View all posts by Larissa Swanland →

One Comment on “Teaching Computer Architecture with FPGA Boards- Harris & Harris”

Leave a Reply

Your email address will not be published. Required fields are marked *