-- decodeur4.vhd -- Eurobot 2004 : APB Team -- Auteur : Pierre-André Galmes -- Décodeur 4 addresse. library ieee; use ieee.std_logic_1164.all; -- TODO : si on décommente les lignes du dessous, on a des Warning !! Est-ce -- normal ? Cela vient-il d'un problème de programmation caché ? Est-ce des -- conflits entre les librairies ? --use ieee.std_logic_arith.all; --use ieee.std_logic_unsigned.all; use work.nono_const.all; entity decodeur is generic ( -- adresses des différents registres du module. A_REG0 : T_ADDRESS; A_REG1 : T_ADDRESS; A_REG2 : T_ADDRESS; A_REG3 : T_ADDRESS -- si autre choses à déclarer... ); port ( -- TODO : utile la clock ? --clk : in std_logic; bus_address : in T_ADDRESS; enable0 : out std_logic; enable1 : out std_logic; enable2 : out std_logic; enable3 : out std_logic ); end entity; architecture RTL of decodeur is begin -- process (clk) -- begin -- if (clk'event and clk = '1') then -- end if; -- end process; -- process combinatoire. enable0 <= '1' when (bus_address = A_REG0) else '0'; enable1 <= '1' when (bus_address = A_REG1) else '0'; enable2 <= '1' when (bus_address = A_REG2) else '0'; enable3 <= '1' when (bus_address = A_REG3) else '0'; end RTL;