Synthesis of Communicaton Interface for IP cores
Synthèse d'Interface de Communication pour les Composants Virtuels
Résumé
Performance requirements and constraints on design costs and power consumption still require that significant parts of Digital Signal Processing (DSP) systems are implemented using dedicated hardware blocks. To deal with the SoC challenges, designers use system-level description, co-design techniques and re-use IP cores. Unfortunately, the main problem when re-using pre-designed hardware accelerator arises from their integration and more particularly from the communication features. System integrator can use standard interface such as VCI proposed by VSIA. However in DSP applications, in addition to the protocol aspects, SoC designer has also to synchronize the components and to buffer data to ensure the system behavior and to meet timing constraints. IPs are indeed delivered at the RTL level that is, following the VSIA taxonomy, the highest abstraction level for synthesizable IP models (soft cores). However, such a description may be parameterizable, it relies on a fixed architectural model with very restricted customization capabilities. This lack of flexibility of RTL IPs is especially true for the communication unit whose sequence orders and timing requirements are set. IP are hence connected to the SoC bus through specific interfaces (wrappers) that adapt the system communication features to the IP requirements. Unfortunately, this adaptation increases the final SoC area and also decreases system performance. In some cases, the I/O timing requirements cannot be respected due to the wrapper overhead and can cause the SoC design to fail.
We propose an approach based on high-level synthesis techniques under constraints to design the behavioral IP specification. Hence, we aim to optimally synthesize the IP by taking into account, in its specification, the system integration constraints: application rate, technology, bus format, I/O timing properties specified by timing frames of transfers. We consider variable but bounded timing constraints in real time DSP applications to handle non-determinism on transfer times that can originate from (1) computation performed by other system components and/or (2) transfer delay and protocol overhead.
Our methodology proposes to raise the abstraction level of IP synthetizable models by introducing the concept of behavioral IP, described as an algorithm and specified using HDL language. Starting from the system description and its architecture model, the integrator, for each bus or port that connects the IP to SoC components, refines and specifies I/O protocols, data sequence orders and timing information of transfers. The virtual component specification is modeled by a Signal Flow Graph SFG. We first generate an intermediate Algorithmic Constraint Graph ACG from the operator latencies and the data dependencies expressed in the SFG. Having described the IP behavior and the IP design constraints in a formal model, we then analyze the feasibility between the rate, data dependencies of the algorithm and technological constraints. This analysis checks the ACG for positive cycles to ensure that the constraint graph is feasible without considering input arrival dates. In order to support the features of communication architectures specific to DSP application, we define a formal model named IOCG (IO Constraint Graph) that supports expressing of integration constraints for each bus (id. port) that connects the IP to the SoC components. It allows (1) to specify transfer related timing constraints such as ordered transactions, relative timing specification, min-max delay, (2) to include architecture features and (3) to express non determinism in the data transfer time. Finally we generate a Global Constraint Graph (GCG) by merging the ACG with the IOCG graph. Merging is done by mapping the vertices and associated constraints of IOCG onto input and output vertices set of ACG. A minimum timing constraint on output vertices (earliest date for data transfer) of the IOCG are transformed into the GCG in maximum timing constraints (latest date for data computation/production). With the formal description of the set of constraints, we analyze the consistency of the IP design constraints according to the algorithm ones. Consistency analysis refers to the dynamic behavior of the GCG graph. The entry point of the IP design task is the GCG that is used to synthesize the processing, memory, control and communication units that compose the IP architecture.
We applied our method to DSP and telecommunication applications. A first experiment was carried out on a FFT example. With the experimental conditions, the optimization of operators is among 20% and that of the registers of 7%, compared to a HLS approach ignoring I/O constraints. A second experiment uses a Discrete Cosine Transform DCT to compare the results, obtained by applying the approach of integration we proposed, with the results of the wrapperbased methods. For the considered example, the communication register gain varies from -2% to 88% for a constant I/O rate. The last experiment carried out in industrial partnership, has shown the applicability of our methodology on a complex behavioral IP (Maximum A posteriori MAP) in an application of real time Turbo decoding.
We propose an approach based on high-level synthesis techniques under constraints to design the behavioral IP specification. Hence, we aim to optimally synthesize the IP by taking into account, in its specification, the system integration constraints: application rate, technology, bus format, I/O timing properties specified by timing frames of transfers. We consider variable but bounded timing constraints in real time DSP applications to handle non-determinism on transfer times that can originate from (1) computation performed by other system components and/or (2) transfer delay and protocol overhead.
Our methodology proposes to raise the abstraction level of IP synthetizable models by introducing the concept of behavioral IP, described as an algorithm and specified using HDL language. Starting from the system description and its architecture model, the integrator, for each bus or port that connects the IP to SoC components, refines and specifies I/O protocols, data sequence orders and timing information of transfers. The virtual component specification is modeled by a Signal Flow Graph SFG. We first generate an intermediate Algorithmic Constraint Graph ACG from the operator latencies and the data dependencies expressed in the SFG. Having described the IP behavior and the IP design constraints in a formal model, we then analyze the feasibility between the rate, data dependencies of the algorithm and technological constraints. This analysis checks the ACG for positive cycles to ensure that the constraint graph is feasible without considering input arrival dates. In order to support the features of communication architectures specific to DSP application, we define a formal model named IOCG (IO Constraint Graph) that supports expressing of integration constraints for each bus (id. port) that connects the IP to the SoC components. It allows (1) to specify transfer related timing constraints such as ordered transactions, relative timing specification, min-max delay, (2) to include architecture features and (3) to express non determinism in the data transfer time. Finally we generate a Global Constraint Graph (GCG) by merging the ACG with the IOCG graph. Merging is done by mapping the vertices and associated constraints of IOCG onto input and output vertices set of ACG. A minimum timing constraint on output vertices (earliest date for data transfer) of the IOCG are transformed into the GCG in maximum timing constraints (latest date for data computation/production). With the formal description of the set of constraints, we analyze the consistency of the IP design constraints according to the algorithm ones. Consistency analysis refers to the dynamic behavior of the GCG graph. The entry point of the IP design task is the GCG that is used to synthesize the processing, memory, control and communication units that compose the IP architecture.
We applied our method to DSP and telecommunication applications. A first experiment was carried out on a FFT example. With the experimental conditions, the optimization of operators is among 20% and that of the registers of 7%, compared to a HLS approach ignoring I/O constraints. A second experiment uses a Discrete Cosine Transform DCT to compare the results, obtained by applying the approach of integration we proposed, with the results of the wrapperbased methods. For the considered example, the communication register gain varies from -2% to 88% for a constant I/O rate. The last experiment carried out in industrial partnership, has shown the applicability of our methodology on a complex behavioral IP (Maximum A posteriori MAP) in an application of real time Turbo decoding.
Actuellement, des systèmes complets, contenant une partie logicielle et une partie matérielle, sont intégrés sur une même puce nommée Système-sur-Silicium (SoC). Pour faire face à la complexité d'intégration et maîtriser les contraintes, les équipes de recherche proposent de nouvelles méthodologies de conception qui reposent sur (1) la réutilisation de blocs logiciels ou matériels préconçus (Composant Virtuel VC, Intellectual Property IP), (2) sur l'élévation du niveau de description des applications (System-Level Design) et (3) sur l'orthogonalisation de différents aspects (fonctionnalité/architecture, calculs/communication, besoins/contraintes/choix d'implantation). Malheureusement la difficulté de réutilisation liée au niveau de description RTL (Register Transfer Level), auquel sont fournis les IPs, ne permet pas une intégration aisée et optimisée. Ainsi, les méthodologies d'intégration à base d'adaptateurs additionnels sont souvent inadaptées aux contraintes et à la spécificité des algorithmes utilisés dans le domaine du traitement du signal et de l'image (TDSI). Elles peuvent de ce fait aboutir à la violation des contraintes en terme de surface, consommation et performances du système. La synthèse de l'unité de traitement (UT) est réalisée à l'aide de l'outil GAUT (Générateur Automatique d'Unité de Traitement) dont l'ordonnancement est contraint par les paramètres temporel de l'intégrateur du composant virtuel. La synthèse de l'UT génère un ensemble de contraintes au E/S, modélisé sous la forme d'un IPERM (IP Execution Requirement Model). Ce dernier modélise (1) les dates de production et de consommation des données dans l'UT et (2) les bus sur lesquels elles transitent entre l'unité de communication et l'unité de traitement. Les modèles IPERM et IOCG sont finalement utilisés pour synthétiser l'unité de communication. Nous avons appliqué notre méthode à des algorithmes des domaines du TDSI et des Télécommunications. La première expérience est réalisée sur un exemple de Transformée de Fourrier Rapide (FFT). Pour les conditions d'expérimentation retenues, l'optimisation du nombre d'opérateurs est en moyenne de 20% et celle des registres de 7%, par rapport à une approche classique. La deuxième expérience utilise une Transformée en Cosinus Discrète (DCT) pour comparer les résultats, obtenus en appliquant l'approche d'intégration proposée dans ce manuscrit, avec les résultats des méthodes utilisant des adaptateurs. Pour l'exemple considéré, le gain sur les registres de communications varie de -2% à 88% à débit d'E/S constant. La dernière expérience, réalisée en partenariat industriel, démontre l'applicabilité de notre méthodologie sur un composant virtuel comportemental complexe (Maximum A Posteriori MAP) dans le contexte d'une application de Turbo décodage temps réel.
Nous proposons dans ce mémoire une approche de réutilisation des IPs dans les applications orientées traitement du signal, de l'image et des télécommunications. Pour cela, nous basons notre approche sur la notion de composants virtuels de niveau algorithmique, définie dans le cadre des projets RNRT MILPAT (Méthodologie et Développement pour les Intellectual Properties pour Applications Telecom). Le flot de conception proposé s'inscrit dans la démarche Adéquation Algorithme Architecture du projet RNRT ALITPA (Définition et Application d'une méthodologie de développement pour les (IP) intellectual property de niveau comportemental dans les applications de télécommunication) et est basé sur l'utilisation de techniques de synthèse haut niveau sous contraintes d'intégration. Les unités fonctionnelles constituant l'architecture cible du composant sont (re)conçues en fonction des caractéristiques de l'architecture de communication du système et de la spécificité de l'application.
Dans ce contexte, la spécification de l'IP est modélisée par un Graphe Flot de Signaux (SFG) qui, couplé aux temps de propagations des opérateurs et à la cadence d'itération, permet la génération d'un graphe de contrainte algorithmique ACG. Nous avons développé une d'analyse formelle des contraintes, qui repose sur les calculs de cycles, et permet de vérifier la cohérence entre la cadence, les dépendances de données de l'algorithme et les contraintes technologiques.
Les contraintes d'intégration, spécifiées pour chacun des bus (ports) connectants l'IP aux autres composants du système, sont modélisées par un graphe de contraintes d'Entrée/Sortie IOCG (IO Constraint Graph) dont la sémantique est issue des travaux de Ku et De Micheli. Ce modèle supporte, entre autre, la modélisation (1) du type de transferts, (2) des varations temporelles des dates d'arrivées des données, (3) du séquencement des données échangées (4) des mécanismes liés aux protocoles. Les contraintes d'intégration et les contraintes algorithmiques de l'IP sont fusionnées pour fournir un graphe détaillé des contraintes GCG (Global Constraint Graph) exhibant les points de synchronisation entre l'environnement et le composant. Des optimisations pour l'implémentations sont proposées à partir de transformations formelles du graphe.
La synthèse de l'unité de traitement (UT) est réalisée à l'aide de l'outil GAUT (Générateur Automatique d'Unité de Traitement) dont l'ordonnancement est contraint par les paramètres temporel de l'intégrateur du composant virtuel. La synthèse de l'UT génère un ensemble de contraintes au E/S, modélisé sous la forme d'un IPERM (IP Execution Requirement Model). Ce dernier modélise (1) les dates de production et de consommation des données dans l'UT et (2) les bus sur lesquels elles transitent entre l'unité de communication et l'unité de traitement. Les modèles IPERM et IOCG sont finalement utilisés pour synthétiser l'unité de communication.
Nous avons appliqué notre méthode à des algorithmes des domaines du TDSI et des Télécommunications. La première expérience est réalisée sur un exemple de Transformée de Fourrier Rapide (FFT). Pour les conditions d'expérimentation retenues, l'optimisation du nombre d'opérateurs est en moyenne de 20% et celle des registres de 7%, par rapport à une approche classique. La deuxième expérience utilise une Transformée en Cosinus Discrète (DCT) pour comparer les résultats, obtenus en appliquant l'approche d'intégration proposée dans ce manuscrit, avec les résultats des méthodes utilisant des adaptateurs. Pour l'exemple considéré, le gain sur les registres de communications varie de -2% à 88% à débit d'E/S constant. La dernière expérience, réalisée en partenariat industriel, démontre l'applicabilité de notre méthodologie sur un composant virtuel comportemental complexe (Maximum A Posteriori MAP) dans le contexte d'une application de Turbo décodage temps réel.
Nous proposons dans ce mémoire une approche de réutilisation des IPs dans les applications orientées traitement du signal, de l'image et des télécommunications. Pour cela, nous basons notre approche sur la notion de composants virtuels de niveau algorithmique, définie dans le cadre des projets RNRT MILPAT (Méthodologie et Développement pour les Intellectual Properties pour Applications Telecom). Le flot de conception proposé s'inscrit dans la démarche Adéquation Algorithme Architecture du projet RNRT ALITPA (Définition et Application d'une méthodologie de développement pour les (IP) intellectual property de niveau comportemental dans les applications de télécommunication) et est basé sur l'utilisation de techniques de synthèse haut niveau sous contraintes d'intégration. Les unités fonctionnelles constituant l'architecture cible du composant sont (re)conçues en fonction des caractéristiques de l'architecture de communication du système et de la spécificité de l'application.
Dans ce contexte, la spécification de l'IP est modélisée par un Graphe Flot de Signaux (SFG) qui, couplé aux temps de propagations des opérateurs et à la cadence d'itération, permet la génération d'un graphe de contrainte algorithmique ACG. Nous avons développé une d'analyse formelle des contraintes, qui repose sur les calculs de cycles, et permet de vérifier la cohérence entre la cadence, les dépendances de données de l'algorithme et les contraintes technologiques.
Les contraintes d'intégration, spécifiées pour chacun des bus (ports) connectants l'IP aux autres composants du système, sont modélisées par un graphe de contraintes d'Entrée/Sortie IOCG (IO Constraint Graph) dont la sémantique est issue des travaux de Ku et De Micheli. Ce modèle supporte, entre autre, la modélisation (1) du type de transferts, (2) des varations temporelles des dates d'arrivées des données, (3) du séquencement des données échangées (4) des mécanismes liés aux protocoles. Les contraintes d'intégration et les contraintes algorithmiques de l'IP sont fusionnées pour fournir un graphe détaillé des contraintes GCG (Global Constraint Graph) exhibant les points de synchronisation entre l'environnement et le composant. Des optimisations pour l'implémentations sont proposées à partir de transformations formelles du graphe.
La synthèse de l'unité de traitement (UT) est réalisée à l'aide de l'outil GAUT (Générateur Automatique d'Unité de Traitement) dont l'ordonnancement est contraint par les paramètres temporel de l'intégrateur du composant virtuel. La synthèse de l'UT génère un ensemble de contraintes au E/S, modélisé sous la forme d'un IPERM (IP Execution Requirement Model). Ce dernier modélise (1) les dates de production et de consommation des données dans l'UT et (2) les bus sur lesquels elles transitent entre l'unité de communication et l'unité de traitement. Les modèles IPERM et IOCG sont finalement utilisés pour synthétiser l'unité de communication.
Nous avons appliqué notre méthode à des algorithmes des domaines du TDSI et des Télécommunications. La première expérience est réalisée sur un exemple de Transformée de Fourrier Rapide (FFT). Pour les conditions d'expérimentation retenues, l'optimisation du nombre d'opérateurs est en moyenne de 20% et celle des registres de 7%, par rapport à une approche classique. La deuxième expérience utilise une Transformée en Cosinus Discrète (DCT) pour comparer les résultats, obtenus en appliquant l'approche d'intégration proposée dans ce manuscrit, avec les résultats des méthodes utilisant des adaptateurs. Pour l'exemple considéré, le gain sur les registres de communications varie de -2% à 88% à débit d'E/S constant. La dernière expérience, réalisée en partenariat industriel, démontre l'applicabilité de notre méthodologie sur un composant virtuel comportemental complexe (Maximum A Posteriori MAP) dans le contexte d'une application de Turbo décodage temps réel.