siempre @ (señal 1, señal 2 ......) es una construcción utilizada en el modelado de comportamiento.
El código que está presente en el bloque que sigue a esta construcción solo se ejecutará cuando cambie alguna de las señales en la lista de sensibilidad, a saber, la señal 1, la señal 2 ...
Si solo coloca el reloj de posición en la lista, el código se ejecutará solo cuando haya un borde positivo del reloj y no de otra manera. Puede usar esto para crear circuitos temporizados que no responden a ninguna otra señal sino al reloj. Para reinicio síncrono, entonces escribirá
always @ ( posedge clock)
begin
if (reset) //Do something
else //Do something else
end
Para su caso, desea reinicio asíncrono. El reinicio asíncrono significa que su circuito debe reiniciarse siempre que la señal de reinicio esté activa 'Independientemente' del reloj. Naturalmente, esto debería incluirse en la lista de sensibilidad.
always @ (posedge clk, negedge reset)
begin
if ( 'reset) //Then reset , since it is active low.
else // Do something else
end