---------------------------------------------------------------------------------- -- Company: ÉCOLE POLYTECHNIQUE DE LILLE - POLYTECH LILLE. -- Engineer: -- -- Create Date: 17.10.2023 17:47:42 -- Design Name: Synchronous Reset signed generic multiplier. -- Module Name: Synchronous RESET - Behavioral -- Project Name: Synchronous Reset signed generic multiplier. -- Target Devices: BASYS3 -- Tool Versions: -- Description: -- -- Dependencies: -- -- Revision: -- Revision 0.01 - File Created -- Additional Comments: -- ---------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; -- Uncomment the following library declaration if using -- arithmetic functions with Signed or Unsigned values -- Uncomment the following library declaration if instantiating -- any Xilinx leaf cells in this code. --library UNISIM; --use UNISIM.VComponents.all; entity Synchronous_Reset is -- Déclaration de N comme generic pour varier le nombre des bits des entrés A et B. generic(N : natural := 64); Port ( reset : in std_logic; -- Déclaration du reset comme input. clk_in : in std_logic; -- Déclaration de l'horloge. A : in SIGNED(N-1 downto 0); -- L'entrée A sur N Bits. B : in SIGNED(N-1 downto 0); -- L'entrée B sur N Bits Resultat : out SIGNED(2*N -1 downto 0) -- Le résultat du produit sur 2*N Bits. ); end Synchronous_Reset; architecture Behavioral of Synchronous_Reset is signal produit : signed(2*N-1downto 0); -- Déclarataion du signal intérmidiaire pour les calculs. begin -- Reset synchrone process. => liste de sensibilité du processus ne contient pas le RESET. Mlutiplier: process(clk_in) begin if rising_edge(clk_in) then -- Tester si il y a un font montant sur l'horloge. if reset='1' then -- Teseter le reset pour le remise à ZERO du système. produit <= (others =>'0'); else produit <= A*B; -- Calculer le produit A*B a l'aide du bibliothéque IEEE.NUMERIC_STD end if; end if; end process; Resultat <= produit; -- Affectation du signal a la résultat. end Behavioral;