Changes between Version 1 and Version 2 of ToolsCourseTp1


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

--

Legend:

Unmodified
Added
Removed
Modified
  • ToolsCourseTp1

    v1 v2  
    2828Les entrées peuvent donc bouger entre deux fronts sans modier les sorties. Par
    2929contre dans le cas d'un automate de MEALY, la variation des entrées peut modier à
     302.3 SYF et VHDL
     31An de décrire de tels automates, on utilise un style particulier de description
     32VHDL qui dénit l'architecture "fsm" (finite-state machine).
     33Le chier correspondant possède également l'extension fsm. A partir de ce chier,
     34l'outil SYF effectue la synthèse d'automate et transforme cet automate abstrait en un
     35réseau booléen. SYF génère donc un chier VHDL au format vbe. Comme la plupart
     36des outils utilisés au laboratoire, il faut positionner certaines variables d'environnement
     37avant d'utiliser SYF. Pour les connaître, reportez-vous au man de syf.
     382.4 Exemple
     39An de se familiariser avec la syntaxe de description d'un chier .fsm, un exemple
     40de compteur de trois "1" successifs est présenté. Sa vocation est de détecter par exemple
     41sur une liaison série une séquence de trois "1" successifs. Le graphe d'états que l'on
     42cherche à décrire est représenté sur la gure 4.
     43Le format fsm est également décrit dans une page man. Pensez à la consulter.
     44E0
     45E1
     46E2
     47E3
     48o=0
     49o=1
     500
     510
     520
     530 1
     541 1
     551
     56reset
     57reset
     58reset
     59o=0
     60o=0
     61FIG. 4 – Graphe d'états d'un compteur de trois "1" successifs
     62entity circuit is
     63port (
     64ck, i, reset, vdd, vss : in bit ;
     65o : out bit
     66) ;
     67end circuit ;
     68architecture MOORE of circuit is
     69type ETAT_TYPE is (E0, E1, E2, E3) ;
     70signal EF, EP : ETAT_TYPE;
     71􀀀􀀀 pragma CURRENT_STATE EP
     72􀀀􀀀 pragma NEXT_STATE EF
     73􀀀􀀀 pragma CLOCK CK
     74begin
     75process (EP, i, reset)
     76begin
     77ACSI M2 5
     78TP2 Synthèse logique et génération de chemin de données
     79if (reset=’1’) then
     80EF<=E0;
     81else
     82case EP is
     83when E0 =>
     84if (i=’1’) then
     85EF <= E1 ;
     86else
     87EF <= E0 ;
     88end if ;
     89when E1 =>
     90if (i=’1’) then
     91EF <= E2 ;
     92else
     93EF <= E0 ;
     94end if ;
     95when E2 =>
     96if (i=’1’) then
     97EF <= E3 ;
     98else
     99EF <= E0 ;
     100end if ;
     101when E3 =>
     102if (i=’1’) then
     103EF <= E3 ;
     104else
     105EF <= E0 ;
     106end if ;
     107when others => assert (’1’)
     108report "etat illegal";
     109end case ;
     110end if ;
     111case EP is
     112when E0 =>
     113o <= ’0’ ;
     114when E1 =>
     115o <= ’0’ ;
     116when E2 =>
     117o <= ’0’ ;
     118when E3 =>
     119o <= ’1’ ;
     120when others => assert (’1’)
     121report "etat illegal" ;
     122end case ;
     123end process ;
     124process(ck)
     125begin
     126if (ck=’1’ and not ck’stable) then
     127EP <= EF ;
     128end if ;
     129end process ;
     130end MOORE ;
     131TP2 Synthèse logique et génération de chemin de données
     132= 5 Travail à effectuer =
     133– Ecrire la description d'un compteur de cinq "un" successifs sous la forme d'un
     134automate de Moore.
     135– Positionner les variables d'environnement.
     136– Lancer SYF avec les options de codage -a, -j, -m, -o, -r et en utilisant les options
     137-CEV.
     138>syf -CEV -a <fsm_source> -
     139– Un chier Makele vous est fourni pour vous faciliter la vie !
     140répertoire : ~trncomun/TP/2006/TP2/Fichiers/Fournis/Compteur5/. Utilisez ce Make
     141le à 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 ?
     145
     146TP2 Synthèse logique et génération de chemin de données
     1473 Automate pour digicode
     148
     149
     1502.5 Travail à effectuer
     151– Ecrire la description d'un compteur de cinq "un" successifs sous la forme d'un
     152automate 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
     155-CEV.
     156>syf -CEV -a <fsm_source> -
     157– Un chier Makele vous est fourni pour vous faciliter la vie !
     158répertoire : ~trncomun/TP/2006/TP2/Fichiers/Fournis/Compteur5/. Utilisez ce Make
     159le à 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 ?