Changes between Version 33 and Version 34 of ToolsCourseTp4
- Timestamp:
- Sep 22, 2008, 2:23:10 PM (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ToolsCourseTp4
v33 v34 17 17 = 1 Exemple de description avec Stratus = 18 18 19 Considérons le l'aditionneur accumulateur suivant : 19 Considérons le circuit suivant : 20 21 [[Image(add1.png,nolink)]] 20 22 21 23 Voici la structure du chemin de données correspondante : 24 22 25 [[Image(datap.jpg,nolink)]] 23 26 27 Chacune des portes occupe une colonne, une colonne permettant de traiter un ensemble de bits pour un même opérateur. 28 La première ligne représente le bit 3, la dernière le bit 0. 24 29 25 Chacune des portes occupe une colonne, une colonne permettant de traiter un ensemble 26 de bits pour un même opérateur. 27 28 La première ligne représente le bit 3, la dernière le bit 0. 29 sa description en '''STRATUS''' peut etre obtenue à l'aide de la documentation 30 31 https://www-asim.lip6.fr/recherche/coriolis/doc/en/html/stratus/index.html 32 33 34 35 Pour connaitre les générateurs de colonne dont vous disposez consultez la documentation de '''DPGEN''' 36 37 https://www-asim.lip6.fr/recherche/coriolis/doc/en/html/dpgen/index.html 38 39 40 Le fichier Stratus correspondant est le suivant : 30 Le fichier '''Stratus''' correspondant est le suivant : 41 31 42 32 {{{ 43 44 45 33 #!/usr/bin/env python 46 34 from stratus import * … … 108 96 }}} 109 97 98 Comme vous pouvez le voir, il n'a pas été nécessaire de générer ''à la main'' les différents blocs de ce circuit, ceux ci sont fournis par la bibliothèque ''DP_SXLIB''. 99 Il suffit alors de les générer (fonction '''Generate''' comme montré dans le TP précédent). 110 100 101 Pour connaitre les générateurs de colonne dont vous disposez, consultez la documentation fournie : 111 102 112 Ce premier fichier définit votre circuit, enregistrez-le sous le nom '''"circuit.py"'''. Il faut 113 maintenant créer un autre fichier pour instancier votre circuit : 114 {{{ 115 #!/usr/bin/env python 116 from stratus import * 117 from circuit import circuit 118 # creation du circuit 119 mon_circuit = circuit ( "mon_circuit" ) 120 # creation de l’interface 121 mon_circuit.Interface () 122 # creation de la netlist 123 mon_circuit.Netlist () 124 # sauver les fichiers mon_circuit.vst 125 mon_circuit.Save () 103 https://www-asim.lip6.fr/recherche/coriolis/doc/en/html/dpgen/index.html 126 104 127 }}} 128 129 Enregistrez-le sous le nom '''"test.py"'''. Changez les droits du fichier afin de le rerendre 130 executable : 131 132 {{{ 133 > chmod +x test.py 134 }}} 135 136 Puis executez le fichier : 137 {{{ 138 >./test.py 139 }}} 140 141 Si tout se passe bien, vous obtenez le fichier "mon_circuit.vst", dans le cas contraire, 142 et mises à part des erreurs de syntaxe, il se peut que votre environnement soit mal 143 configuré pour Stratus. 144 145 Consultez la doc au format html 105 Consultez également la documentation de '''Stratus''' en cas de besoin : 146 106 147 107 https://www-asim.lip6.fr/recherche/coriolis/doc/en/html/stratus/index.html 148 afin de vous renseigner sur les variables d'environnement à positionner.149 150 151 Note : Stratus étant issu du langage Python, il faut apporter une grande importance à l'indentation.152 153 Un bon conseil, n'utilisez pas de tabulations (ou alors configurez154 vos éditeurs pour qu'ils transforment automatiquement les tabulations en espaces).155 156 157 108 158 109 = 2 Description du chemin de données dans l'AM2901 = 110 159 111 Le chemin de données de l'Am2901 peut être schématisé par la figure ci-dessous 160 112