Comprehensive Xilinx embedded system using microblaze
This course is designed to bring FPGA designers up to speed on developing embedded systems using the Vivado Design Suite. The features and capabilities of MicroBlaze™ soft processor are covered in lectures, demonstrations, and labs, along with general embedded concepts, tools, and techniques. The hands-on labs provide students with experience designing, expanding, and modifying an embedded system, including adding and simulating a custom AXI-based peripheral using bus functional model (BFM) simulation. You will learn the concepts, tools, and techniques required for the software phase of the design cycle.
Topics are comprehensive, covering the basics of SDK tool use, customization of the board support packages (BSPs) for resource access and management of the Xilinx Standalone library. Major topics include device driver use, user application debugging and integration.
HDL (VHDL/Verilog) development experience
Understanding of Xilinx Vivado Tool
Overview of Embedded HW Development
Overview of the embedded hardware development flow.
Driving Vivado IPI Tools
Describes how to access and effectively use the IPI tool.
Overview of Embedded Software Development
Reviews the process of building a user application.
Driving Xilinx SDK
Introduces the basic behaviors required to drive the SDK tool to generate a debug-able C/C++ application.
AXI Interconnects for Xilinx Embedded System
Describes the differences and similarities among the three primary AXI variations. Describes different types of AXI transactions.
Introduction to Interrupt
Introduces the concept of interrupts, basic terminology, and generic implementation. Reviews the hardware that is typically available to help implement and manage interrupts
Connecting AXI IP
Describes the relationships between different types of AXI interfaces and how they can be connected to form hierarchies.
Creating AXI compatible IP
Explains how to use the Create and Import Wizard to create and package an AXI IP.
AXI Verification Method
Describes how to perform BFM simulation using the Verification IP.
Overview of the MicroBlaze microprocessor architecture.
MicroBlaze Block RAM usage
Highlights how block RAM can be used with the MicroBlaze processor.
Describes the basics of actually running a debugger and illustrates the most commonly used debugging command
Standalone Software Platform Development
Covers the various software components, or layers, supplied by Xilinx that aid in the creation of low-level software.
C Coding Support for Standalone
Reviews the basic services (libraries) available when coding in the Standalone environment.
Memory File System
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
Overview of the purpose and typical use of a linker script.
Interrupts: Software Considerations
Describes many of the considerations that a software coder must take into account when supporting interrupts.
Introduction to Linux OS and Applications
Introduces the concept of the operating system and provides a simplified view into the generic way that operating systems work. Introduces the Linux operating system, a brief history, and how to use it.
Describes the main points to how booting a processor is handled for Zynq SoC devices and MicroBlaze processors.
Introduces the purpose and techniques for profiling a user application.
Understanding Device Drivers
Explains the concept of a device driver and how it is used by embedded systems.
Custom Device Drivers
Describes how to successfully write a custom device driver.