I have created a process that assigns values to a signal in the purpose of re-using the signal within a different process:

```
Signaling : process(button0, button1)
begin

  if (button1= '0') AND (button0 = '0') then  -- if both buttons are pressed
    BothButtons <= "00";
  elsif (button1 = '0') AND (button0 = '1') then  -- if button1 is pressed
    BothButtons <= "01";
  elsif (button1 = '1') AND (button0 = '0') then  -- if button0 is pressed
    BothButtons <= "10";
  elsif (button1 = '1') AND (button0 = '1') then -- if no button are pressed
    BothButtons <= "11";
  else
    --BothButtons <= "11";
    BothButtons <= button0 & button1;
  end if;

end process;

```

The other process which I am re-using this signal is:

```
Counting : process(button0, BothButtons) 

  variable count0 : integer range 0 to 9; -- to hold the counter value

begin 

  if falling_edge(Button0) then -- I am using button0 as a clock because the onboard clock is too fast  

    if BothButtons = "00" then
      count0 := 0;
    elsif BothButtons = "01" then
      count0 := count0 + 1;
    elsif BothButtons = "10" then
      count0 := count0 + 1;
    else
      count0 := count0 + 1; -- when i have included this i have discovered that the signal value is not visible within this process
  end if;

end process;

```

Please ignore the contents of this if-statement I know it does not make sense but am just testing to see if the signals value is visisble within this process!

The output is not as expected, it does not seem like the second process is responding to changes within the signal!