During synthesis I get the following warning message stated:
"Mix of sync and async assignments to register 'Sig_Z' in module XXX in
the same process may cause logic issues. Please split the sync and async
parts into different processes."
The respective process is the following:
1 | process(Sig_A, Sig_B)
|
2 | begin
|
3 | for I in 0 to 3 loop
|
4 | Sig_Z(I) <= '0'
|
5 | if(Sig_A(I) > Sig_B(I) then
|
6 | Sig_Z <= '1';
|
7 | end if;
|
8 | end loop;
|
9 | end process;
|
I don't really get what the tool (Vivado) tries to tell me here. All the
input signals (Sig_A, Sig_B) are coming from other flipflops, there is
only one clock in the entire design. Synthesis completes fine and the
result is working on my FPGA. However, I don't really trust this and
asynchronous logic is not something I want to have in my design.
Does anybody recognize what I did wrong? Can I ignore this warning?