-- pwm_const.vhd -- Eurobot 2004 : APB Team -- Auteur : Fidèle GAFAN -- Fichier de déclaration de constantes de pwm. -- RQ : pour une indentation bien sous vim : -- 1 - ":set shiftwidth=4" -- 2 - se placer sous "package nono_const is" -- 3 - tapez : = puis shift+G library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; use work.nono_const.all; -- Constantes relatives au module PWM. package pwm_const is -- Nb de période de l'horloge à 1us pour avoir 1ms : 1000 : x"03E8". constant PWM_VALUE_MIN : T_DOUBLE_OCTET := x"03E8"; -- 40M + 100M + led --constant PWM_VALUE_MIN : T_DOUBLE_OCTET := x"0000"; -- ise -- Nb de périodes de l'horloge à 1us pour avoir 2ms : 2000 : x"07D0". -- rq : cette constante n'est pas utilisée ! constant PWM_VALUE_MAX : T_DOUBLE_OCTET := x"07D0"; -- 40M et 100M --constant PWM_VALUE_MAX : T_DOUBLE_OCTET := x"0005"; -- ise -- led : mettre 18000 -- Nb de périodes de l'horloge à 1us pour avoir 20ms : 20000 : x"4E20". --constant PWM_NB_CYCLE_20MS : T_DOUBLE_OCTET := x"0005"; -- ise constant PWM_NB_CYCLE_20MS : T_DOUBLE_OCTET := x"4E20"; --40M et 100M + led -- Nb de périodes de 1us à ajouter pour un incrément de 1 dans le -- registre (incrément pour un interval). Le calcul est : -- (PWM_VALUE_MAX - PWM_VALUE_MIN)) / (255 - 0) = 4 --constant PWM_INC_INT : T_OCTET := x"04"; -- 40M et 100M --constant PWM_INC_INT : T_OCTET := x"01"; --ise constant PWM_INC_INT : T_OCTET := x"46"; -- led = 70 end pwm_const;