How software-defined SoCs and open-source tools are shaping embedded systems
The landscape of embedded systems is undergoing a significant transformation. More and more, we’re seeing a transition away from traditional hardware-defined systems, and towards software-defined systems-on-chip.
This article originally appeared in the August'24 magazine issue of Electronic Specifier Design – see ES's Magazine Archives for more featured publications.
Written By Henk Muller, CTO at XMOS
This shift, fuelled by the tools being made available to engineers, and the market forces pressuring them, could very well be opening the door to more efficient, flexible, cost-effective, and scalable solutions. But how?
Traditionally, embedded systems relied heavily on hardware-defined SoCs. Designed and manufactured for a specific role in a specific system, these SoCs were inflexible by definition – which meant that any change or update required redesigning the hardware, a process that is time-consuming, costly, and often impractical for rapidly evolving markets. This exposes manufacturers to a far greater risk of being left behind by the IoT market as it expands, and more agile competitors emerge.
By contrast, software-defined SoCs aren’t constrained by their physical construction. In allowing them to code in software, engineers can quickly adapt and modify systems without any physical alterations to the chip itself.
This approach allows for rapid updates and changes, significantly reducing development time and costs. Software-defined SoCs provide the dynamic flexibility which is crucial in today’s fast-paced market.
Unlike traditional hardware approaches, software-defined SoCs offer unparalleled design efficiency. They allow engineers to define functionalities through software, significantly reducing the need for extensive hardware modifications, and introducing bespoke code to maximise performance in that chip’s particular environment. This flexibility is crucial in today’s fast-paced market, where time-to-market and adaptability are key competitive advantages.
Aside from this, cost-effectiveness is another major benefit. As significant design changes can take place entirely in software, there’s no increase to the Bill of Materials (BoM), and more protection from ‘opportunity cost’, as new iterations of a design can be produced faster.
How do open-source tools come into play?
Being able to code in software is just part of the equation. How are engineers performing that coding – using which tools, and why?
Given that versatility and agility are so important, it’s at this point that many significant players are actually looking towards open-source tools to play a key role in this transformation. Forward-thinking designers want to retain flexibility in their designs, and benefit from the knowledgeable communities that develop around open-source technologies.
In some cases, this equips engineers with very specific tools for set functions – like TensorFlow Lite for Micro, an online library for machine learning models. In others, it might be something like FreeRTOS, an operating system for small processors – a tool that allows designers to access, and code within, a device in the first place.
Open-source can even provide the entire architectural basis for a design in the first place. RISC-V is a prominent example, with its community able to benefit from a shared, immediate familiarity and compatibility with standard designs, tools, and processes – allowing electronics engineers and designers to use the platform without having to re-engineer their designs or learn new tools or software.
Regardless of their specific application, the open-source nature of these tools provides a collaborative environment where developers can share new ideas, solutions, and improvements to existing products, welcoming a new world of innovation.
The future of embedded development
If open-source tools are already capable of empowering designers to such an extent, what can we expect to see in the future of embedded development?
Looking ahead, we’re expecting to see the advantages of software-driven SoCs further established by the growing prominence of programmable threads and multi-threaded architectures. These technologies are set to influence the next generation of intelligent IoT devices by enabling more complex and efficient processing capabilities.
Early software designed SoCs comprised a single micro-controller that can be programmed to, for example, control a dishwasher. The limitations here is that there is just a single task that is easily integrated. A multi-threaded architecture provides a modest number of threads (say 8 or 16 threads), each of which can be programmed to implement a task. Rather than programming a single micro-controller to implement a task, the designer can now program the equivalent of a board with 8 or 16 micro-controllers, each of which can solve part of the problem.
For example, whereas the dishwasher may have a display, two motors, and a raft of sensors, it may use one thread to drive the display, one to deal with all the sensors, and one thread each for controlling each of the motors. The strength of this approach is that a single programming method is used for the four threads, and that at a later stage a variant of the product may be made that adds an extra thread to deal with a Wi-Fi interface. In addition, it is easy to make customisations, or indeed related products that reuse part of the code-base.
The combination of software-defined SoCs, open-source tools, and advanced threading technologies promises to drive significant advancements in embedded system design. Engineers will be able to develop systems that are not only more powerful and efficient but also more adaptable to the ever-evolving demands of IoT devices – benefitting from the communities around those technologies in the process.
The transition to software-defined SoCs and the integration of open-source tools offers numerous benefits, including improved efficiency, flexibility, cost-effectiveness, and scalability. And as the industry continues to embrace these technologies, the potential for innovation in intelligent IoT devices is boundless.