it
Il Multi-Dataflow Composer (MDC) tool è il principale prodotto dello sforzo di ricerca condotto nell’ambito del progetto RPCT. Scopo principale del progetto è la definizione, l’implementazione e la verifica di un framework di sviluppo capace di generare automaticamente architetture riconfigurabili nel campo delle applicazioni multimediali, per progettare in maniera efficace ed efficiente piattaforme di fruizione/creazione di contenuti audio/video e per adattarsi all’eterogeneità e crescente complessità delle stesse.
Obiettivi Generali
Gli obiettivi del tool MDC coincidono con quelli del progetto RPCT stesso e sono:
- Gestione della complessità progettuale attraverso lo sviluppo di un framework integrato di hardware-software co-design in grado di generare automaticamente piattaforme complesse.
- Minimizzazione delle risorse da utilizzare attraverso l’utilizzo di algoritmi di fusione delle specifiche in ingresso.
- Massimizzazione delle performance al minor costo implementativo possibile attraverso la definizione di una strategia di esplorazione dello spazio di progetto.
Background: lo Standard MPEG-RVC
Il progetto RPCT nasce nell’ambito di studi legati allo standard MPEG-RVC, la cui caratteristica principale è la formalizzazione delle specifiche, sia hardware che software, dei diversi codec utilizzando il paradigma di programmazione dataflow. Modelli formali di questo tipo consentono di implementare in maniera efficace metodologie di hardware-software co-design permettendo di:
- curare la progettazione hardware adattando le piattaforme in maniera diretta alle specifiche di alto livello del sistema ed alle funzionalità/prestazioni da garantire;
- gestire la programmazione tenendo presenti le caratteristiche del sistema fisico, al fine di sfruttarne al massimo le sue potenzialità;
- riutilizzare/migliorare, nel tempo, parti delle specifiche grazie alla loro intrinseca modularità.
Nell’ambito dello standard MPEG-RVC, per agevolare ulteriormente il lavoro dei designer, sono poi stati sviluppati anche una serie di tool per l’automatizzazione del passaggio dalle specifiche dataflow alle implementazioni hardware e software dei codec. Il tool MDC è uno di questi, ma si possono annoverare anche:
- Open RVC-CAL Compiler (ORCC) – un compilatore (licenza BSD) per il linguaggio di programmazione dataflow RVC-CAL.
- TURNUS – un framework di esplorazione dello spazio di design per sistemi paralleli eterogenei progettati secondo il paradigma RVC.
- Xronos – un tool di high level synthesis da modelli dataflow RVC-CAL a descrizioni HDL.
- TCE – un ambiente di sviluppo, configurazione e programmazione di processori application-specific noti come TTA (Transport Triggered Architecture). Il toolset fornisce un flusso completo dai modelli dataflow RVC-CAL fino al codice RTL sintetizzabile del processore (sono supportati sia il VHDL che il Verilog) e programmi binari paralleli.
Nel campo delle applicazioni multimediali, l’approccio dataflow permette anche una gestione efficiente del parallelismo (l’esecuzione contemporanea di due o più parti dell’applicazione al fine di accelerarne l’esecuzione) in quanto esplicitato già ad alto livello.
Funzionamento Generale
Il flusso di progettazione alla base di MDC prevede di avere in ingresso un set di reti dataflow per poter generare in uscita un sistema multi-funzionale in grado di implementare le diverse funzionalità in ingresso, commutando tra di esse in un unico colpo di clock.
MDC si pone come obiettivo il massimo riutilizzo delle risorse disponibili per favorire sia il risparmio di area che quello di potenza. A questo proposito, al fine di poter realmente ottenere dei benefici attraverso il flusso di progettazione proposto, è fondamentale che le reti in ingresso abbiano un subset di attori comuni.
Applicazioni di Riferimento
MDC è stato originariamente sviluppato per applicazioni di codifica audio e video. Versioni successive di codec sono spesso caratterizzate da un alto grado di similarità. Inoltre, i dispositivi appartenenti questo campo applicativo, specialmente quelli portabili, sono generalmente soggetti a vincoli stringenti legati sia al consumo di potenza che al loro ingombro/peso. Di conseguenza, il sistema multi-funzionale generato da MDC, minimizzando il numero di risorse e i consumi di potenza, può risultare altamente performante.
Le caratteristiche dei sistemi generati da MDC hanno reso possibile l’applicazione del tool a contesti diversi da quello della codifica audio e video. In particolare MDC è stato impiegato principalmente nell’ambito di due diversi progetti di ricerca:
- Progetto Alba (Progetto di Ricerca FAR. D.L.G.S. 297/1999 MIUR) – sviluppo di una piattaforma riconfigurabile a basso consumo di potenza per l’elaborazione digitale di immagini.
- Progetto ELoRA (Progetto Regionale L.R.7/2007) – progettazione del sistema di acquisizione ed elaborazione del segnale neurale derivante dalle terminazioni nervose del moncone di un paziente amputato, con lo scopo finale di realizzare una vera e propria mano artificiale.
Guarda anche: Technology in use, How it works, Additional features.
en
The Multi -Dataflow Composer (MDC) tool is the primary outcome of the research activities carried out in the RPCT project. The main purpose of this project is the definition, development and verification of a design framework to automatically generate reconfigurable architectures in the field of multimedia applications. The aim is the effective and efficient design of dedicated platforms for the fruition/creation of audio/video content and the possibility of easily targeting the heterogeneity and the increasing complexity characterising this ever evolving application scenario.
General Objectives
The objectives of the MDC tool basically are the same of the RPCT project itself that are:
- Management of design complexity by developing an integrated framework for hardware-software-design to automatically generate complex platforms.
- Minimisation of the resources to be used by means of merging algorithms on the given high-level input specifications.
- Maximisation of the performance at the lowest possible cost by defining a design space exploration strategy.
Background: the MPEG-RVC Standard
The RPCT project was conceived within MPEG-RVC studies. The MPEG-RVC standard aims at describing codecs specification, either for software or hardware implementations, by means of the dataflow model of computation. Such a model allows to effectively implementing hardware-software co-design methodologies since it allows:
- characterizing the hardware substrate according to the high-level specifications of the system and the functionalities/performance to be supported/guaranteed;
- managing mapping and scheduling in a physical aware manner, to maximally benefit from the platform potentials;
- re-using/improving different part of the given specification, even along the time, thanks to the inherent modularity of the chosen formalism.
As part of the MPEG-RVC framework, to further facilitate the work of designers, a series of automated tools for the hardware and software implementation of the different codecs have been designed. The MDC tool is one of these tools. Other examples are:
- Open RVC-CAL Compiler (ORCC) – a compiler for the RVC-CAL dataflow programming language (under BSD license).
- TURNUS – a design space exploration framework for heterogeneous parallel systems.
- Xronos – a high-level synthesis tool that transform RVC-CAL dataflow models in HDL descriptions.
- TCE – a toolset for designing and programming customized processors based on the Transport Triggered Architecture (TTA). The toolset provides a complete retargetable co-design flow from high-level language programs down to synthesizable processor RTL (VHDL and Verilog backends supported) and parallel program binaries.
In the field of multimedia applications, the dataflow approach also allows efficient management of parallelism (the simultaneous processing of two or more parts of the application in order to accelerate the execution) that is natively expressed.
Functional Overview
The MDC flow requires as input a set of dataflow networks to be able to generate as output a multi-functional system capable of implementing the various requested functionality, switching among them in a single clock cycle.
MDC aims at maximising resource sharing and reuse to achieve both area and power saving. In this regard, in order to really benefit from the implemented design flow, it is essential that the input specifications have a common subset of actors to be shared.
Targeted Application Fields
MDC was originally developed for audio and video coding applications. Successive codecs specifications are very often characterized by functional similarities. Moreover, the devices targeting this application field, especially the portable ones, are generally subjected to stringent constraints in terms of power consumption and space/weight minimisation.
Consequently, the multi-functional system automatically assembled by MDC, minimizing the number of resources and the related power consumption, may result extremely performant.
The characteristics of the systems generated by MDC have made possible the application of the tool in contexts other than audio and video coding applications. In particular, MDC has been used in two research projects:
- Alba (FAR research Project under grant agreement 297/1999, MIUR) – this project aims at the development of a low power reconfigurable platform for digital image processing.
- Elora (Sardinian Regional Project LR7/2007) – this project aims at designing the acquisition and signal processing system of the neural signals, extracted from the peripheral nervous system of the stump in an amputee. The ultimate goal is achieving a real artificial hand.
See also: Technology in use, How it works, Additional features.