Estaba leyendo esta página enlace cuando encontré lo siguiente:
Normalmente, tenemos que restablecer los flip-flops, por lo tanto, cada vez que el reloj realiza la transición de 0 a 1 (posición), verificamos si se restablece (restablecimiento sincrónico), luego seguimos con la lógica normal. Si observamos de cerca, vemos que en el caso de la lógica combinacional teníamos "=" para la asignación, y para el bloque secuencial teníamos el operador "<=". Bueno, "=" está bloqueando la asignación y "<=" es una asignación sin bloqueo. "=" ejecuta el código de forma secuencial dentro de un inicio / final, mientras que el bloqueo sin bloqueo "<=" se ejecuta en paralelo.
Estaba bastante seguro de que las asignaciones sin bloqueo eran secuenciales, mientras que las asignaciones de bloqueo eran paralelas. Después de todo, puede realizar asignaciones de bloqueo con sentencias de asignación fuera de siempre bloques, y todas se ejecutan en paralelo. ¿Es esto un error, o el comportamiento es diferente dentro de un bloque siempre? Y, si el comportamiento ES diferente dentro de un bloque siempre, ¿se pueden hacer asignaciones sin bloqueo fuera de un bloque siempre?