TP3 : Schéma de la partie contrôle du circuit AM2901
}}}
[[PageOutline]]
= 1 Architecture interne du circuit Am2901 =
La description générale du processeur AM2901 est 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)]]
Nous utiliserons la description hiérarchique suivante :
[[Image(hier.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]
* [attachment:amd2901_core.py description logique du coeur de l'AMD2901]
* [attachment:amd2901_chip.py 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]
= 2 Travail à effectuer =
== 2.1 Description comportementale de la partie contrôle ==
* Récupérer les différents fichiers fournis dans le répertoire de simulation.
Le fichier CATAL 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éter le fichier amd2901_ctl.vbe.
* Lancer la simulation avec '''asimut'''.
{{{
> asimut amd2901_chip pattern resultat
}}}
* Controler le résultat en utilisant '''XPAT''' sur le fichier ''resultat''.
== 2.2 Synthèse de la partie contrôle ==
On souhaite réaliser la vue structurelle de la partie contrôle de l'Amd2901 à l'aide de la vue comportementale fournie.
* Utiliser '''BOOG''' pour réaliser la synthèse logique avec les cellules pre-caractérisées de '''SXLIB'''.
{{{
> boog amd2901_ctl
}}}
== 2.3 Validation du schéma de la partie contrôle ==
* Utiliser '''ASIMUT''' pour valider le schéma obtenu en simulant le circuit complet avec les vecteurs de test fournis.
Penser à remplacerer la vue comportementale de la partie contrôle par la 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'''.
= 3 Compte rendu =
Un seul compte rendu sera rendu pour les deux scéances de TPs concernant l'AM2901.
Vous joindrez les fichiers source sans oublier le Makefile de façon à ce que la commande '''make''' automatise les différentes étapes du TP.