First I would like to thank everyone who always helping (=, even if I am 
not always clear.
I had a lot of trouble creating a system, I'm trying to make it start 
working once until she finish working. The system needs to wait for 
external signal ' ' in order to work one more tw
When I write two different independent if conditions, then an error 
message comes out (p1 code) : [Synth 8-6859] multi-driven net on pin 
U4/chek with 1st driver pin 'U4/chek_reg__0/Q' 
["C:/Users/danie/Desktop/FinalProject/FinalProject/FinalProject.srcs/sou 
rces_1/new/eieo.vhd":66]
(p1 code)
1  | library IEEE;
  | 
2  | use IEEE.STD_LOGIC_1164.ALL;
  | 
3  | 
  | 
4  | -- Uncomment the following library declaration if using
  | 
5  | -- arithmetic functions with Signed or Unsigned values
  | 
6  | --use IEEE.NUMERIC_STD.ALL;
  | 
7  | 
  | 
8  | -- Uncomment the following library declaration if instantiating
  | 
9  | -- any Xilinx leaf cells in this code.
  | 
10  | --library UNISIM;
  | 
11  | --use UNISIM.VComponents.all;
  | 
12  | 
  | 
13  | entity eieo is
  | 
14  |     Port ( 
  | 
15  |            Tenb : in STD_LOGIC;
  | 
16  |               clk : in std_logic;
  | 
17  |              UPDOWN : in STD_LOGIC;
  | 
18  |              startcountenb : in std_logic; 
  | 
19  |            eo : out STD_LOGIC;
  | 
20  |            ei : out STD_LOGIC);
  | 
21  | end eieo;
  | 
22  | 
  | 
23  | architecture Behavioral of eieo is
  | 
24  | signal chek : std_logic:='0';
  | 
25  | signal counter : integer range 0 to 100000000:=0;
  | 
26  | type state_type is(s1, s2, s3, s4);
  | 
27  | signal state : state_type :=s1;
  | 
28  | constant n1 : integer :=4001;
  | 
29  | constant n2: integer :=3001;
  | 
30  | constant n3 : integer :=4001;
  | 
31  | constant n4 : integer  :=2557011;
  | 
32  | signal tempoe : std_logic:='0';
  | 
33  | signal tempie : std_logic:='0';
  | 
34  | 
  | 
35  | 
  | 
36  | begin
  | 
37  | 
  | 
38  | 
  | 
39  | 
  | 
40  | 
  | 
41  | process(clk,chek,Tenb,UPDOWN,state) begin
  | 
42  | 
  | 
43  | if( UPDOWN='1') then 
  | 
44  |     if(falling_edge(Tenb)) then 
  | 
45  |         chek<='1'; end if;
  | 
46  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((----------
  | 
47  | --else  
  | 
48  | end if; 
  | 
49  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((----------    
  | 
50  |     
  | 
51  | if(rising_edge(clk) ) then 
  | 
52  | 
  | 
53  | if(chek='1') then 
  | 
54  | 
  | 
55  | counter<=counter+1;
  | 
56  | 
  | 
57  | case state is 
  | 
58  | 
  | 
59  |     when s1 => if( counter=n1) then tempie<=not(tempie);
  | 
60  |                                       tempoe<='0'; 
  | 
61  |                                       counter<=0;
  | 
62  |                                       state<=s2;
  | 
63  |                                      
  | 
64  |                                       end if;
  | 
65  |                                       
  | 
66  |     when s2 => if( counter=n2) then tempie<=not(tempie);
  | 
67  |                                       tempoe<='0'; 
  | 
68  |                                       counter<=0;
  | 
69  |                                       state<=s3;
  | 
70  |                                       end if;
  | 
71  |                                       
  | 
72  |     when s3 => if( counter=n3) then tempoe<=not(tempoe);
  | 
73  |                                       tempie<='0';
  | 
74  |                                       counter<=0;
  | 
75  |                                       state<=s4; 
  | 
76  |                                       end if;
  | 
77  |                                       
  | 
78  |     when s4 => if( counter=n4) then tempoe<=not(tempoe);
  | 
79  |                                      tempie<='0'; 
  | 
80  |                                      counter<=0;
  | 
81  | 
  | 
82  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((-----------
  | 
83  |                                        chek<='0';  
  | 
84  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((-----------  
  | 
85  |                  
  | 
86  |                                      state<=s1; 
  | 
87  |                                       end if;
  | 
88  | end case; 
  | 
89  | else 
  | 
90  | tempie<='0';
  | 
91  | tempoe<='0'; 
  | 
92  | end if;
  | 
93  | end if; 
  | 
94  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((-----------
  | 
95  | --end if;
  | 
96  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((----------
  | 
97  | end process;
  | 
98  | ei<=tempie;
  | 
99  | eo<=tempoe;
  | 
100  | end Behavioral;
  | 
 When I write the " if's" under the same condition,  I get another error 
message (p2 code) : [Synth 8-5787] Register chek_reg in module eieo is 
clocked by two different clocks in the same process. This may cause 
simulation mismatches and synthesis errors. Consider using different 
process statements 
["C:/Users/danie/Desktop/FinalProject/FinalProject/FinalProject.srcs/sou 
rces_1/new/eieo.vhd":66]
(p2 code)
1  | library IEEE;
  | 
2  | use IEEE.STD_LOGIC_1164.ALL;
  | 
3  | 
  | 
4  | 
  | 
5  | 
  | 
6  | entity eieo is
  | 
7  |     Port ( 
  | 
8  |            Tenb : in STD_LOGIC;
  | 
9  |               clk : in std_logic;
  | 
10  |              UPDOWN : in STD_LOGIC;
  | 
11  |              startcountenb : in std_logic; 
  | 
12  |            eo : out STD_LOGIC;
  | 
13  |            ei : out STD_LOGIC);
  | 
14  | end eieo;
  | 
15  | 
  | 
16  | architecture Behavioral of eieo is
  | 
17  | signal chek : std_logic:='0';
  | 
18  | signal counter : integer range 0 to 100000000:=0;
  | 
19  | type state_type is(s1, s2, s3, s4);
  | 
20  | signal state : state_type :=s1;
  | 
21  | constant n1 : integer :=4001;
  | 
22  | constant n2: integer :=3001;
  | 
23  | constant n3 : integer :=4001;
  | 
24  | constant n4 : integer  :=2557011;
  | 
25  | signal tempoe : std_logic:='0';
  | 
26  | signal tempie : std_logic:='0';
  | 
27  | 
  | 
28  | 
  | 
29  | begin
  | 
30  | 
  | 
31  | 
  | 
32  | 
  | 
33  | 
  | 
34  | process(clk,chek,Tenb,UPDOWN,state) begin
  | 
35  | 
  | 
36  | if( UPDOWN='1') then 
  | 
37  |     if(falling_edge(Tenb)) then 
  | 
38  |         chek<='1'; end if;
  | 
39  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((----------
  | 
40  | else  
  | 
41  | --end if; 
  | 
42  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((----------    
  | 
43  |     
  | 
44  | if(rising_edge(clk) ) then 
  | 
45  | 
  | 
46  | if(chek='1') then 
  | 
47  | 
  | 
48  | counter<=counter+1;
  | 
49  | 
  | 
50  | case state is 
  | 
51  | 
  | 
52  |     when s1 => if( counter=n1) then tempie<=not(tempie);
  | 
53  |                                       tempoe<='0'; 
  | 
54  |                                       counter<=0;
  | 
55  |                                       state<=s2;
  | 
56  |                                      
  | 
57  |                                       end if;
  | 
58  |                                       
  | 
59  |     when s2 => if( counter=n2) then tempie<=not(tempie);
  | 
60  |                                       tempoe<='0'; 
  | 
61  |                                       counter<=0;
  | 
62  |                                       state<=s3;
  | 
63  |                                       end if;
  | 
64  |                                       
  | 
65  |     when s3 => if( counter=n3) then tempoe<=not(tempoe);
  | 
66  |                                       tempie<='0';
  | 
67  |                                       counter<=0;
  | 
68  |                                       state<=s4; 
  | 
69  |                                       end if;
  | 
70  |                                       
  | 
71  |     when s4 => if( counter=n4) then tempoe<=not(tempoe);
  | 
72  |                                      tempie<='0'; 
  | 
73  |                                      counter<=0;
  | 
74  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((-----
  | 
75  |                                        chek<='0';  
  | 
76  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((-----------                   
  | 
77  |                                      state<=s1; 
  | 
78  |                                       end if;
  | 
79  | end case; 
  | 
80  | else 
  | 
81  | tempie<='0';
  | 
82  | tempoe<='0'; 
  | 
83  | end if;
  | 
84  | end if; 
  | 
85  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((-----------
  | 
86  | end if;
  | 
87  | ----------&&&&&&&&&&&&&&&&&&&&&(((((((----------
  | 
88  | end process;
  | 
89  | ei<=tempie;
  | 
90  | eo<=tempoe;
  | 
91  | end Behavioral;
  | 
What do you do in such cases, I didn't find any mention of it anywhere.