CLa_R
Occasional Contributor
6 years agoVHDL multiple asynchronous signal handling
Hi everyone,
to realize an asynchronous project,
I would need to manage different signals and understand when they change state, both from 0 to 1 and from 1 to 0.
The change from these signals should change an output signal,
which drives another section of the circuit.
For this, I use:
process(signal_1)
begin
if something then
signal_out <= '0';
end if;
end;
process(signal_2)
begin
if something then
signal_out <= '1';
end if;
end;In this case, I obtain an error:
Error (10028): Can't resolve multiple constant drivers for net "signal_out" .
For this reasons I try to insert all signals in one process, in this manner:
process(signal_1, signal_2)
begin
if rising_edge(signal_1) or falling_edge(signal_1) then
if something then
signal_out <= '0';
end if;
end if;
if rising_edge(signal_2) or falling_edge(signal_2) then
if something then
signal_out <= '1';
end if;
end if;
end;
But, in this case, I have the error:
Error (10628): […] can't implement register for two clock edges combined with a binary operator.
What is the correct way to get what I want?