}}}
[[PageOutline]]
= Avant propos =
Dans ce TP, nous souhaitons réaliser un générateur de circuit addaccu amélioré avec comme paramètre, entre autres, le nombre de bits.
IMAGE
Le circuit addaccu a deux niveaux de hiérarchie : dans '''addaccu''' sont instanciés trois blocs '''mux''', '''add''' et '''reg'''.
Les blocs '''mux''', '''add''' et '''reg''' doivent être décrits par une netlist paramétrable de cellules '''sxlib''', dans le langage '''Stratus'''.
En effet, '''Stratus''' permet de décrire des netlists paramétrables.
Fichiers fournis :
* La netlist en '''Stratus''' du bloc '''mux'''.
Ce bloc a la fonctionnalité suivante :
{{{
si (cmd==0) alors s <= i0 sinon s <= i1
}}}
i0, i1 et s ayant un nombre de bit paramétrable.
= 1 Travail à effectuer =
== 1.1 Circuit addaccu ==
* Ecrire les blocs '''add''' et '''reg''' avec '''Stratus''' en utilisant exclusivement les cellules de la bibliothèqe '''sxlib'''.
Ces deux blocs prennent comme paramètre le nombre de bits.
En outre, ils vérifient que leur paramètre est compris entre 2 et 64 (ce n’est pas fait dans mux).
* Ecrire le circuit '''addaccu''' en '''Stratus'''
Ce circuit instancie les trois blocs précédents ('''mux''', ''''add''' et '''reg''').
Le circuit '''addaccu''' prend également comme paramètre le nombre de bits.
* Ecrire un fichier '''Makefile''' paramétrable permettant de produire chaque composant et le circuit addaccu.
== 1.2 Circuit addsubaccu ==
* Maintenant, nous souhaitons que l’addaccu puisse effectuer soit des additions, soit des soustractions.
Un nouveau paramètre sera donc à apporter pour choisir la fonction à effectuer (Vous avez le choix pour le nom et les valeurs possibles de ce paramètre).
Ce nouveau composant sera sur le même schéma que le précédent, avec des modifications à apporter au circuit et/ou les composants.
Créer un nouveau composant, appelé '''addsubaccu''' qui prend en compte cette nouvelle contrainte.
* Ecrire un fichier '''Makefile''' paramétrable permettant de produire chaque composant et le circuit addsubaccu.
= 2 Compte rendu =
Vous rédigerez un compte-rendu d'une page maximum pour ce TP.
Vous expliciterez '''en détail''' les choix que vous avez fait pour modifier le circuit '''addaccu''' et/ou ses composants de façon à créer le circuit '''adddsubaccu'''.
Vous fournirez tous les fichiers écrits, avec les '''Makefile''' permettant d'effectuer la génération des deux circuits (et l'effacement des fichiers générés).