Machine-learning (ML) and artificial-intelligence (AI) models based on deep neural networks (DNNs) are being exploited in a plethora of applications from voice analysis in the cloud for smart speakers to identifying objects for self-driving cars. Many of these applications employ multiple models that perform different types of identification and optimization chores.
But consumer and business applications aren’t the only places where AI/ML is coming into play. AI/ML software-development kits allow designers to incorporate these technologies into their own products, and tool developers are integrating them into their solutions so that the compiler you’re using might have an AI/ML model or two tuning your next design.
Cadence’s Cerebrus Intelligent Chip Explorer is one example of a software tool that’s taking advantage of AI/ML models to improve the output of the tools, as well as speed up their performance. Chip design is one of the most challenging hardware design chores that’s become even more complicated with single chips now housing billions of transistors. In fact, Cerebras Systems’ Waferscale Engine (WSE) incorporates trillions of transistors.
Cerebrus employs machine learning for improved power, performance, and area (PPA) determination as well as automated floorplan exploration (see figure). The AI/ML support is used more as a digital assistant to augment a designer’s choices by running multiple design options to find the best solution.\
Xilinx’s latest Vivado ML Edition takes a similar approach to improving FPGA layout. The intelligent design runs (IDRs) use a number of different ML models to improve things like timing closure. The gain in quality of results (QoR) for projects evaluated by Xilinx was 10% on average, with some solutions improving by over 50%.
AI/ML will continue to crop up in more tools. However, in conventional language compilers like gcc or LLVM, it’s made fewer inroads because such compilers already have a good deal of optimization implemented by design.
AI/ML technology continues to evolve as are the applications where this technology can be used. Even if you can’t take advantage of it in your application, you may still be doing so with the tools you employ to create it.