Чтобы изучить логическую схему, вам нужно знать два вида схем. Это комбинационная схема и последовательная схема.
- Комбинационная логическая схема
Комбинационная логическая схема означает, что выход схемы зависит только от «Токового входа». Предыдущий вход не может изменить текущий выход. Это означает, что в этой схеме нет блока памяти.
- Последовательная логическая схема
Последовательная логическая схема означает, что выход схемы зависит не только от текущего входа, но и от предыдущих входов. Что-то вроде регистра, защелки, триггера, сохраняющего значение в памяти.
Блокирующее и неблокирующее назначение
В 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.
Совсем другой результат!!! Итак, мы позаботимся о письменном задании. Когда мы не использовали правильный метод назначения, это может привести к «состоянию гонки».
- Комбинационная логическая схема / функциональный дизайн
Мы почти пишем код, блокируя присваивание.
- Последовательная логическая схема / Всегда @(*)
Мы почти пишем код, не блокируя присваивание.