FPGA Design for Embedded Systems Training Course
FPGA (Field Programmable Gate Array) is an integrated circuit that can be customised after manufacture.
This instructor-led, live training (delivered either online or on-site) is designed for engineers who wish to develop high-performance embedded systems using FPGA technology.
By the end of this training, participants will be able to:
- Install and configure the necessary FPGA software tools to design and simulate an embedded system.
- Select the most suitable FPGA architecture for a given application.
- Develop and refine a range of FPGA designs.
Course Format
- Interactive lectures and group discussions.
- Extensive hands-on exercises and practical practice.
- Real-time implementation in a live lab environment.
Course Customisation Options
- To request a customised version of this course, please contact us to arrange.
Course Outline
Introduction
Overview of Development Boards and HDLs (Hardware Description Languages)
Overview of FPGA Features and Architecture
Understanding the FPGA Design Flow
Evaluating FPGA Architectures and Memory Types
Setting Up FPGA Design Tools
Creating a Design
Verifying Design Integrity
Simulating the System
Analysing Design Timing
Enhancing the Design
Troubleshooting
Summary and Conclusion
Requirements
- A solid understanding of embedded systems concepts
- Programming experience in any language
Audience
- Developers
- Electronics Design Engineers
Open Training Courses require 5+ participants.
FPGA Design for Embedded Systems Training Course - Booking
FPGA Design for Embedded Systems Training Course - Enquiry
FPGA Design for Embedded Systems - Consultancy Enquiry
Testimonials (2)
Trainer's way of explaining
Deepak Tiwari - Beamtrail
Course - Circuits and Electronics Fundamentals
The trainer was very interactive and steadily paced.
Carolyn Yaacoby - Yeshiva University
Course - Raspberry Pi for Beginners
Provisional Upcoming Courses (Require 5+ participants)
Related Courses
Advanced Embedded Systems Development
35 HoursThis instructor-led, live training in New Zealand (online or onsite) is designed for engineers who wish to learn how to use embedded C to program a variety of microcontrollers based on different processor architectures, including 8051, ARM Cortex M-3, and ARM9.
Arduino Programming for Beginners
21 HoursIn this instructor-led, live training in New Zealand, participants will learn how to program the Arduino for real-world applications, such as controlling lights, motors, and motion detection sensors. This course assumes the use of actual hardware components in a live lab environment (rather than software-simulated hardware).
By the end of this training, participants will be able to:
- Program the Arduino to control lights, motors, and other devices.
- Understand the Arduino architecture, including inputs and connectors for add-on devices.
- Integrate third-party components such as LCDs, accelerometers, gyroscopes, and GPS trackers to extend the Arduino's functionality.
- Explore various programming language options, from C to drag-and-drop environments.
- Test, debug, and deploy Arduino solutions to tackle real-world challenges.
Buildroot: a Firmware Generator for Embedded Systems
7 HoursBuildroot is an open-source project that includes scripts for generating a cross-compilation toolchain, a customisable root filesystem image, and a Linux kernel tailored for embedded devices. Throughout this hands-on course, participants will learn how to use Buildroot to:
- Select the software to be included in the root filesystem.
- Add new packages and modify existing ones.
- Integrate support for new embedded boards.
By the end of the course, participants will have produced bootable filesystem images. Remote sessions utilise the QEMU emulator, while in-person training can be conducted using either QEMU or real embedded boards, at the trainer's discretion.
Other projects with similar objectives include the Yocto Project and OpenWRT. Please refer to these presentations to determine which solution best meets your needs.
Circuits and Electronics Fundamentals
14 HoursThis instructor-led, live training in New Zealand (available online or on-site) is designed for engineers and computer scientists who wish to apply the fundamentals of circuits and electronics to design devices and systems that leverage the properties of electrical components for developing hardware functionalities.
By the end of this training, participants will be able to:
- Set up and configure the necessary tools and programs for circuits and circuit board development.
- Understand the basic principles underpinning circuits and electronics engineering.
- Utilise primary electronic components to construct efficient computer hardware technologies.
- Optimise electronic devices by implementing circuit analysis methods.
- Apply the fundamentals of electronics and circuits to the development of enterprise applications.
Digital Signal Processing (DSP) Fundamentals
21 HoursThis instructor-led, live training in New Zealand (online or on-site) is designed for engineers and scientists who wish to learn and apply DSP implementations to efficiently manage various signal types and gain better control over multi-channel electronic systems.
By the end of this training, participants will be able to:
- Set up and configure the necessary software platforms and tools for Digital Signal Processing.
- Understand the concepts and principles that form the foundation of DSP and its applications.
- Familiarise themselves with DSP components and apply them in electronic systems.
- Develop algorithms and operational functions using results derived from DSP.
- Utilise the basic features of DSP software platforms and design signal filters.
- Synthesise DSP simulations and implement various types of filters for DSP.
Electronic Control Unit (ECU) - Practical Vector
28 HoursThis instructor-led, live training in New Zealand (available online or on-site) is designed for intermediate-level automotive engineers and technicians seeking hands-on experience in testing, simulating, and diagnosing ECUs using Vector tools such as CANoe and CANape.
By the end of this training, participants will be able to:
- Understand the role and function of ECUs within automotive systems.
- Set up and configure Vector tools including CANoe and CANape.
- Simulate and test ECU communication across CAN and LIN networks.
- Analyse data and carry out diagnostics on ECUs.
- Create test cases and automate testing workflows.
- Calibrate and optimise ECUs using practical, real-world approaches.
Electronic Control Unit (ECU) - Theoretical Vector
21 HoursThis instructor-led, live training in New Zealand (online or onsite) is aimed at intermediate-level automotive engineers and embedded systems developers who wish to understand the theoretical aspects of ECUs, with a focus on Vector-based tools and methodologies used in automotive design and development.
By the end of this training, participants will be able to:
- Understand the architecture and functions of ECUs in modern vehicles.
- Analyse communication protocols used in ECU development.
- Explore Vector-based tools and their theoretical applications.
- Apply model-based development principles to ECU design.
Learning Vivado
14 HoursThis instructor-led, live training in New Zealand (available online or on-site) is designed for FPGA developers who wish to use Vivado to design, debug, and implement hardware solutions.
By the end of this training, participants will be able to:
- Develop HDL systems using C code and Vivado tools.
- Generate and implement soft processors within Vivado.
- Test and simulate C code using Vivado.
LEDE: Set Up a Linux Wireless Router
7 HoursThe LEDE Project (Linux Embedded Development Environment) is a Linux-based operating system derived from OpenWrt. It serves as a comprehensive replacement for the vendor-provided firmware on a broad range of wireless routers and non-networking devices.
In this instructor-led, live training session, participants will learn how to configure a wireless router based on LEDE.
Audience
- Network administrators and technicians
Course Format
- A blend of lecture, discussion, exercises, and extensive hands-on practice
Deploying AI on Microcontrollers with TinyML
21 HoursThis instructor-led, live training in New Zealand (online or onsite) is designed for intermediate-level embedded systems engineers and AI developers who wish to deploy machine learning models on microcontrollers using TensorFlow Lite and Edge Impulse.
By the end of this training, participants will be able to:
- Understand the fundamentals of TinyML and its advantages for edge AI applications.
- Set up a development environment for TinyML projects.
- Train, optimise, and deploy AI models on low-power microcontrollers.
- Use TensorFlow Lite and Edge Impulse to implement real-world TinyML applications.
- Optimise AI models for power efficiency and memory constraints.
Microcontroller Design
35 HoursThis instructor-led, live training in New Zealand (delivered either online or on-site) is designed for engineers seeking to master the design principles of microcontrollers.
Raspberry Pi for Beginners
14 HoursRaspberry Pi is a compact, single-board computer.
In this instructor-led, live training, participants will learn how to set up and program the Raspberry Pi to function as an interactive and powerful embedded system.
By the end of this training, participants will be able to:
- Set up an IDE (integrated development environment) to maximise development productivity
- Program the Raspberry Pi to control devices such as motion sensors, alarms, web servers and printers.
- Understand the Raspberry Pi architecture, including inputs and connectors for add-on devices.
- Explore the various options available in programming languages and operating systems
- Test, debug and deploy the Raspberry Pi to solve real-world problems
Audience
- Developers
- Hardware/software technicians
- Technical professionals across all industries
- Hobbyists
Course format
- A blend of lecture, discussion, exercises and extensive hands-on practice
Note
- Raspberry Pi supports a range of operating systems and programming languages. This course will use Linux-based Raspbian as the operating system and Python as the programming language. To request a specific setup, please contact us to arrange.
- Participants are responsible for purchasing the Raspberry Pi hardware and components.
Tensorflow Lite for Microcontrollers
21 HoursThis instructor-led, live training in New Zealand (online or onsite) is aimed at engineers who wish to write, load, and run machine learning models on very small embedded devices.
By the end of this training, participants will be able to:
- Install TensorFlow Lite.
- Load machine learning models onto an embedded device to enable it to detect speech, classify images, and more.
- Add AI capabilities to hardware devices without relying on network connectivity.
Yocto Project
28 HoursIn this instructor-led, live training in New Zealand, participants will learn how to create a build system for embedded Linux based on the Yocto Project.
By the end of this training, participants will be able to:
- Understand the fundamental concepts behind a Yocto Project build system, including recipes, metadata, and layers.
- Build a Linux image and run it under emulation.
- Save time and effort when building embedded Linux systems.
The Yocto Project - An Overview - hands-on
28 HoursDescription
This four-day training blends theoretical knowledge with practical exercises to introduce participants to the Yocto Project.
It addresses common queries such as:
- Is it truly necessary to employ a different version of the toolchain, libraries, or packages for every GNU/Linux project, alongside adhering to a distinct workflow?
- Can you guarantee that the development environment remains consistent across all developers and suppliers, allowing you to produce identical builds today and in over a decade's time?
- Can the YP assist in identifying the software licenses applicable to the packages you utilise?
Practical sessions are conducted on target hardware (for instance, the Beagle Bone Black Rev. C - http://beagleboard.org/BLACK). Upon completion of the training, you will be able to download a Docker image containing Ubuntu 14.x with all dependencies pre-installed, along with examples, to facilitate working with the course material in your own laboratory environments. Please note that this is not an introductory course on Embedded GNU/Linux. Participants should already understand how Embedded GNU/Linux operates and possess the ability to configure and build the GNU/Linux kernel and its drivers.
Who should attend?
This course is designed for those who already use GNU/Linux for their projects and have likely heard of the Yocto Project but have hesitated to explore it further or encountered difficulties in its use. If you are unsure whether and how your daily workflow can integrate with the YP, or if you generally find the YP complex and question its necessity given previous perceived simplicity, this training will help you decide if the YP is suitable for your needs. The workshop is aimed at software engineers, development engineers, system engineers, testers, administrators, and other interested parties who have a solid understanding of Embedded GNU/Linux.