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 ;