{{{ #!html

TP3 : Schéma de la partie contrôle du circuit AM2901

}}} [[PageOutline]] = Architecture interne du circuit l'Am2901 = La description générale du processeur AM2901est donnée par ftp://asim.lip6.fr/pub/amd2901/amd2901.pdf Nous décomposons le circuit en 2 blocs : la partie contôle, et la partie opérative ou chemin de données. * Le chemin de données contient les parties régulières de l'Amd2901 c'est à dire les registres et l'unité arithmétique et logique. * La partie contrôle contient la logique irrégulière, c'est à dire le décodage des instructions et le calcul des "drapeaux" (indicateurs, ou "Flags"). [[Image(bloc.jpg, nolink)]] Les Fichiers fournis sont les suivants : * [attachment:amd2901_ctl.vbe description - incomplête - du comportement de la partie contrôle de l'AM2901] * [attachment:amd2901_dpt.vbe description du comportement de la partie chemin de données de l'AM2901] * [attachment:amd2901_dpt.py description - incomplête - de la structure de la partie chemin de données, à compléter] * [attachment:amd2901_core.vst description logique du coeur de l'AMD2901] * [attachment:amd2901_chip.vst description logique du circuit contenant les plots et le coeur de l'AM2901] * [attachment:pattern.pat le fichier de vecteurs de test de l'AMD2901] * [attachment:CATAL Catalogue des modèles] * [attachment:Makefile Makefile pour automatiser la génération de la description structurelle du circuit AM2901] Nous utiliserons la description hiérarchique suivante : [[Image(hier.jpg,nolink)]]] = Réalisation de la partie contrôle = == 1 Vérification des fichiers fournis == Récupérez le fichier CATAL dans votre répertoire de simulation. Il doit contenir les lignes suivantes : * amd2901_ctl C * amd2901_dpt C Cela a pour effet d'indiquer au simulateur '''asimut''' qu'il faut utiliser les descriptions comportementales (.vbe) pour les blocs "amd2901_ctl" et de "amd2901_dpt". Complétez le fichier amd2901_ctl.vbe Lancer la simulation avec '''asimut''': {{{ > asimut amd2901_chip pattern resultat }}} Vous pouvez contrôler le résultat en utilisant '''XPAT''' sur le fichier "resultat". = 2 Génération de la vue structurelle = On souhaite réaliser la vue structurelle de la partie contrôle de l'Amd2901 à l'aide de la vue comportementale fournie. Pour ce faire on utilise de nouveau '''BOOG''' qui réalise la synthèse logique avec les cellules pre-caractérisées de '''SXLIB'''. {{{ > boog amd2901_ctl }}} Valider ensuite la vue structurelle obtenue en simulant le circuit complet avec les vecteurs de test qui vous sont fournis. On remplacera la vue comportementale de la partie contrôle par sa vue structurelle en ôtant le nom '''amd2901_ctl''' du fichier '''CATAL'''. {{{ > asimut -zerodelay amd2901_chip pattern resultat }}} Notez que l'on réalise une simulation "zero délai" de la netlist. En cas de probl ème(s), n'hésitez pas à utiliser '''XPAT'''.