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;