Daedalus: System-Level Design For Multi-Processor System-on-Chip |
Below, the design flow of the Daedalus framework is depicted. As mentioned before, Daedalus provides a single environment for rapid system-level architectural exploration, high-level synthesis, programming and prototyping of multimedia MP-SoC architectures. Here, a key assumption is that the MP-SoCs are constructed from a library of pre-determined and pre-verified IP components. These components include a variety of programmable and dedicated processors, memories and interconnects, thereby allowing the implementation of a wide range of MP-SoC platforms. Starting from a sequential application specification in C or C++, the PNgen tool allows for automatically converting the sequential application into a parallel Polyhedral Process Network (PPN) specification. Here, the sequential input specifications are restricted to so-called static affine nested loop programs, which is an important class of programs in, e.g., the scientific and multimedia application domains. By means of automated source-level transformations, PNgen is also capable of producing different input-output equivalent PPNs, in which for example the degree of parallelism can be varied. Such transformations enable application-level design space exploration.
The generated or handcrafted PPNs (the latter in the case that, e.g., the input specification did not entirely meet the requirements of the PNgen tool) can subsequently be used by our Sesame modeling and simulation environment to perform system-level architectural DSE. To this end, Sesame uses (high-level) architecture model components from the IP component library. Sesame allows for quickly evaluating the performance of different application to architecture mappings, HW/SW partitionings, and target platform architectures. Such DSE should result in a number of promising candidate system designs, of which their specifications (system level platform description, application-architecture mapping description, and application description) act as input to the ESPAM tool. This tool uses these system-level input specifications, together with RTL versions of the components from the IP library, to automatically generate synthesizable VHDL that implements the candidate MP-SoC platform architecture. In addition, it also generates the C/C++ code for those application processes that are mapped onto programmable cores. Using commercial synthesis tools and compilers, this implementation can be readily mapped onto an FPGA for prototyping. Such prototyping also allows for calibrating and validating Sesame's system-level models, and as a consequence, improving the trustworthiness of these models.
Ultimately, Daedalus aims at traversing its system-level design flow -- going from a sequential application to a working MP-SoC prototype in FPGA technology with the application mapped onto it -- in a matter of hours. Evidently, this would offer great potentials for quickly experimenting with different MP-SoC architectures and exploring design options during the early stages of design.
Last modified on: