/
Software Hardware Exchange Loop (SHEL) Flow

Software Hardware Exchange Loop (SHEL) Flow

The Software Hardware Exchange Loop (SHEL) Flow is a comprehensive process designed by AMD™ to facilitate the exchange of hardware and software configuration data among various open-source and proprietary tools. This includes the Yocto Project, Zephyr West, AMD Vitis™ Unified Software Platform, and AMD Vivado™ Design Suite.

image-20250306-201443.png
The SHEL Flow’s position in the broader Adaptive SoC development flow

Table of Contents

Purpose and Design Philosophy

The SHEL Flow adheres to open-source best practices, allowing customers to choose the operating systems, build tools, and hypervisors that best suit their unique designs and requirements. While the flow emphasizes Yocto Linux, Xen, OpenAMP, and Zephyr—tools that AMD™ uses internally—the primary design goal is to ensure that interfaces to each of these tools are stable, open-source, and easily adaptable to other environments and operating systems.

Central Tools in the SHEL Flow

The SHEL Flow relies on several key tools:

  • SDTGen: This tool translates proprietary output from the AMD Vivado™ Design Suite into a stable, open-source, text-based format. This format is designed to be reliable and accessible for any tool, vendor, or customer.

  • gen-machine-conf: gen-machine-conf delivers configuration data to various operating systems, build tools, and hypervisors that constitute a complex software system. gen-machine-conf runs within a Yocto Project environment.

  • Lopper: Lopper processes and transforms device tree data, facilitating seamless integration and automation across different software domains.

image-20250306-204057.png
SDTGen, gen-machine-conf and Lopper within the SHEL flow

Future Plans

As the SHEL Flow evolves, AMD™ plans to enhance the functionality and features of these tools to simplify the creation and management of increasingly complex software systems. Future developments include:

  • SDTGen: Significant backend changes are planned to make the translation process easier to maintain and less prone to bugs. Additionally, modifications will be made to allow SDTGen to be integrated into other tools, eliminating the need for a separate installation. Enhancements will also be made to how Dynamic Function Exchange (DFX) and segmented configuration partitions are represented, providing increased traceability and simplifying their usage.

  • gen-machine-conf: Expansion to support additional operating systems and hypervisors, such as Xen and Zephyr, within the Yocto environment, and to provide more generic output options to simplify usage of third party operating and build systems.

  • Lopper: Ongoing integration and development to support a wider range of device tree transformations and applications.

By focusing on these advancements, AMD™ aims to provide a flexible and powerful framework that supports diverse development needs and fosters innovation in multi-domain software designs.

Child Pages

 

Related content

© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy