mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
Обновление указания по использованию присваиваний
Ранее давалось более простое правило: "Используй неблокирующее присваивание во всех блоках always", которое конфликтует с правилами, описанными в документе по присваиваниям. Правила были обновлены, таким образом, чтобы сохранить простоту и устранить конфликт.
This commit is contained in:
@@ -216,26 +216,26 @@ module tequila (
|
||||
);
|
||||
parameter logic [3:0] PICKLE = 4'b1100;
|
||||
always_comb begin
|
||||
a <= 1'b0; // значения по-умолчанию
|
||||
b <= 1'b0;
|
||||
c <= 1'b1;
|
||||
d <= 1'b0;
|
||||
a = 1'b0; // значения по-умолчанию
|
||||
b = 1'b0; // обратите внимание, что в блоке
|
||||
c = 1'b1; // always_comb используется оператор
|
||||
d = 1'b0; // блокирующего присваивания
|
||||
case(cucumber)
|
||||
// ... какие-то еще комбинации
|
||||
PICKLE: begin // если на cucumber значение PICKLE
|
||||
c <= 1'b0;
|
||||
case (size)
|
||||
1'b0: b <= 1'b1; // если на size значение 1'b0
|
||||
1'b1: d <= 1'b1; // если на size значение 1'b1
|
||||
endcase
|
||||
end
|
||||
// ... какие-то еще обработчики
|
||||
default: begin // так как описаны не все значения
|
||||
a <= 1'b0; // cucumber, то чтобы case не было
|
||||
b <= 1'b0; // защелки (latch) на выходе
|
||||
c <= 1'b1; // нужно обязательно добавлять
|
||||
d <= 1'b0; // default
|
||||
end
|
||||
// ... какие-то еще комбинации
|
||||
PICKLE: begin // если на cucumber значение PICKLE
|
||||
c = 1'b0;
|
||||
case (size)
|
||||
1'b0: b = 1'b1; // если на size значение 1'b0
|
||||
1'b1: d = 1'b1; // если на size значение 1'b1
|
||||
endcase
|
||||
end
|
||||
// ... какие-то еще обработчики
|
||||
default: begin // так как описаны не все значения
|
||||
a = 1'b0; // cucumber, то чтобы case не было
|
||||
b = 1'b0; // защелки (latch) на выходе
|
||||
c = 1'b1; // нужно обязательно добавлять
|
||||
d = 1'b0; // default
|
||||
end
|
||||
endcase
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user