Можете да използвате неблокиращата процедурна декларация когато искате да направите няколко присвоявания на регистър в рамките на една и съща времева стъпка без оглед на реда или зависимостта един от друг. Това означава, че неблокиращите изявления приличат повече на действителния хардуер, отколкото на блокиращите задания.
Защо използваме неблокиране в блок?
Блокиращи (=) и неблокиращи (<=) присвоения са предоставени за контролиране на реда за изпълнение в рамките на изпълнение на оператор за винаги блокиране. Неблокиращите присвоения буквално не блокират изпълнението на следващите оператори. Първо се определя дясната страна на всички изявления, след това левите страни се присвояват заедно.
Кога бихте използвали блокиращи срещу неблокиращи задания при кодиране на последователна логика?
Указание №1: Когато моделирате последователна логика, използвайте неблокиращи присвоения Указание №2: Когато моделирате ключалки, използвайте неблокиращи присвоения. Има много начини за кодиране на комбинационна логика с помощта на Verilog, но когато комбинационната логика е кодирана с помощта на винаги блок, трябва да се използват блокиращи присвоения.
Какво е блокиране и неблокиране на задания?
блокове, с едва доловимо различно поведение. • Блокиращо присвояване: оценката и присвояването са незабавни. • Неблокиращо присвояване: всички назначения се отлагат до всички . десните страни са оценени (край на симулацията.
Къде се използва блокиращ и неблокиращ Verilog?
Ето едно добро правило за Verilog: В Verilog, ако искате да създавате последователна логика, използвайте синхронизиран винаги блок с неблокиращи задания Ако искате да създадете комбинирана логика, използвайте винаги блок с блокиране на задания. Опитайте се да не смесвате двете в един и същ винаги блок.