Чтобы изучить логическую схему, вам нужно знать два вида схем. Это комбинационная схема и последовательная схема.

  • Комбинационная логическая схема

Комбинационная логическая схема означает, что выход схемы зависит только от «Токового входа». Предыдущий вход не может изменить текущий выход. Это означает, что в этой схеме нет блока памяти.

  • Последовательная логическая схема

Последовательная логическая схема означает, что выход схемы зависит не только от текущего входа, но и от предыдущих входов. Что-то вроде регистра, защелки, триггера, сохраняющего значение в памяти.

Блокирующее и неблокирующее назначение

В Verilog есть два метода назначения. Одно из них — блокирующее назначение, а другое — неблокирующее назначение.

  • Блокировка назначения ( = )

Блокировка Присваивания имеет последовательность. Когда мы пишем код, как показано ниже.

a = 1; b = 2; c = 3;

a = b;

b = c;

c = a;

В Verilog сначала запускается a=b. Итак, a изменяется с 1 на 2. Затем b изменяется с 2 на 3. Затем c изменяется с 3 на 2.

  • Неблокирующее присвоение ( ‹= )

Неблокирующее назначение является параллельным. Когда мы пишем тот же код с помощью неблокирующего присваивания.

a =1; b= 2; c =3;

a <= b;

b <= c;

c <= a;

Ответ: а = 2, б = 3, с = 1.

Совсем другой результат!!! Итак, мы позаботимся о письменном задании. Когда мы не использовали правильный метод назначения, это может привести к «состоянию гонки».

  • Комбинационная логическая схема / функциональный дизайн

Мы почти пишем код, блокируя присваивание.

  • Последовательная логическая схема / Всегда @(*)

Мы почти пишем код, не блокируя присваивание.