-- servo_generator.vhd -- Eurobot 2004 : APB Team -- Auteur : Pierre-André Galmes -- Bloc générant le signal à envoyer au servos lorsqu'il recoit la valeur -- provenant de convert_servo. library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; use work.nono_const.all; use work.servo_const.all; --ENTITE entity servo_generator is port ( rst : in std_logic; clk : in std_logic; servo_in : in T_DOUBLE_OCTET; servo_out : out std_logic ); end entity; --ARCHITECTURE architecture RTL of servo_generator is signal compt : T_DOUBLE_OCTET; signal reg : T_DOUBLE_OCTET; begin process(rst, clk) begin if (rst = '1') then compt <= x"0000"; reg <= x"0000"; servo_out <= '0'; elsif (clk'event and clk = '1') then compt <= compt + x"0001"; if (compt < reg) then servo_out <= '1'; else servo_out <= '0'; if (compt = SERVO_NB_CYCLE_20MS) then compt <= x"0000"; reg <= servo_in; end if; end if; end if; end process; end RTL;