Skip to content

Drive-On-Chip with PLC Design Example for Agilex™ 5 Devices

Features of the Drive-on-Chip with PLC Design Example for Agilex™ 5 Devices

Linux operating system on the Agilex™ HPS

  • Based on Poky Linux with additional Yocto layers supporting Altera® FPGAs.
  • Uses the Yocto build system.
  • Additional Yocto Layer(s) supporting OpenPLC and Docker (meta-fpga-embedded).

Docker container for Runtime

A Docker container is an encapsulated environment used to isolate programs from each other within an operating system.

  • Dockerfile and build scripts are supplied for OpenPLC runtime.
  • Docker build flow for cross-compiling:
    • The container is built on x86 system to run on Arm processor HPS.

OpenPLC Runtime

The OpenPLC Runtime is a system for running IEC 61131 Structured Text (ST) PLC Applications to control the Drive-on-Chip simulated motor axes.

  • OpenPLC is an Open Source PLC (Programmable Logic Controller) Runtime.
  • The PLC Runtime has software tools to convert the PLC application (written in Structured Text) to a compiled binary for the Agilex™ HPS.
  • The software compiling tools run on a host PC x86-64 architecture and the output binaries (docker image) are for the Arm64 (Agilex™ HPS architecture)
  • A Motion Control library as specified by the PLCOpen Standard is integrated into the runtime and is available to PLC applications.
  • The Motion Control library provides a high level API for motor axis control e.g. setting velocity, setting position, stopping, etc; with defined constraints for acceleration and speed.
  • Drive-On-Chip OpenPLC driver for Agilex™ devices.
  • Ruckig library for trajectory control.
  • Hardware support for dual axis Agilex™ Drive-On-Chip IP application.
  • Structured Text (.st) example application for Agilex™ Drive-On-Chip control.

Drive-on-Chip Motor Control IP on the Agilex™ FPGA


Back to Documentation


Last update: May 1, 2025
Created: May 1, 2025