SBAU412A November   2022  – May 2024 AFE7900 , AFE7903 , AFE7906 , AFE7920 , AFE7921 , AFE7950

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Introduction
  5. Prerequisites
  6. Typical Bare-Metal Design Flow
  7. Background
  8. Add Microblaze and SPI IP for Use in Vitis for Embedded Development
  9. Create New Platforms in Vitis
  10. Create New Application Projects in Vitis
  11. Build Application Projects
  12. Generate SPI Log for AFE79xx EVM
    1. 9.1 Generating the LMK SPI Log
    2. 9.2 Generating the AFE SPI Log
    3. 9.3 Converting SPI Logs to Format for Vitis
  13. 10AFE79xxEVM Board Modifications
  14. 11Configure the AXI GPIO
    1. 11.1 Initializing the GPIO
    2. 11.2 Setting the Direction
    3. 11.3 Setting High or Low for Corresponding Bits
  15. 12Configure the AXI SPI
  16. 13Set Up and Power on Hardware
  17. 14Set up ZCU102 Board Interface for VADJ_FMC
  18. 15Debug Application Projects and Set up Vitis Serial Terminal
  19. 16Execute the Application
  20. 17Revision History

Background

This example uses a soft core Microblaze because the Microblaze can be instantiated in most of the Xilinx FPGA families. The SPI, UART, and GPIO AXI blocks run on relatively lower frequency AXI clocks. As seen in Figure 4-1, the AXI peripherals are controlled by a Microblaze block through smart interconnects.

AFE7920 Typical Block Design With
                    Microblaze and AXI Peripherals Figure 4-1 Typical Block Design With Microblaze and AXI Peripherals

The HP port of the Microblaze drives AXI peripherals block design. The clocking of the entire IP is expected from a 100MHz differential clock source. This example uses a 100MHz differential clock source because this clock is typically available as ‘user clock’ in most FPGA EVMs. All other clock frequencies are derived internally through a clocking wizard. Depending on the number of independent SPI buses required in the system, more AXI SPI IPs can be added to the block design.