| 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). |