Méthodes d’analyse appliquées aux circuits asynchrones

Design structurel

Une approche fréquemment utilisée dans le design traditionnel est le design structurel. Le but de cette approche est de faciliter la gestion de la complexité. Ceci est de plus en plus fréquent, car la complexité et le niveau d’intégration des circuits numériques ne cessent d’augmenter. Le design structurel implique quatre avantages. Soit la hiérarchisation, la régularité, la modularité et la localité. La hiérarchisation est un concept utilisé pour mettre à l’oeuvre la devise diviser pour régner, Weste et Harris (2010, page 620). En effet, les concepteurs d’un circuit séparent le système en blocs de plus en plus petits tant que les blocs ne sont pas d’une complexité facilement gérable. Cette hiérarchisation entraîne une autre propriété du design structurel, celle de la régularité, Weste et Harris (2010, page 623). Effectivement, en séparant le système en plus petits blocs, il est normal que certains blocs aient la même fonction. Ceci fait en sorte qu’un même module peut être utilisé plusieurs fois dans le système ainsi réduisant le nombre total de blocs à développer. Naturellement, un bloc utilisé plusieurs fois au sein d’un même design peut être utilisé dans un autre design. De plus, la taille d’un tel bloc générique permet de facilement valider son comportement. La hiérarchisation et la modularité impliquent à leur tour les concepts de localité et de modularité, Weste et Harris (2010, page 626). Un bloc est dit modulaire si son interface et ses interactions avec les autres modules sont très bien définies. Cette particularité rend aisée la vérification fonctionnelle du module. Donc, la détection de disparités entre la description comportementale et structurelle sera plus facile. La localité signifie qu’un bloc peut utiliser un autre bloc sans se soucier de la façon dont l’autre module effectue sa tâche. Les modules deviennent donc des boîtes noires au niveau de leur utilisation et seulement la description des interactions est importante.

Méthodologie de design de circuits numériques

La méthodologie traditionnelle utilisée pour mettre en place le design structurel est illustrée à la Figure 1.4. Cette méthodologie s’applique une fois que le système à réaliser a été séparé en modules selon l’approche de design structurel. Le concepteur suit la méthodologie pour chaque module ainsi que pour l’intégration des modules dans le système complet. Comme l’indique la première étape, tout débute par la spécification des requis. Cette étape cruciale explicite clairement ce que le module doit accomplir comme tâche. En utilisant les requis, le concepteur produit la spécification comportementale du module en utilisant soit un langage de description matériel ou des moyens plus classiques comme les tables de vérité ou les équations booléennes. Les langages de description matérielle souvent utilisés sont le Verilog et le VHDL. La spécification comportementale est ensuite synthétisée en une description structurelle. La synthèse se fait au moyen d’un outil, souvent commercial. L’outil de synthèse analyse la spécification comportementale dans le but d’obtenir une description structurelle qui réalise le comportement requis. Cette description structurelle est souvent exprimée en termes de portes standard. La synthèse est commandée par des contraintes.

Une de ces contraintes est l’espace disponible sur la puce pour réaliser le circuit. S’il y a peu d’espace, l’outil de synthèse tente de mieux optimiser le design pour réduire sa complexité et le nombre de portes requises. La dernière étape pour obtenir la description physique du module est la synthèse matérielle. Cette étape est souvent entièrement automatisée et comporte deux phases. La première phase, le placement, consiste à placer dans l’espace disponible les ensembles de portes standard de telle sorte que la distance entre les portes soit minimisée. La dernière phase, le routage, sert à créer toutes les connexions nécessaires entre les cellules standard pour réaliser la fonction requise. Suite au placement et au routage, le concepteur peut extraire des informations concernant le délai de propagation de tous les chemins du design et la puissance consommée. Avec ces informations, il peut retourner à l’étape de spécification comportementale pour optimiser le design du module pour qu’il consomme moins d’énergie et augmenter la vitesse d’opération. Il est important pour le concepteur de vérifier l’intégrité du design à chaque étape.

Cette vérification est identifiée à la Figure 1.4 par les boîtes Équivalent. Aussitôt qu’une erreur est détectée, il est impératif de la corriger immédiatement, car une erreur dans le design peut être très coûteuse à réparer une fois que le design est réalisé. Une des étapes de vérification du fonctionnement est l’analyse temporelle du circuit. Cette étape permet d’assurer, en partie, l’intégrité des données stockées dans toutes les bascules du module lors de l’utilisation du circuit. D’autres vérifications temporelles au niveau du temps de transition et de la largeur d’impulsion sont nécessaires pour valider complètement l’intégrité des données. L’intégrité d’une bascule est validée lorsqu’il est possible de prouver que les courses entre les chemins de données et les chemins d’horloge des bascules font en sorte que le signal d’horloge est toujours activé une fois que tous les signaux de données sont stables. Cette analyse donne la fréquence d’opération maximale du module. Pour obtenir un module plus performant, il existe plusieurs méthodes d’optimisation. Une méthode simple est de séparer le traitement du module en plusieurs petites étapes en insérant des bascules entre les étapes dans le chemin de traitement des données. La séparation du traitement des données en plusieurs étapes donne un pipeline de traitement. Finalement, une fois que le design est fabriqué sur une puce, il est d’autant plus important de s’assurer que le processus de fabrication n’a pas créé d’erreurs au niveau du fonctionnement.

Avantages du paradigme asynchrone

Le paradigme asynchrone offre quelques avantages par rapport au paradigme de conception synchrone Beerel et al. (2010). Certaines méthodes de conception asynchrones utilisent le concept de design structurel comme la méthodologie synchrone. Ceci fait en sorte que le design est séparé en plusieurs modules de complexité gérable. Normalement, dans la conception synchrone, le concepteur doit prendre en considération le pire cas pour déterminer la fréquence maximale d’opération. En effet, cette fréquence suppose le pire cas de délai de propagation dans le nuage combinatoire pilotant l’entrée des bascules en plus de supposer le pire cas de propagation dans le chemin d’horloge. Certaines méthodes de conception asynchrone utilisent des signaux de contrôle qui dépendent des données Beerel et al. (2010, page 8). Ces méthodes permettent d’utiliser le cas moyen de propagation, contrairement au pire cas, ainsi augmentant la performance moyenne du module. Le fait que la majorité des circuits asynchrones n’ont pas d’horloge globale implique qu’ils sont moins sensibles aux variations du procédé de fabrication. En effet, dans les circuits synchrones, le réseau de l’horloge est le plus gros réseau de distribution présent sur la puce. Cela étant dit, une variation du délai dans une branche de l’arbre de distribution de l’horloge peut avoir des conséquences catastrophiques sur le fonctionnement global du circuit. Les circuits asynchrones, quant à eux, génèrent leurs signaux de contrôle localement.

Donc, ils sont moins sensibles aux variations par rapport aux circuits synchrones, Beerel et al. (2010, page 9). Sachant que dans un circuit synchrone le réseau de distribution de l’horloge est présent sur tout le circuit, il est normal d’affirmer que la capacité électrique de ce réseau est grande. De plus, les circuits synchrones commutent à des vitesses de plus en plus grandes. Ces deux faits font en sorte que le réseau de distribution de l’horloge consomme beaucoup d’énergie. Rappelons que selon le type de design de circuit asynchrone, ce réseau de distribution n’est pas présent. Donc, les circuits asynchrones peuvent consommer moins d’énergie que les circuits synchrones, Beerel et al. (2010, page 9). En outre, à moins d’utiliser des techniques avancées de conception, le réseau d’horloge d’un circuit synchrone commute tout le temps. Ceci peut engendrer des transitions inutiles dans les modules de traitement ponctuellement inutilisés. Le paradigme asynchrone est basé sur les événements des signaux de données. Ainsi toutes les transitions sont significatives. Avec moins de transitions, un circuit asynchrone pourrait consommer moins qu’un circuit synchrone réalisant une fonction identique. Finalement, selon la méthode de conception, les modules d’un circuit asynchrone possèdent des interfaces très bien définies. En effet, le besoin de synchronisation entre les modules force le concepteur à utiliser la même interface uniformément pour tous les modules. Ceci rend le design des modules plus facile à valider comparativement à l’approche ad hoc des interfaces des modules présents dans les circuits synchrones, Beerel et al. (2010, page 11).

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport-gratuit.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

INTRODUCTION
CHAPITRE 1 CONCEPTS FONDAMENTAUX ET REVUE DE LA LITTÉRATURE
1.1 Théorie des graphes
1.1.1 Concepts de base
1.1.2 Représentations logicielles des graphes
1.1.3 Cas d’utilisation
1.2 Méthode de conception traditionnelle
1.2.1 Domaines d’abstraction
1.2.2 Design structurel
1.2.3 Méthodologie de design de circuits numériques
1.3 Conception de circuits asynchrones
1.3.1 Avantages du paradigme asynchrone
1.3.2 Méthodes de synchronisation
1.3.3 Outils d’aide au design
1.4 Vérification temporelle des circuits
1.4.1 Analyse statique
1.4.2 Analyse statistique-statique
1.4.3 Méthodes d’analyse appliquées aux circuits asynchrones
1.5 Test des circuits fabriqués
1.5.1 Modèles de pannes
1.5.2 Méthodes de test
1.5.3 Tessent de Mentor Graphics
1.6 Conclusion
CHAPITRE 2 MÉTHODOLOGIE DE DESIGN D’OCTASIC
2.1 Architecture typique des circuits d’Octasic
2.2 Synchronisation par jetons
2.3 Circuits de test illustrant la méthodologie
2.3.1 tok_test
2.3.2 pico_alu
2.3.2.1 Traitement des jetons
2.3.2.2 Unité de traitement de données
2.4 Structures fréquemment utilisées dans les designs d’Octasic
2.4.1 Configuration A
2.4.2 Configuration B
2.4.3 Configuration C
2.5 Conclusion
CHAPITRE 3 QMI : OUTIL DE DÉCOUVERTE DES POINTS DE CONVERGENCE
3.1 Point de convergence
3.2 Utilisation de qmi
3.3 Fonctionnement de haut-niveau
3.3.1 Découverte des points de convergence
3.3.1.1 Conditions d’arrêt A
3.3.1.2 Conditions d’arrêt B
3.3.2 Génération des résultats
3.4 Configuration de l’outil
3.4.1 Fichier de configuration principal
3.4.2 Description des cellules de base
3.4.3 Points d’intérêt
3.4.4 Configuration des afficheurs
3.5 Conclusion
CHAPITRE 4 COUVERTURE ET POINTS DE CONVERGENCE
4.1 Validation de qmi
4.2 Résultats et analyses
4.2.1 Circuit tok_test
4.2.1.1 Représentation graphique
4.2.1.2 Couverture et temps d’exécution
4.2.1.3 Analyse des résultats
4.2.2 Circuit pico_alu
4.2.2.1 Représentation graphique
4.2.2.2 Couverture et temps d’exécution
4.2.2.3 Analyse des résultats
4.2.3 Résumé des analyses
4.3 Limitations des résultats
4.4 Conclusion
CONCLUSION
RECOMMANDATIONS
ANNEXE I DÉVELOPPEMENT ET VALIDATION DE G
ANNEXE II ÉLABORATION DE L’OUTIL QMI
ANNEXE III RÉSULTATS COMPLETS DES ANALYSES DES CIRCUITS DE TEST
LISTE DE RÉFÉRENCES BIBLIOGRAPHIQUES

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *