Changes between Version 3 and Version 4 of ToolsCourseTp1


Ignore:
Timestamp:
May 4, 2007, 3:21:57 PM (18 years ago)
Author:
anne
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsCourseTp1

    v3 v4  
    2727L'automate de MOORE voit l'état de ses sorties changer uniquement sur front d'horloge.
    2828Les 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,
     29contre 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
     39VHDL 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,
    3442l'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
     43réseau booléen. SYF génère donc un fichier VHDL au format vbe. Comme la plupart
    3644des outils utilisés au laboratoire, il faut positionner certaines variables d'environnement
    3745avant 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
     50Afin de se familiariser avec la syntaxe de description d'un fichier .fsm, un exemple
     51de 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.
    4352Le 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
    6154FIG. 4 – Graphe d'états d'un compteur de trois "1" successifs
     55
    6256entity circuit is
    6357port (
    64 ck, i, reset, vdd, vss : in bit ;
    65 o : out bit
    66 ) ;
     58      ck, i, reset, vdd, vss : in bit ;
     59      o : out bit
     60      ) ;
    6761end circuit ;
    6862architecture MOORE of circuit is
    6963type ETAT_TYPE is (E0, E1, E2, E3) ;
    7064signal EF, EP : ETAT_TYPE;
    71 􀀀􀀀 pragma CURRENT_STATE EP
     65pra--__pppí¯€--- pragma CURRENT_STATE EP
    7266ô€€€ô€€€ pragma NEXT_STATE EF
    7367ô€€€ô€€€ pragma CLOCK CK
    … …  
    139133– Un chier Makele vous est fourni pour vous faciliter la vie !
    140134répertoire : ~trncomun/TP/2006/TP2/Fichiers/Fournis/Compteur5/. Utilisez ce Make
    141 le à compléter.
    142 – Visualiser les chiers .enc.
    143 – Ecrire un chier 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 ?
     135file à 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 ?
    145139
    146140TP2 Synthèse logique et génération de chemin de données
    … …  
    148142
    149143
    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
    152148automate 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
    155151-CEV.
     152
     153{{{
    156154>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 !
    158159ré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
     160file à 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
    166169L'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
     170pour digicode . Les spécifications sont les suivantes :
     171
     172
     173
     174 Les chiffres de 0 à 9 sont codés en binaire naturel sur
    179175la manière suivante :
    180 – A : 1010
    181 – B : 1011
    182 – 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
    185181Pour distinguer les deux cas un "timer" externe calcule
    186182entre 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'attente clavier
    189 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
     185au bout de 5 secondes ou si l'alarme a sonné pendant 2mn- signal reset-
    190186Pour 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 accompagn
    193 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
    194190signal est à 1 durant un cycle d'horloge.
    195191Le code est 53A17
    196192L'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
     205Dessiner 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
    213208utilisant les options -CEV.
     209
     210{{{
    214211>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
     214Ecrire 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/)
    218217pour 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)
    220219et le nombre de registres (i.e surface) des descriptions comportementales suivant
    221220les 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