Changes between Version 3 and Version 4 of ToolsCourseTp1
- Timestamp:
- May 4, 2007, 3:21:57 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ToolsCourseTp1
v3 v4  27 27 L'automate de MOORE voit l'état de ses sorties changer uniquement sur front d'horloge. 28 28 Les entrées peuvent donc bouger entre deux fronts sans modier les sorties. Par 29  contre dans le cas d'un automate de MEALY, la variation des entrées peut modier à 30  2.3 SYF et VHDL 31  An de décrire de tels automates, on utilise un style particulier de description 32  VHDL qui dénit l'architecture "fsm" (finite-state machine). 33  Le chier correspondant possède également l'extension fsm. A partir de ce chier,  29 contre dans le cas d'un automate de MEALY, la variation des entrées peut modier à jour  30  31  32 = 3 SYF et VHDL =  33  34  35  36  37  38 Afin de décrire de tels automates, on utilise un style particulier de description  39 VHDL qui définit l'architecture "fsm" (finite-state machine).  40  41 Le fichier correspondant possède également l'extension fsm. A partir de ce chier, 34 42 l'outil SYF effectue la synthèse d'automate et transforme cet automate abstrait en un 35  réseau booléen. SYF génère donc un chier VHDL au format vbe. Comme la plupart 43 réseau booléen. SYF génère donc un fichier VHDL au format vbe. Comme la plupart 36 44 des outils utilisés au laboratoire, il faut positionner certaines variables d'environnement 37 45 avant d'utiliser SYF. Pour les connaître, reportez-vous au man de syf. 38  2.4 Exemple 39  An de se familiariser avec la syntaxe de description d'un chier .fsm, un exemple 40  de compteur de trois "1" successifs est présenté. Sa vocation est de détecter par exemple 41  sur une liaison série une séquence de trois "1" successifs. Le graphe d'états que l'on 42  cherche à décrire est représenté sur la gure 4.  46  47  48 = 4 Exemple =  49  50 Afin de se familiariser avec la syntaxe de description d'un fichier .fsm, un exemple  51 de compteur de trois "1" successifs est présenté. Sa vocation est de détecter par exemple sur une liaison série une séquence de trois "1" successifs. Le graphe d'états que l'on cherche à décrire est représenté sur la gure 4. 43 52 Le format fsm est également décrit dans une page man. Pensez à la consulter. 44  E0 45  E1 46  E2 47  E3 48  o=0 49  o=1 50  0 51  0 52  0 53  0 1 54  1 1 55  1 56  reset 57  reset 58  reset 59  o=0 60  o=0  53 61 54 FIG. 4 – Graphe d'états d'un compteur de trois "1" successifs  55 62 56 entity circuit is 63 57 port ( 64  ck, i, reset, vdd, vss : in bit ;65  o : out bit66  ) ; 58 ck, i, reset, vdd, vss : in bit ;  59 o : out bit  60 ) ; 67 61 end circuit ; 68 62 architecture MOORE of circuit is 69 63 type ETAT_TYPE is (E0, E1, E2, E3) ; 70 64 signal EF, EP : ETAT_TYPE; 71  ô€€€ô€€€pragma CURRENT_STATE EP 65 pra--__pppí¯€--- pragma CURRENT_STATE EP 72 66 ô€€€ô€€€ pragma NEXT_STATE EF 73 67 ô€€€ô€€€ pragma CLOCK CK … …  139 133 – Un chier Makele vous est fourni pour vous faciliter la vie ! 140 134 répertoire : ~trncomun/TP/2006/TP2/Fichiers/Fournis/Compteur5/. Utilisez ce Make 141  le à compléter.142  – Visualiser leschiers .enc.143  – Ecrire unchier de vecteurs de test et simuler sous ASIMUT.144  –Que se passe-t-il si le reset n'est pas positionné en début de pattern ? Pourquoi ? 135 file à compléter.  136 Visualiser les fichiers .enc.  137 Ecrire un fichier de vecteurs de test et simuler sous ASIMUT.  138 Que se passe-t-il si le reset n'est pas positionné en début de pattern ? Pourquoi ? 145 139 146 140 TP2 Synthèse logique et génération de chemin de données … …  148 142 149 143 150  2.5 Travail à effectuer 151  – Ecrire la description d'un compteur de cinq "un" successifs sous la forme d'un  144 = 5 Travail à effectuer =  145  146  147 Ecrire la description d'un compteur de cinq "un" successifs sous la forme d'un 152 148 automate de Moore. 153  –Positionner les variables d'environnement.154  –Lancer SYF avec les options de codage -a, -j, -m, -o, -r et en utilisant les options 149 Positionner les variables d'environnement.  150 Lancer SYF avec les options de codage -a, -j, -m, -o, -r et en utilisant les options 155 151 -CEV.  152  153 {{{ 156 154 >syf -CEV -a <fsm_source> - 157  – Un chier Makele vous est fourni pour vous faciliter la vie !  155 }}}  156  157  158 Un fichier Makefile vous est fourni pour vous faciliter la vie ! 158 159 répertoire : ~trncomun/TP/2006/TP2/Fichiers/Fournis/Compteur5/. Utilisez ce Make 159  le à compléter. 160  – Visualiser les chiers .enc. 161  – Ecrire un chier de vecteurs de test et simuler sous ASIMUT. 162  – Que se passe-t-il si le reset n'est pas positionné en début de pattern ? Pourquoi ? 163  164  165  3 Automate pour digicode  160 file à compléter.  161 Visualiser les fichiers .enc.  162 Ecrire un fichier de vecteurs de test et simuler sous ASIMUT.  163 Que se passe-t-il si le reset n'est pas positionné en début de pattern ? Pourquoi ?  164  165  166 = 3 Automate pour digicode =  167  168 166 169 L'exemple qui suit servira dans toute la suite du TP. On veut réaliser une puce 167  pour digicode dont le clavier est représenté sur la gure 5. Les spécications sont les 168  suivantes : 169  0 170  1 2 3 171  4 5 6 172  7 8 9 173  A B 174  O 175  FIG. 5 – Clavier 176  177  178  – Les chiffres de 0 à 9 sont codés en binaire naturel sur  170 pour digicode . Les spécifications sont les suivantes :  171  172  173  174 Les chiffres de 0 à 9 sont codés en binaire naturel sur 179 175 la manière suivante : 180  –A : 1010181  –B : 1011182  –Le digicode fonctionne en deux modes :183  –Mode Jour : La porte s'ouvre en appuyant sur "O"184  –Mode Nuit : La porte ne s'ouvre que si le code est 176 A : 1010  177 B : 1011  178 Le digicode fonctionne en deux modes :  179 Mode Jour : La porte s'ouvre en appuyant sur "O"  180 Mode Nuit : La porte ne s'ouvre que si le code est 185 181 Pour distinguer les deux cas un "timer" externe calcule 186 182 entre 8h00 et 20h00 et '0' sinon. 187  – Le digicode commande une alarme dès qu'un des chiffres 188  – L'automate du digicode revient dans son état d'attenteclavier189  au bout de 5 secondes ou si l'alarme a sonné pendant  183 Le digicode commande une alarme dès qu'un des chiffres entrés n'est pas le bon  184 L'automate du digicode revient dans son état d'attente si rien n'est entré au clavier  185 au bout de 5 secondes ou si l'alarme a sonné pendant 2mn- signal reset- 190 186 Pour cela il reçoit un signal reset du timer externe. 191  –La puce fonctionne à une fréquence de 10MHz.192  –Toute pression d'une touche du clavier est accompagn193  Celui-ci signale à la puce que les données en sortie 187 La puce fonctionne à une fréquence de 10MHz.  188 Toute pression d'une touche du clavier est accompagn  189 Celui-ci signale à la puce que les données en sortie 194 190 signal est à 1 durant un cycle d'horloge. 195 191 Le code est 53A17 196 192 L'interface de l'automate est le suivant : 197  – in ck 198  – in reset 199  – in jour 200  201  – in jour 202  – in i[3 :0] 203  – in O 204  – in press_kbd 205  – out porte 206  – out alarm 207  ACSI M2 8 208  TP2 Synthèse logique et génération de chemin de données 209  3.1 Travail à effectuer 210  – Dessiner le graphe d'états de l'automate. (Les corrections seront distribuées) 211  – Le décrire au format .fsm . 212  – Le synthétiser avec SYF en utilisant les options de codage -a, -j, -m, -o, -r et en  193 in ck  194 in reset  195 in jour  196 in i[3 :0]  197 in O  198 in press_kbd  199 out porte  200 out alarm  201  202  203 = 3.1 Travail à effectuer =  204  205 Dessiner le graphe d'états de l'automate. (Les corrections seront distribuées)  206 Le décrire au format .fsm .  207 Le synthétiser avec SYF en utilisant les options de codage -a, -j, -m, -o, -r et en 213 208 utilisant les options -CEV.  209  210 {{{ 214 211 >syf -CEV -a <fsm_source> - 215  – Ecrire le chier .pat de vecteurs de test. 216  – Simuler avec ASIMUT toutes les vues comportementales obtenues. 217  – Adaptez le Makele (répertoire : ~trncomun/TP/2006/TP2/Fichiers/Fournis/digicode/)  212 }}}  213  214 Ecrire le fichier .pat de vecteurs de test.  215 Simuler avec ASIMUT toutes les vues comportementales obtenues.  216 Adaptez le Makefile (répertoire : ~trncomun/TP/2006/TP2/Fichiers/Fournis/digicode/) 218 217 pour qu'il couvre tous les encodages possibles. 219  –Quelles sont vos remarques concernant la complexité des expressions (i.e temps) 218 Quelles sont vos remarques concernant la complexité des expressions (i.e temps) 220 219 et le nombre de registres (i.e surface) des descriptions comportementales suivant 221 220 les encodages ? En déduire les deux groupes d'encodage. 222  – Comparer aussi leurs nombres de littéraux. 223  ACSI M2 9 224  TP2 225   221 Comparer aussi leurs nombres de littéraux.  222