LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.numeric_std.ALL; ENTITY chiffre IS PORT ( clk : IN STD_LOGIC; rst_n : IN STD_LOGIC; nb_fronts : IN STD_LOGIC_VECTOR(28 DOWNTO 0); n_max : IN STD_LOGIC_VECTOR(3 DOWNTO 0); a : OUT STD_LOGIC; b : OUT STD_LOGIC; c : OUT STD_LOGIC; d : OUT STD_LOGIC; e : OUT STD_LOGIC; f : OUT STD_LOGIC; g : OUT STD_LOGIC ); END chiffre; ARCHITECTURE archi OF chiffre IS COMPONENT gen_impuls PORT ( clk : IN STD_LOGIC; rst_n : IN STD_LOGIC; max : IN STD_LOGIC_VECTOR(28 DOWNTO 0); impuls : OUT STD_LOGIC ); END COMPONENT; COMPONENT compteur_max_ena PORT ( clk : IN STD_LOGIC; rst_n : IN STD_LOGIC; max : IN STD_LOGIC_VECTOR(3 DOWNTO 0); ena : IN STD_LOGIC; valeur : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END COMPONENT; COMPONENT BCD7seg PORT ( n : IN STD_LOGIC_VECTOR(3 DOWNTO 0); a : OUT STD_LOGIC; b : OUT STD_LOGIC; c : OUT STD_LOGIC; d : OUT STD_LOGIC; e : OUT STD_LOGIC; f : OUT STD_LOGIC; g : OUT STD_LOGIC ); END COMPONENT; SIGNAL impulsion : STD_LOGIC; SIGNAL nombre : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN gen_impuls_1 : gen_impuls PORT MAP( clk => clk, rst_n => rst_n, max => nb_fronts, impuls => impulsion ); compteur_max_ena_1 : compteur_max_ena PORT MAP( clk => clk, rst_n => rst_n, max => n_max, ena => impulsion, valeur => nombre ); BCD7seg_1 : BCD7seg PORT MAP( n => nombre, a => a, b => b, c => c, d => d, e => e, f => f, g => g ); END archi;