Global training solutions for engineers creating the world's electronics

AMD - Embedded Systems Hardware and Software Design ONLINE

Training Duration: 4 sessions (6 hours per session)


PLEASE NOTE: This is a LIVE INSTRUCTOR-LED training event delivered ONLINE.

It covers the same scope and content as a scheduled in-person class and delivers comparable learning outcomes.


This course brings experienced FPGA designers up to speed on developing embedded systems for the Zynq™ System on Chip (SoC), or Zynq Ultrascale+™ MPSoC and adding and simulating AXI-based peripherals using bus functional model (BFM) simulation. In addition, this course introduces the concepts, tools, and techniques required for software design and development for the Zynq System on a Chip (SoC) using the AMD Software Development Kit (SDK).

This course uses materials developed by AMD and conveniently combines the courses:

Software and hardware design engineers who are interested in developing embedded systems with the Zynq System on Chip (SoC), or Zynq Ultrascale+ MPSoC and debugging using the AMD Standalone library.

  • FPGA design experience
  • Completion of Vivado FPGA Design Essentials training or equivalent knowledge of Vivado™ software tools
  • Basic understanding of C or C++ programming (including general debugging techniques)
  • Some HDL modelling experience
  • Conceptual understanding of embedded processing systems including device drivers, interrupt routines writing / modifying scripts, user applications and boot loader operation
  • Vivado™ Design or System Edition
  • Architecture: Zynq-7000 SoC (Arm® Cortex®-A9), Zynq Ultrascale+ MPSoC (Cortex-A53 and Cortex-R5 processors)

* This course focuses on the Zynq SoC and 7 Series FPGA architectures. Please contact Doulos for the specifics of the in-class lab board, other customizations or architecture.

After completing this training, you will be able to:

  • Describe the various tools that encompass an AMD embedded design
  • Rapidly architect an embedded system containing an Arm Cortex-A9/A53/R5 processor by using the Vivado IP Integrator and Configuration Wizard
  • Develop software applications using the Eclipse-based  Software Development Kit (SDK)
  • Create and integrate an IP-based processing system component in the Vivado Design Suite
  • Design and add a custom AXI interface-based peripheral to the embedded processing system
  • Simulate a custom AXI interface-based peripheral using verification IP (VIP)
  • Implement an effective software design environment for an AMD embedded system using the AMD SDK tools
  • Write a basic user application (under Standalone or Linux) using the AMD Software Development Kit (SDK)
  • Use Xilinx debugger tools to troubleshoot user applications
  • Apply software techniques to improve operability
  • Maintain and update software projects with changing hardware
  • Embedded UltraFast Design Methodology {Lecture, Demo} Outlines the different elements that comprise the Embedded Design Methodology
  • Overview of Embedded Hardware Development {Lecture, Demo} Overview of the embedded hardware development flow
  • Driving the IP Integrator Tool {Lecture, HW Lab 1} Describes how to access and effectively use the IPI tool
  • AXI: Introduction {Lecture} Introduces the AXI protocol
  • AXI: Variations {Lecture} Describes the differences and similarities among the three primary AXI variations.
  • AXI: Transactions {Lecture, Demo} Describes different types of AXI transactions
  • Introduction to Interrupts {Lecture} Introduces the concept of interrupts, basic terminology, and generic implementation
  • Interrupts: Hardware Architecture and Support {Lecture} Reviews the hardware that is typically available to help implement and manage interrupts
  • AXI: Connecting AXI IP {Lecture, Demo} Describes the relationships between different types of AXI interfaces and how they can be connected to form hierarchies
  • Creating a New AXI IP with the Wizard {Lecture, HW Lab 4} Explains how to use the Create and Import Wizard to create and package an AXI IP
  • AXI: BFM Simulation Using Verification IP (Lecture, HW Lab 5} Describes how to perform BFM simulation using the Verification IP
  • Zynq-7000 SoC Architecture Overview {Lecture, HW Lab 7, Demo} Overview of the Zynq-7000 SoC architecture
  • Zynq UltraScale+ MPSoC Architecture Overview {Lecture, Lab, Demo} Overview of the Zynq UltraScale+ MPSoC architecture
  • Overview of Embedded Software Development {Lecture} Overview of the process for building a user application
  • Embedded UltraFast Design Methodology {Lecture, Demo} Outlines the different elements that comprise the Embedded Design Methodology
  • Zynq-7000 SoC Architecture Overview {Lecture, Lab, Demo} Overview of the Zynq-7000 SoC architecture.
  • Zynq UltraScale+ MPSoC Architecture Overview {Lecture, Demo} Overview of the Zynq UltraScale+™ MPSoC architecture
  • Driving the SDK Tool {Lecture, SW Lab4} Introduces the basic behaviors required to drive the SDK tool to generate a C/C++ application that can be debugged
  • System Debugger {Lecture, Demo} Describes the basics of running a debugger and illustrates the most commonly used debugging commands.
  • Standalone Software Platform Development {Lecture, Lab 6} Covers the various software components, or layers, supplied by AMD that aid in the creation of low-level software
  • C Coding Support for Standalone {Lecture} Reviews the basic services (libraries) available when coding in the Standalone environment
  • Memory File System (Standalone) {Lecture, Lab 7} Introduces the memory file system (MFS) from the Standalone library, which provides drivers and utilities for effectively converting a region of memory into a file system
  • Using Linker Scripts {Lecture, Lab 8} Provides and overview and typical use of a linker script
  • Introduction to Interrupts {Lecture, Lab 9} Introduces the concept of interrupts, basic terminology, and generic implementation
  • Operating System: Introduction & Concepts {Lecture} Introduces the concept of the operating system and provides a simplified view into the generic way that operating systems work
  • Linux Software Application Development {Lecture, Lab 10} Introduces the Linux operating system, a brief history and how to use it 
  • Writing Code in the AMD Linux Environment {Lecture, Demo} Reviews the use of the AMD SDK tool for Linux software development
  • Booting Overview {Lecture, SW Lab 11} Describes the main points to how booting a processor is handled for Zynq SoC devices
  • Profiling Overview {Lecture, Demo} – Introduces the purpose and techniques for profiling a user application
  • Understanding Device Drivers {Lecture, Demo} Explains the concept of a device driver and how it is used by embedded systems
  • Custom Device Drivers {Lecture, SW Lab 13} Describes how to successfully write a custom device driver

Course Dates

03 Jun 2024 ONLINE Americas Enquire
17 Jun 2024 ONLINE EurAsia Enquire

Looking for team-based training, or other locations?

Complete an enquiry form and a Doulos representative will get back to you.

Enquiry FormPrice on request

Next dates for this course