From 11508800cfaefc1c25a793760bf10d3fd997af80 Mon Sep 17 00:00:00 2001 From: justanothercatgirl Date: Wed, 14 May 2025 19:16:38 +0300 Subject: Initial and probably final commit --- questions/2-b.txt | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 questions/2-b.txt (limited to 'questions/2-b.txt') 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 +возращает индекс последнего числа, на котором достигается максимум. + + -- cgit v1.2.3-70-g09d2