mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 09:10:10 +00:00
Добавление ссылок на присваивания
This commit is contained in:
1
.github/SUMMARY.md
vendored
1
.github/SUMMARY.md
vendored
@@ -41,6 +41,7 @@
|
||||
- [Мультиплексоры](Basic%20Verilog%20structures/Multiplexors.md)
|
||||
- [Регистры](Basic%20Verilog%20structures/Registers.md)
|
||||
- [Конкатенация](Basic%20Verilog%20structures/Concatenation.md)
|
||||
- [О различиях между блокирующими и неблокирующими присваиваниями](Basic%20Verilog%20structures/Assignments.md)
|
||||
- [Контроллеры](Basic%20Verilog%20structures/Controllers.md)
|
||||
- [Тестовое окружение](Basic%20Verilog%20structures/Testbench.md)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Различие блокирующего и неблокирующего присваивания
|
||||
# О различиях между блокирующими и неблокирующими присваиваниями
|
||||
|
||||
Вскоре после начала курса студенты сталкиваются с понятиями "блокирующего" и "неблокирующего" присваивания. Часто объяснения преподавателей по этой теме сопровождаются словами "последовательный" и "параллельный", а также предлагается _просто запомнить_ [[1, стр. 2]](http://www.sunburst-design.com/papers/CummingsSNUG2000SJ_NBA.pdf):
|
||||
|
||||
|
@@ -71,7 +71,7 @@ assign Y = S==1 ? D1 : D0;
|
||||
|
||||
Мультиплексор можно описать в любом из этих блоков, разница будет лишь в том, к чему именно будет подключен выход мультиплексора: к проводу, регистру, или защелке.
|
||||
|
||||
При присваивании внутри блоков `always` используйте специальный оператор **неблокирующего присваивания** `<=`. Бывает еще оператор **блокирующего присваивания** `=`, объяснение различий в этих операторах требует отдельного документа, поэтому на текущий момент, во избежание проблем в будущем просто запомните: **внутри любого блока always необходимо использовать только оператор неблокирующего присваивания <=**.
|
||||
При присваивании внутри блоков `always` используйте специальный оператор **неблокирующего присваивания** `<=`. Бывает еще оператор **блокирующего присваивания** `=`, объяснение различий в этих операторах требует отдельного документа, поэтому на текущий момент, во избежание проблем в будущем просто запомните: **внутри любого блока always необходимо использовать только оператор неблокирующего присваивания <=**. Подробно о различиях между блокирующими и неблокирующими присваиваниями рассказано в [этом документе](Assignments.md).
|
||||
|
||||
```SystemVerilog
|
||||
logic Y;
|
||||
|
Reference in New Issue
Block a user