@ (sigs) needs to be inside some kind of procedural block. It
can be in an always block or an initial block. In either case
it does the same thing.
always says to continuously loop on the code in the statement
that follows. That statement can be either a single statement
like:
always
#7 foo = bar;
or a group of statements like
always
begin
#7 foo = bar;
@ (posedge clk) baz = #1 splat;
end
or:
always
@ (sigs) begin
foo = some_sig;
bar = some_other_sig;
end
I placed the @ (sigs) on a separate line to underline the point
that it is really independent of the "always" and not a special
case.
HTH,
Gabor