aboutsummaryrefslogtreecommitdiffstats
path: root/questions/2-b.txt
diff options
context:
space:
mode:
authorjustanothercatgirl <sotov@twistea.su>2025-05-14 19:16:38 +0300
committerjustanothercatgirl <sotov@twistea.su>2025-05-14 20:24:21 +0300
commit11508800cfaefc1c25a793760bf10d3fd997af80 (patch)
tree8ed58e143243415830f97ea74b9ba4613df23e85 /questions/2-b.txt
Initial and probably final commitHEADmaster
Diffstat (limited to 'questions/2-b.txt')
-rw-r--r--questions/2-b.txt33
1 files changed, 33 insertions, 0 deletions
diff --git a/questions/2-b.txt b/questions/2-b.txt
new file mode 100644
index 0000000..837c2c3
--- /dev/null
+++ b/questions/2-b.txt
@@ -0,0 +1,33 @@
+Вычисление максимума
+
+Требуется при помощи языка Verilog спроектировать параметрический блок
+вычисления максимума нескольких чисел и индекса исходного числа, на котором
+достигается максимум. Схема вычисления выполнена в виде дерева, когда
+последовательные пары чисел сравниваются и среди них выбирается максимальный.
+Аналогичная схема применяется к результирующим числам, пока не получиться одно
+число.
+
+Имя модуля должно быть max_argmax.
+
+Парметры модуля:
+
+ * WIDTH - размер числа (по умолчанию, 8 бит).
+ * SIZE - количество уровней в дереве вычислений (по умолчанию, 2). При этом
+ количество чисел, для которых вычисляется максимум, равно 2 в степени
+ SIZE.
+
+Вход модуля: data_in - шина проводов размера (2**SIZE) * WIDTH, представляющая
+собой последовательную конкатенацию всех входных чисел.
+
+Выход модуля:
+
+ * data_max - шина проводов размера WIDTH, представляющая собой результат
+ сложения.
+ * argmax - шина проводов размера SIZE, представляющая собой номер числа, на
+ котором достигается максимум (числа нумерутся слева направо, нумерация
+ начинается с 0).
+
+Если максимальное значение достигается на нескольких числах, то argmax
+возращает индекс последнего числа, на котором достигается максимум.
+
+