Flexible Embedded AI for Automotive Systems: Hardware-Independent DNN Deployment with RISC-V
Modern automotive systems feature a range of sensors and cameras, providing input to driver assistance systems. Deep Neural Networks (DNNs) executed in embedded AI platforms can be used to analyze and interpret these inputs in a decentralized and efficient manner. The efficiency is achieved by tailoring and optimizing the DNNs for the specific AI platform used, a manual and compute-intensive task.
The collaborative MANNHEIM-FlexKI project set out to break this strong dependency between DNNs and hardware (HW) platforms by introducing a common middle layer, which allows the DNN to be flexibly deployed to different platforms. MANNHEIM-FlexKI was funded by the The Federal Ministry of Research, Technology and Space (BMFTR (FKZ: 16IS22086F)).
In addition to COTS platforms, this middle layer also supports a customizable HW platform. A framework was established with both IP and tooling to enable users to build and configure a custom platform, tailored to the specific requirements of the application. This enables a HW/SW co-design approach, resulting in a highly-efficient system, both in terms of energy consumption but also costs.
MINRES was involved in the project by contributing the following to the framework:
– We developed a new highly-efficient RISC-V core based on an out-of-order, multi-issue pipeline. This core is part of the framework to cover cases where high performance is required. It will expand our range of available TGC cores by providing an option with even higher performance.
– We extended our existing verification environment for the TGC cores to support this new, more complex core. This also includes support for verifying a core including processor caches.
– We provided a so-called “Control Cluster” to boot and configure the complete HW platform. It provides external interfaces such as GPI, UART and SPI and contains a TGC core developed in the collaboration project Scale4Edge. At startup it initializes the rest of the platform – where the actual DNN execution takes place. It can also be used for further controlling and monitoring after the initial startup. This “Control Cluster” is based on Moonlight, our configurable and extendable subsystem.
– In the process we were able to set-up an extensive validation for Moonlight, both in general and specifically for the “Control Cluster”. The validation uses modern and flexible validation methods, building on the cocotb verification framework.
To showcase the potential of the MANNHEIM-FlexKI framework we built a custom HW platform, utilizing the IP and tooling provided by different project partners. We collaborated closely with TU Darmstadt to integrate our new RISC-V core into the this HW platform and with University Tübingen (EKUT) in preparing the top-level design for tape-out. This is currently in the process of being manufactured as a demonstrator and we will talk more about the tape-out and our learnings in a future blog post.