blob: e272b438412751d37114dd19c61cfbee7f9bdb35 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
Дерево сумматоров
Требуется при помощи языка Verilog спроектировать параметрический блок сложения
нескольких чисел. Схема сложения выполнена в виде дерева, когда нечетные по
номеру числа складываются с четными и к результирующим числам применяется такая
же схема, пока не получиться одно число.
Имя модуля должно быть tree_adder.
Парметры модуля:
* WIDTH - размер числа (по умолчанию, 8 бит).
* SIZE - количество складываемых чисел (по умолчанию, 4). Для простоты
реализации, считается, что количество чисел является степенью двойки
(другими словами, дерево сложения является полным двоичным деревом).
Вход модуля: data_in - шина проводов размера SIZE * WIDTH, представляющая собой
последовательную конкатенацию всех входных чисел.
Выход модуля: data_out - шина проводов размера WIDTH, представляющая собой
результат сложения.
При проектировании модуля игнорируется возможное переполнение. Считается, что
все промеужеточные числа и финальное число имеет размер WIDTH.
|