Files
CITISE1/IUT/Auto1/TP/gen_impuls/gen_impuls.vhd
2026-04-08 20:11:20 +02:00

36 lines
950 B
VHDL

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
ENTITY gen_impuls is
PORT (
clk : IN STD_LOGIC;
rst_n : IN STD_LOGIC;
max : IN STD_LOGIC_VECTOR(28 DOWNTO 0);
impuls : OUT STD_LOGIC
);
END gen_impuls;
ARCHITECTURE archi OF gen_impuls is
SIGNAL valeur_interne : STD_LOGIC_VECTOR(28 DOWNTO 0);
BEGIN
PROCESS (clk, rst_n)
begin
IF rst_n = '0' THEN
valeur_interne <= (OTHERS => '0');
else
IF rising_edge(clk) THEN
IF valeur_interne = max THEN
valeur_interne <= (OTHERS => '0');
-- impuls <= '1';
else
-- impuls <= '0';
valeur_interne <= STD_LOGIC_VECTOR(UNSIGNED(valeur_interne) + 1);
END IF;
END IF;
END IF;
END PROCESS;
impuls <= '1' WHEN valeur_interne = max ELSE '0';
END archi;