Changes between Version 1 and Version 2 of SoclibCourseTp1


Ignore:
Timestamp:
Aug 30, 2009, 11:12:58 AM (16 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp1

    v1 v2  
    2020le résultat. Ces deux composants matériels fonctionnent en parallèle, et communiquent entre eux par des canaux de communication de type FIFO.
    2121
     22[[Image( )]]
     23
    2224Ces deux composants sont donc modélisés par deux automates cadencés par la même horloge CK, avec écriture dans les tous les registres du système sur le front montant de CK. Ils sont initialisés par le même signal  NRESET, actif à l'état bas.
    2325
    2426== 1.2 Composant fifo_lcd_coprocessor ==
    2527
    26 Le composant ''fifo_lcd_coprocessor'' est un automate cablé.
    27 L'algorithme de calcul du PGCD implanté par l'automate cablé peut être décrit par le code C suivant :
     28L'algorithme de calcul du PGCD implanté par cet automate cablé peut être décrit par le code C suivant :
    2829{{{
    2930uint32_t lcd( uint32_t opa, uint32_t opb)
     
    5253qui dépendent de la disponibilité du composant fifo_lcd_master.
    5354
    54  * Le composant ''fifo_lcd_master'' est chargé de générer aléatoirement les deux opérandes
     55[[Image( )]]
     56
     57 * Dans l'état '''READ_OPA''' (resp. '''READ_OPB'''), on écrit dans le registre ''r_opa'' (resp ''r_opb'') la valeur ''p_in.data''
     58lue sur le port FIFO d'entrée ''p_in.data''. On ne sort de cet état que si la donnée est valide (condition ''p_in.rok'' = true).
     59 * Dans l'état '''WRITE_RES''', on écrit le contenu du registre ''r_opa'' sur le port FIFO de sortie ''p_out.data''. On ne sort de cet état que si la donnée est acceptée (condition ''p_out.wok"" = true).
     60 * Dans l'état COMPARE, on effectue la comparaison entre les contenus des registres ''r_opa'' et ''r_opb''. On n'écrit pas dans les registres ''r_opa'' et ''r_opb'', mais conditions de sortie dépendent du résultatde la comparaison.
     61 * Dans l'état DECR_A''' (resp. '''DECR_B'''), on écrit le dans le registre ''r_opa'' (resp. 'r_opb''). On ne reste qu'un cycle dans les états DECR_A et DECR_B, puisque cette opération ne dépend d'aucune condition extérieure.
     62
     63 == 1.3 Composant ''fifo_lcd_master ==
     64
     65Ce composant matériel est chargé de générer aléatoirement les deux opérandes