Laboratoire 1 LANGAGE VHDL ET SYNTHÈSE NUMÉRIQUE 1/1 ELE4304 – Principe des Cir
Laboratoire 1 LANGAGE VHDL ET SYNTHÈSE NUMÉRIQUE 1/1 ELE4304 – Principe des Circuits Intégrés à Très Grande Échelle Laboratoire 1 Langage VHDL et synthèse logique 10 Janvier 2003 1 INTRODUCTION L’évolution de l’industrie des circuits intégrés durant la dernière décennie a été tellement rapide qu’il est maintenant possible d’intégrer plusieurs systèmes complexes sur une seule puce. Cette évolution vers des niveaux d’intégration de plus en plus élevés est motivée par les besoins de systèmes plus performants, légers, compacts et consommant un minimum de puissance. Dans de telles circonstances, la gestion de la complexité avec les outils d’aide à la conception traditionnels (les outils de bas niveau : masque, schématique…) devient une tâche pénible, coûteuse, voire impossible, quand on considère les contraintes de mise en marché d’un produit. Dans le but de mieux gérer la complexité des circuits intégrés, tout en gardant les coûts du développement dans des limites raisonnables, d’autres outils d’aide à la conception, dits outils de synthèse, ont vu le jour dès le d ébut des années 1990. En effet, le but ultime de ces outils associés avec un langage de conception et de simulation puissant, tel que le langage VHDL, est de générer le dessin des masques d’un circuit à partir de sa description comportementale de haut niveau. Ainsi, le concepteur peut se limiter à la conception, à la modélisation et à la simulation de son produit, sans tenir compte des détails de mise en œuvre au niveau schématique ou du dessin des masques. 1.1 OBJECTIFS SPÉCIFIQUES • Apprendre le sous-ensemble du langage VHDL comportemental synthétisable, supporté par le compilateur VHDLAN de SYNOPSYS; • Apprendre à utiliser l’outil de synthèse DESIGN ANALYZER de SYNOPSYS; • Apprendre à utiliser le simulateur logique VHDLDBX de SYNOSYS. • Apprendre à coder avec une phi losophie de « design reuse ». 1.2 DOCUMENTATION REQUISE Vous trouverez l'essentiel des informations requises pour le "VHDL comportemental" compatible avec le compilateur VHDLAN dans le document du laboratoire disponible par chapitres sur le site du cours. Un document de référence plus complet sur ce sujet est aussi mis à votre disposition sur le site du cours (VHDL CookBook). ELE4304 – Principe des Circuits Intégrés à Très Grande Échelle Laboratoire 1 LANGAGE VHDL ET SYNTHÈSE NUMÉRIQUE 2/2 2 TRAVAIL DEMANDÉ Le présent laboratoire comporte 3 numéros qui vous proposent de réaliser la description VHDL-RTL (Register Transfer Lev el) de différents modules ou fonctions matériels. Généralement pour chaque numéro vous devrez ; • Écrire la description VHDL du module matériel proposé; • Faire la synthèse RTL et l’optimisation avec DESIGN ANLYZER (DESIGN COMPILER) de Synopsys; • Faire les simulations fonctionnelle et temporelle (pré et post-synthèse) en prenant soin de mettre en évidence les comportements critiques; • Extraire les résultats d’analyse (REPORT) sur les délais et la surface (TIMING, AREA). Généralement pour chaque numéro vous devez produire et remettre: 1. Les codes sources des descriptions VHDL et bancs d’essais (Testbench) CLAIREMENT IDENTIFIÉS. (Utilisez l’entête proposée par le guide sur le design reuse). 2. Les schémas des circuits après synthèse complète. Le terme synthèse complète désigne le résultat obtenu par la synthèse (ELABORATE) et l’optimisation (TOOLS->OPTIMISATION). Ne remettez que le schéma final. 3. Les résultats de simulation fonctionnelle et temporelle (avant et après synthèse) demandées. 4. Résultats d’analyses : délais et surfaces. Imprimez les résultats fournis par SYNOPSYS. 5. Réponse aux questions posées s’il y a lieu. 6. Vous pouvez ajouter tous commentaires et discussions que vous jugerez nécessaire. On vous demande d’organiser le rapport par numéro en respectant pour chacun l’ordre présenté ci-dessus (pas d’annexes SVP). Le rapport doit également inclure de brève introduction et conclusion ainsi que tous commentaires que vous jugerez pertinents. De plus, il est important, tout au cours du laboratoire, de respecter les règles d e codage définies dans le document intitulé « méthodologie sur le design reuse » disponible sur le site du cours. Les règles précédées d’un astérisque (*) doivent être appliquées au premier laboratoire. Rien ne vous empêche d’appliquer aussi les règles munies de deux astérisques (**) qui seront exigées lors du projet final. Vous trouverez à la section « Documents utiles » de la page « Références » du site Web du cours le document « Résumé utile pour le premier laboratoire ». Ce dernier vous indiquera les premières étapes à suivre afin de bien débuter votre laboratoire. ELE4304 – Principe des Circuits Intégrés à Très Grande Échelle Laboratoire 1 LANGAGE VHDL ET SYNTHÈSE NUMÉRIQUE 3/3 2.1 Additionneur N bits(4 pts) 2.1.1 Additionneur 1 bit (2 pts) Utilisez une description de type flux de données (voir manuel de laboratoire) pour réaliser l’additionneur de 1 bit illustré à la Figure 1. • Faites la synthèse complète ainsi que les simulations pré et post synthèse en prenant soin d’illustrer tous les cas possibles. Utilisez le même banc d’essai pour les deux simulations. • Faites une troisième simulation afin de mettre en relief les délais engendrés par la synthèse (il faut faire la simulation en PS). • À l’aide de SYNOPSYS estimez le délai maximal et la surface utilisée par l’additionneur (analyse de surface/délais, AREA/TIMING). Figure 1 - Schéma logique d’un additionneur 2.1.2 Additionneur 3 bits (2 pts) Utilisez la composante réalisée précédemment et une description de type structurelle (voir cahier de laboratoire) pour réaliser un additionneur de N bits. Pour ce faire vous devez utiliser les commandes GENERIC et GENERATE qui vous permettront de générer N additionneurs parallèles que vous brancherez sur des entrées/sorties de N bits. • Faites la synthèse complète pour N=4 et N=8. Pour chaque synthèse, donnez les résultats d’analyses de surface/délais (TIMING/AREA) et comparez les résultats. • Faites les simulations pré et post synthèse pour N = 4 uniquement toujours en utilisant un seul banc d’essai. Le banc d’essaie, illustré à la Figure 2, doit comprendre un compteur de 0 à 15 pour l’assignation du port d’entrée A, la valeur constante “0011” pour le port B et une procédure (PROCESS) conditionnelle qui attribue ‘1’ à CIN lorsque le compte est supérieur à 8 (compteur <= “1000”). ELE4304 – Principe des Circuits Intégrés à Très Grande Échelle Laboratoire 1 LANGAGE VHDL ET SYNTHÈSE NUMÉRIQUE 4/4 • Faites une troisième simulation afin de mettre en relief les délais engendrés par la synthèse (il faut faire la simulation en PS). ADDER N bits A B CIN C Compteur “0011” CIN <= ‘1’ if Compteur(3) = ‘1’ Banc d’essaie COUT Figure 2 - Banc d’essaie pour l’additionneur N bits 2.2 Contrôleur d’un monte-charge basé sur une machine à états finis (8 pts) Écrire le modèle VHDL d'une machine à états d’un contrôleur d’un monte-charge assurant le transport de diverses marchandises entre 3 étages. Les entrées de la machine à états sont les boutons d’appels du monte-charge aux étages et les boutons permettant la sélection de l’étage à l’intérieur du monte-charge. La sortie de la machine à états permettra de connaître l’étage courant du monte-charge. Le Tableau 1 décrit les entrées du contrôleur et les noms de signaux que vous devez respecter. Tableau 1 - Entrées de la machine à états Description de l’entrée Nom du Signal Au premier étage, un bouton pour monter M1 Au deuxième étage, un bouton pour monter M2 Au deuxième étage, un bouton pour descendre D2 Au troisième étage, un bouton pour descendre D3 Un bouton pour aller au premier étage B1 Un bouton pour aller au deuxième étage B2 Un bouton pour aller au troisième étage B3 Dans le but de simplifier le problème, vous devez considérer qu’aucun bouton n’est appuyé en même temps. Le Tableau 2 présente la sortie du contrôleur et l’encodage que vous devez respecter. ELE4304 – Principe des Circuits Intégrés à Très Grande Échelle Laboratoire 1 LANGAGE VHDL ET SYNTHÈSE NUMÉRIQUE 5/5 Tableau 2 - Sortie de la machine à états Description de la sortie Encodage Premier Étage 0b00 Deuxième Étage 0b01 Troisième Étage 0b10 La Figure 3 présente un diagramme d’états du contrôleur pour le monte-charge. D’autre part, voici quelques informations supplémentaires qui vou s seront utiles : • Initialement, le monte-charge est au premier étage. • Le monte-charge peut être positionné à un étage ou être en transition en deux étages. • Lorsque le monte-charge est à un étage, la sortie indique à quel étage se situe le monte-charge. • Lorsque le monte-charge est en transition vers un autre étage, il doit obligatoirement compléter la transition vers l’autre étage. • Lorsque le monte-charge est positionné entre 2 étages, la sortie indique l’étage de départ de la transition. Figure 3 - Diagramme d’états (Moore) ELE4304 – Principe des Circuits Intégrés à Très Grande Échelle Laboratoire 1 LANGAGE VHDL ET SYNTHÈSE NUMÉRIQUE 6/6 Pour le rapport vous devez produire et remettre : 1. Deux implémentations de cette machine à états en VHDL ; § Vous implémenterez une version de style Moore avec sorties registrées et une de style Mealy avec sorties non registrées. § Vos deux implémentations doivent être dans le même fichier et doivent utiliser la même entity. § La description VHDL des machines à états doit se faire en utilisant 3 uploads/Science et Technologie/ lab-1.pdf
Documents similaires










-
29
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 30, 2022
- Catégorie Science & technolo...
- Langue French
- Taille du fichier 0.0978MB