VHDL : compteur

author-image

Par

VHDL : Compteur de contre-viol

Cet exemple met en œuvre un compteur de lutte contre la surcharge avec des fonctionnalités de chargement, d’effacement et de haut/bas. Il n’a pas été optimisé pour une architecture de périphérique particulière, et les performances peuvent donc varier. Intel® FPGA recommande d’utiliser la fonction lpm_counter pour mettre en œuvre un compteur (voir VHDL: Down Counter). Cet exemple est fourni pour afficher la contre-implémentation qui ne nécessite pas le LPM.

Pour plus d’informations sur l’utilisation de cet exemple dans votre projet, consultez :

counters.vhd

COMPTEURS ENTITY IS
    PORT   
        (d       : PLAGE    INTEGER 0 À 255 ;
        lk     : IN    BIT ;
        clear   : IN BIT    ;
        charge    : EN BIT    ;
        up_down : IN    BIT ;
        qd      :   PLAGE INTEGER DE 0 À 255) ;
Compteurs END ;

ARCHITECTURE A OF COUNTERS IS
BEGIN
    -- Un cnt variable de processus de mise en marche/down
    (clk)
         : PLAGE       INTEGER 0 À 255 ;
         Direction VARIABLE    : INTEGER ;
    COMMENCEZ
        SI (up_down = « 1 ») PUIS  --Générer une direction de compteur haut/bas
            := 1 ;
                AUTRE direction : = -1 ;
        FIN SI ;
            SI (clk’EVENT ET clk = '1') ALORS
                SI (charge = '1') PUIS         --Générer un cnt chargeable 
                    := d ;                --compteur. Prenez ces 
                    lignes d’autres pour augmenter les                     performances.
                    cnt := cnt + direction ; 
                 FIN SI ;
                --Les lignes suivantes produisent un effacement synchrone 
                sur le compteur IF
                  (clear = '0') PUIS     
                     cnt := 0 ;
                  FIN SI ;
             FIN SI ;
    qd <= cnt ;   --Générer des sorties
    PROCESSUS FINAL ;
FIN a ;

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.