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
16 Sep 2024 ONLINE EurAsia Enquire
15 Oct 2024 ONLINE Americas 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