mirror of
https://github.com/MPSU/APS.git
synced 2025-09-16 09:40:10 +00:00
Обновление указания по использованию присваиваний
Ранее давалось более простое правило: "Используй неблокирующее присваивание во всех блоках always", которое конфликтует с правилами, описанными в документе по присваиваниям. Правила были обновлены, таким образом, чтобы сохранить простоту и устранить конфликт.
This commit is contained in:
@@ -85,7 +85,7 @@ module turnstile_fsm(
|
||||
|
||||
assign is_locked = state;
|
||||
|
||||
always @(posedge clk) begin
|
||||
always_ff @(posedge clk) begin
|
||||
if(rst) begin
|
||||
state <= LOCKED;
|
||||
end
|
||||
@@ -128,7 +128,7 @@ module turnstile_fsm(
|
||||
// (!push) && coin — условие перехода в состояние UNLOCKED
|
||||
assign green_light = (state == LOCKED) && (!push) && coin;
|
||||
|
||||
always @(posedge clk) begin
|
||||
always_ff @(posedge clk) begin
|
||||
if(rst) begin
|
||||
state <= LOCKED;
|
||||
end
|
||||
@@ -175,13 +175,13 @@ module turnstile_fsm(
|
||||
|
||||
always_comb begin
|
||||
if(push) begin
|
||||
next_state <= LOCKED;
|
||||
next_state = LOCKED;
|
||||
end
|
||||
else if (coin) begin
|
||||
next_state <= UNLOCKED;
|
||||
next_state = UNLOCKED;
|
||||
end
|
||||
else begin
|
||||
next_state <= state;
|
||||
next_state = state;
|
||||
end
|
||||
end
|
||||
```
|
||||
|
Reference in New Issue
Block a user