There's a simple answer to this post.
sensitivity lists in always blocks except posedge or negedge are ignored in synthesis. Sensitivity lists matters in smulation, synthesis results are identical to always @ *
Why is it so? Level sensitive always blocks are describing combinational logic. The synthesized logic equations are combinations of input terms, they are assigned unconditionally, not depending on any events.
Functional simulation is working different, interpreting the code line by line. Sensitivity lists are used to save simulation time, evaluating only the part of the code that is expected to have changed output.