Hardware System

A few things to note about the hardware system that we have provided to you:

  • The ps7_0 block corresponds to the ARM-A9 CPU, which is running the Linux software and all of the software you will write in this class. This is a hard CPU, meaning it is implemented directly in silicon. The rest of the IP blocks in the design correspond to RTL modules that will be implemented in the FPGA fabric.
  • The processor connects to the axi_interconnect_0 block, which is the main system bus. This allows memory-mapped access from the CPU to the 11 peripherals in the system.
  • AXI GPIO Documentation: There are several physical I/O pins on the FPGA chip that connect to the RGB LEDs, LEDs, switches and buttons on the PYNQ board. The GPIO modules provides an interface between the processor bus and these physical pins. Each group of pins are connected to their own AXI GPIO module.
  • Fixed Interval Timer (FIT) Documentation: fit_timer_0 has been configured to generate an interrupt every 10ms.
  • AXI Interrupt Controller Documentation As you can see, user_intc has three interrupt inputs, fit_timer_0, btns_gpio and switches_gpio. The interrupt controller generates an interrupt output, which is connected to an interrupt line of the CPU.
  • Audio:
  • Video:


Interrupt System

Here is simplified system diagram that only contains interrupt-relevant stuff.