Skip to content

Commit ec4ef34

Browse files
committed
ЛР1. Стилистические правки
1 parent e6c9ce4 commit ec4ef34

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

Labs/01. Adder/README.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@
44

55
Познакомиться с САПР Vivado и научиться реализовывать в нём простейшие схемотехнические модули с помощью конструкций языка SystemVerilog.
66

7-
## Допуск к лабораторной работе
7+
## Материал для подготовки к лабораторной работе
88

9-
Изучить [описание модулей на языке SystemVerilog](../../Basic%20Verilog%20structures/Modules.md).
9+
[Описание модулей на языке SystemVerilog](../../Basic%20Verilog%20structures/Modules.md).
1010

1111
## Ход работы
1212

13-
1. [Тренинг по созданию проекта в Vivado](../../Vivado%20Basics/Vivado%20trainer.md);
14-
2. Изучение, реализация и проверка полного 1-битного сумматора;
15-
3. Изучение реализации полного 4-битного сумматора;
16-
4. Реализация полного 4-битного сумматора;
17-
5. Реализация 32-битного сумматора.
13+
1. Изучение 1-битного сумматора;
14+
2. Воспроизведение примера по реализации и проверке полусумматора.
15+
3. Реализация и проверка полного 1-битного сумматора
16+
4. Изучение 4-битного сумматора;
17+
5. Реализация и проверка полного 4-битного сумматора;
18+
6. Реализация и проверка полного 32-битного сумматора.
1819

1920
## Теория
2021

@@ -38,11 +39,11 @@
3839

3940
![../../.pic/Labs/lab_01_adder/column_add_bin.drawio.svg](../../.pic/Labs/lab_01_adder/column_add_bin.drawio.svg)
4041

41-
Поскольку в двоичной системе всего две цифры: 0 и 1, один разряд не может превысить 1. Складывая числа 1 и 1, вы получаете 2, что не умещается в один разряд, поэтому мы пишем 0 и держим 1 "в уме". Это снова перенос разряда. Поскольку в двоичной арифметике разряд называют битом, перенос разряда называют переносом бита, а сам разряд, который перенесли — битом переноса.
42+
Поскольку в двоичной системе всего две цифры: 0 и 1, один разряд не может превысить 1. Складывая числа 1 и 1, вы получаете 2, что не умещается в один разряд, поэтому мы пишем 0 и держим 1 "в уме". Это снова перенос разряда. Поскольку в двоичной арифметике разряд называют битом, перенос разряда можно назвать переносом бита, а сам разряд, который перенесли — битом переноса.
4243

4344
### Полный 1-битный сумматор
4445

45-
Полный 1-битный сумматор — это цифровое устройство, которое выполняет сложение двух 1-битных чисел и учитывает входной бит переноса. Это устройство имеет три входа: два слагаемых и входной бит переноса, и два выхода: 1-битный результат суммы и выходной бит переноса.
46+
Полный 1-битный сумматор — это цифровое устройство, которое выполняет сложение двух 1-битных чисел и учитывает входной бит переноса. Это устройство имеет три входа: два слагаемых и входной бит переноса, а также два выхода: 1-битный результат суммы и выходной бит переноса.
4647

4748
Что такое входной бит переноса? Давайте вспомним второй этап сложения чисел 42 и 79:
4849

@@ -56,7 +57,7 @@
5657

5758
### Реализация одноразрядного сложения
5859

59-
Можно ли как-то описать сложение двух одноразрядных двоичных чисел с помощью логических операций? Давайте посмотрим на таблицу истинности подобной операции и:
60+
Можно ли как-то описать сложение двух одноразрядных двоичных чисел с помощью логических операций? Давайте посмотрим на таблицу истинности подобной операции:
6061

6162
![../../.pic/Labs/lab_01_adder/tt1.png](../../.pic/Labs/lab_01_adder/tt1.png)
6263

@@ -112,7 +113,7 @@ _Рисунок 2. Цифровая схема полного 1-битного
112113

113114
<details>
114115

115-
<summary>Прочти меня перед использованием кода из примера.</summary>
116+
<summary>**Прочти меня перед использованием кода из примера.**</summary>
116117

117118
### Во все примеры кода намеренно вставлены неподдерживаемые символы. Не копируй, одумайся!
118119

@@ -164,13 +165,13 @@ _Рисунок 3. Цифровая схема модуля half_adder, сген
164165

165166
Для этого необходимо провести моделирование этой схемы. Во время моделирования на входы подаются тестовые воздействия. Каждое изменение входных сигналов приводит к каскадному изменению состояний внутренних цепей, что в свою очередь приводит к изменению значений на выходных сигналах схемы.
166167

167-
Подаваемые на схему входные воздействия формируются верификационным окружением. Верификационное окружение (или тестбенч) — это особый несинтезируемый модуль, который не имеет входных или выходных сигналов. Ему не нужны входные сигналы, поскольку он сам является генератором всех своих внутренних сигналов, и ему не нужны выходные сигналы, поскольку этот модуль ничего не вычисляет, только подает входные воздействия на проверяемый модуль.
168+
Подаваемые на схему входные воздействия формируются верификационным окружением. Верификационное окружение (в дальнейшем будет использован термин "**тестбенч**") — это особый несинтезируемый модуль, который не имеет входных или выходных сигналов. Ему не нужны входные сигналы, поскольку он сам является генератором всех своих внутренних сигналов, и ему не нужны выходные сигналы, поскольку этот модуль ничего не вычисляет, только подает входные воздействия на проверяемый модуль.
168169

169170
Внутри тестбенча можно использовать конструкции из несинтезируемого подмножества языка SystemVerilog, в частности программный блок `initial`, в котором команды выполняются последовательно, что делает этот блок чем-то отдаленно похожим на проверяющую программу. Поскольку изменение внутренних цепей происходит с некоторой задержкой относительно изменений входных сигналов, при моделировании есть возможность делать паузы между командами. Это делается с помощью специального символа #, за которым указывается количество времени симуляции, которое нужно пропустить перед следующей командой.
170171

171-
Перед тем как писать верификационное окружение, необходимо составить план того, как будет проводиться проверка устройства (составить верификационный план).
172+
Перед тем как писать верификационное окружение, необходимо составить план того, как будет проводиться проверка устройства (составить верификационный план). Ввиду предельной простоты устройства, план будет состоять из одного предложения:
172173

173-
Поскольку устройство настолько простое, что число всех его возможных входных наборов воздействий равно четырем, и не имеет памяти (т.е. каждый раз, когда модулю подаются на вход одни и те же значения, оно вернет тот же результат), мы можем проверить его работу, перебрав все возможные комбинации его входных сигналов.
174+
> Поскольку устройство не имеет внутреннего состояния, которое могло бы повлиять на результат, а число всех его возможных входных наборов воздействий равно четырем, мы можем проверить его работу, перебрав все возможные комбинации его входных сигналов.
174175
175176
```SystemVerilog
176177
module testbench(); // <- Не имеет ни входов, ни выходов!
@@ -223,7 +224,7 @@ _Рисунок 5. Схема 4-битного сумматора._
223224

224225
_Рисунок 6. Схема 4-битного сумматора, сгенерированная САПР Vivado._
225226

226-
Схема может показаться запутанной, но (если присмотреться) вы увидите, как от шин A, B и S отходят линии к каждому из сумматоров, а бит переноса передается от предыдущего сумматора к следующему.
227+
Несмотря на запутанность схемы, если присмотреться, вы увидите, как от шин A, B и S отходят линии к каждому из сумматоров, а бит переноса передается от предыдущего сумматора к следующему.
227228

228229
## Задание
229230

0 commit comments

Comments
 (0)