Verilog HDL : Machine d’état synchrone

author-image

Par

Il s’agit d’un exemple de Verilog qui montre la mise en œuvre d’une machine d’état. Le premier relevé CASE définit les sorties qui dépendent de la valeur de l’état variable de la machine d’état. Le deuxième relevé CASE définit les transitions de la machine d’état et les conditions qui les contrôlent.

Pour plus d’informations sur l’utilisation de cet exemple dans votre projet, reportez-vous à la section Comment utiliser Verilog HDL Examples sur la page Web de Verilog.


statem.v

statem du module (connecteur, in, réinitialisation, out) ;

entrée clk, in, réinitialisation ;
sortie [3:0] ;

rég [3:0] ;
état rég [1:0] ;

paramètre zéro=0, un=1, deux =2, trois=3 ;

toujours @(state) 
     case de départ
          (état)
               zéro : out =
                    4'b0000 ;
               un :
                    out = 4'b0001 ;
               deux :
                    sortie = 4'b0010 ;
               trois :
                    out = 4'b0100 ;
               par défaut :
                    out = 4'b0000 ;
          fin de l’emballage

toujours @(posedge clk ou posedge reset)
     commence si
          (reset)
               state = zéro ;
          autre
               cas (état)
                    zéro : état = un
                         ;
                    un :
                         si (in)
                              état = zéro ;
                              autre état = deux ;
                    deux :
                         état = trois ;
                    trois :
                         état = zéro ;

endmodule endcase

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.