Changes between Version 11 and Version 12 of ToolsTp2
- Timestamp:
- Dec 3, 2009, 3:26:36 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ToolsTp2
v11 v12 144 144 Le circuit '''addaccu''' prend également comme paramètre le nombre de bits. 145 145 * Ecrire le script python permettant de créer des instances de l'addaccu. 146 147 * Ecrire un fichier '''Makefile paramétrable''' permettant de produire chaque composant et le circuit addaccu en choisissant le nombre de bits. 148 146 * Ecrire un fichier '''Makefile paramétrable''' permettant de produire chaque composant et le circuit '''addaccu''' en choisissant le nombre de bits. 149 147 * Générer le circuit sur 4 bits. 150 148 * Visualiser la netlist obtenue avec '''xsch'''. 151 149 152 == 2.5 Circuit addsubaccu == 153 154 Maintenant, nous souhaitons que l’addaccu puisse effectuer soit des additions, soit des soustractions. 155 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). 156 Ce nouveau composant sera sur le même schéma que le précédent, avec des modifications à apporter au circuit et/ou ses composants. 157 158 * Créer un nouveau composant, appelé '''addsubaccu''' qui prend en compte cette nouvelle contrainte. 159 * Ecrire le script python permettant de créer des instances de l'addsubaccu. 160 * Ecrire un fichier '''Makefile''' paramétrable permettant de produire chaque composant et le circuit addsubaccu. 161 162 == 2.6 Fonction Generate == 150 == 2.5 Fonction Generate == 163 151 164 152 Il n'est pas toujours très pratique d'avoir à générer avec plusieurs scripts les différents blocs d'un circuit. 165 153 Le langage '''Stratus''' fournit donc une alternative : la fonction '''Generate'''. 166 154 167 Par exemple, pour générer une instance du multiplexeur fourni, il suffit d'ajouter la ligne suivante dans le fichier ''' Stratus''' décrivant le circuit instanciant le multiplexeur:155 Par exemple, pour générer une instance du multiplexeur fourni, il suffit d'ajouter la ligne suivante dans le fichier '''addaccu''' : 168 156 {{{ 169 157 Generate ( "mux.mux", "mux_%d" % self.n, param = { 'nbit' : self.n } ) … … 172 160 Dans cette fonction, le premier argument représente la classe '''Stratus''' créée (format : ''nom_de_fichier.nom_de_classe''), le deuxième argument est le nom du modèle généré, le dernier argument est un dictionnaire initialisant les différents paramètres de cette classe. 173 161 174 * Modifier le fichier décrivant l'add subaccu et le Makefile de façon à pouvoir créer les instances de ce circuit en n'ayant besoin que d'un script.175 176 == 2. 7Description de patterns ==177 178 La chaîne de CAO '''ALLIANCE''' fourni un outil permettant de décrire des séquences de stimuli : l' 'outil '''GENPAT'''.162 * Modifier le fichier décrivant l'addaccu et le Makefile de façon à pouvoir créer les instances de ce circuit en n'ayant besoin que d'un script. 163 164 == 2.6 Description de patterns == 165 166 La chaîne de CAO '''ALLIANCE''' fourni un outil permettant de décrire des séquences de stimuli : l'outil '''GENPAT'''. 179 167 '''Stratus''' fournit le même service pour la chaîne de CAO '''Coriolis'''. 180 168 De plus, '''Stratus''' encapsule l'appel au simulateur '''ASIMUT'''. … … 184 172 * [attachment:genmux2.py Script pour la création de la netlist, du fichier de patterns et du lancement du simulateur] 185 173 * Créer les patterns et effectuer la simulation des deux autres blocs de la même façon. 186 * Une fois tous les sous blocs validés, créer les patterns et effectuer la simulation du bloc addsubaccu. 174 * Une fois tous les sous blocs validés, créer les patterns et effectuer la simulation du bloc addaccu. 175 176 == 2.7 Circuit addsubaccu == 177 178 Maintenant, nous souhaitons que l’addaccu puisse effectuer soit des additions, soit des soustractions. 179 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). 180 Ce nouveau composant sera sur le même schéma que le précédent, avec des modifications à apporter au circuit et/ou ses composants. 181 182 * Créer un nouveau composant, appelé '''addsubaccu''' qui prend en compte cette nouvelle contrainte. 183 * Ecrire le script python permettant de créer des instances de l'addsubaccu. 184 * Ecrire un fichier '''Makefile''' paramétrable permettant de produire le circuit '''addsubaccu'''. 185 * Ecrire les patterns du composant '''addsubaccu''' et valider le bloc. 187 186 188 187 == 2.8 Bibliothèque DPGEN == … … 194 193 https://www-asim.lip6.fr/recherche/coriolis/doc/en/html/dpgen/index.html 195 194 196 * Ecrivez un nouveau composant '''addaccu''' en utilisant les générateurs paramétrables de cette bibliothèque. 195 * Ecrire un nouveau composant '''addsubaccu''' en utilisant les générateurs paramétrables de cette bibliothèque à votre disposition. 196 * Valider ce bloc avec les mêmes patterns que le bloc précédent. 197 197 198 198 = 3 Compte rendu =