8 | | A venir ... |
| 8 | = Avant propos = |
| 9 | |
| 10 | 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. |
| 11 | |
| 12 | IMAGE |
| 13 | |
| 14 | Le circuit addaccu a deux niveaux de hiérarchie : dans '''addaccu''' sont instanciés trois blocs '''mux''', '''add''' et '''reg'''. |
| 15 | Les blocs '''mux''', '''add''' et '''reg''' doivent être décrits par une netlist paramétrable de cellules '''sxlib''', dans le langage '''Stratus'''. |
| 16 | En effet, '''Stratus''' permet de décrire des netlists paramétrables. |
| 17 | |
| 18 | Fichiers fournis : |
| 19 | |
| 20 | * La netlist en '''Stratus''' du bloc '''mux'''. |
| 21 | |
| 22 | Ce bloc a la fonctionnalité suivante : |
| 23 | {{{ |
| 24 | si (cmd==0) alors s <= i0 sinon s <= i1 |
| 25 | }}} |
| 26 | i0, i1 et s ayant un nombre de bit paramétrable. |
| 27 | |
| 28 | = 1 Travail à effectuer = |
| 29 | |
| 30 | == 1.1 Circuit addaccu == |
| 31 | |
| 32 | * Ecrire les blocs '''add''' et '''reg''' avec '''Stratus''' en utilisant exclusivement les cellules de la bibliothèqe '''sxlib'''. |
| 33 | Ces deux blocs prennent comme paramètre le nombre de bits. |
| 34 | En outre, ils vérifient que leur paramètre est compris entre 2 et 64 (ce n’est pas fait dans mux). |
| 35 | |
| 36 | * Ecrire le circuit '''addaccu''' en '''Stratus''' |
| 37 | Ce circuit instancie les trois blocs précédents ('''mux''', ''''add''' et '''reg'''). |
| 38 | Le circuit '''addaccu''' prend également comme paramètre le nombre de bits. |
| 39 | |
| 40 | * Ecrire un fichier '''Makefile''' paramétrable permettant de produire chaque composant et le circuit addaccu. |
| 41 | |
| 42 | == 1.2 Circuit addsubaccu == |
| 43 | |
| 44 | * Maintenant, nous souhaitons que l’addaccu puisse effectuer soit des additions, soit des soustractions. |
| 45 | 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). |
| 46 | 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. |
| 47 | Créer un nouveau composant, appelé '''addsubaccu''' qui prend en compte cette nouvelle contrainte. |
| 48 | |
| 49 | * Ecrire un fichier '''Makefile''' paramétrable permettant de produire chaque composant et le circuit addsubaccu. |
| 50 | |
| 51 | = 2 Compte rendu = |
| 52 | |
| 53 | Vous rédigerez un compte-rendu d'une page maximum pour ce TP. |
| 54 | 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'''. |
| 55 | |
| 56 | 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). |