Инструментам синтеза требуется особый стиль кодирования шаблонов для синтеза вашего кода.Большинство из них допускают только одно явное управление событиями в начале блока always
.Некоторые из инструментов синтеза более высокого уровня, которые допускают множественные элементы управления событиями, допускают только многократные вхождения одного и того же фронта тактового сигнала.
Инструменты моделирования не имеют этих ограничений и будут пытаться выполнить любой допустимый синтаксис, который вы можете скомпилировать.Кстати, ваш @((sig_c==1)&&(sig_a==0))
означает, что выражение должно изменить значение, а не ждать, пока оно станет истинным.Конструкция wait(expr)
означает ожидание, пока выражение не станет истинным.