Czytałem tę stronę http://www.asic-world.com/verilog/verilog_one_day3.html, kiedy natrafiłem na następujące:
Zwykle musimy resetować przerzutniki, więc za każdym razem, gdy zegar dokonuje przejścia z 0 do 1 (pozowanie), sprawdzamy, czy reset jest potwierdzony (reset synchroniczny), a następnie kontynuujemy normalną logikę. Jeśli przyjrzymy się bliżej, zobaczymy, że w przypadku logiki kombinacyjnej mieliśmy „=” do przypisania, a dla bloku sekwencyjnego mieliśmy operatora „<=”. Cóż, „=” blokuje przypisanie, a „<=” to przypisanie nieblokujące. „=” wykonuje kod sekwencyjnie wewnątrz początku / końca, podczas gdy nieblokujące „<=” wykonuje się równolegle.
Byłem całkiem pewien, że nieblokujące przypisania były sekwencyjne, podczas gdy blokujące przypisania były równoległe. W końcu możesz wykonywać przypisania blokujące za pomocą instrukcji przypisania poza zawsze blokami, a wszystkie działają równolegle. Czy to pomyłka, czy może zachowanie jest inne w bloku zawsze? A jeśli zachowanie JEST inne w obrębie zawsze bloku, czy można przypisać funkcje nieblokujące poza blokiem zawsze?