Bonsoir à tous,
je suis débutante en VHDL, je veux écrire un simple programme qui fait la synchronisattion entre 2 process, lorsque l'un fonctionne l'autre non, pour cela j'ai utilisé une variable im qui va prendre la valeur 1 pour que le 2 éme process puisse fonctionner, et puis pour que le 1 ér re-fonctionne elle doit chnager de valeur à 0. le programme n'accepte pas cette 2 éme attribution de valeur à la méme variable,,, il m'affiche"im has multiple source" volia le code
Code:LIBRARY ieee ; use ieee.std_logic_unsigned.all; USE ieee.std_logic_1164.all ; USE ieee.std_logic_arith.all ; use ieee.numeric_std.all; entity t is port( reset : in std_logic; clk : in std_logic; d_in : in std_logic; d_out :out std_logic; im_out : out std_logic ); end entity; ARCHITECTURE corp of t is signal im:integer:=0; begin process(clk) --process 1 begin if (clk'event and clk='1') then d_out <= d_in; im <= 1; end if; end process; process (clk) begin if (clk'event and clk='1' and im=1) then im_out <= d_in; end if; end process; im <= 0; end corp;
-----