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-d.txt | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 questions/2-d.txt (limited to 'questions/2-d.txt') diff --git a/questions/2-d.txt b/questions/2-d.txt new file mode 100644 index 0000000..af53680 --- /dev/null +++ b/questions/2-d.txt @@ -0,0 +1,28 @@ +Систолический массив + +Требуется спроектировать на языке Verilog двухмерный систолический массив для +выполнения операции матричного умножения +https://gyires.inf.unideb.hu/KMITT/a52/ch04.html. + +Проектируемый модуль должен называться systolic_array. + +Параметры модуля: ROWS - количество рядов в массиве, COLUMNS - количество +столбцов в массиве, WIDTH - размерность шин аргументов. + +Входы модуля: clock - провод синхросигнала, reset - провод сигнала сброса +(сброс при выставлении значения 0), a - шина проводов ширины ROWS*WIDTH, +подающая значения вектора a (элементы вектора нумеруются справа налево), b - +шина проводов ширины COLUMNS*WIDTH, подающая значения вектора b (элементы +вектора нумеруются справа налево). Каждое значение векторов a и b имеет +размерность WIDTH. + +Выходы модуля: c - шина проводов ширины ROWS*COLUMNS*WIDTH, характеризующих +текущее состояние вычисляемой матрицы. Элементы матрицы нумеруются справа +налево и сверху вниз. Например, для матрицы размера 2 на 2 из 4-х битовых +значений шина с будет разбита следующим образом: 00: c[3 : 0], 01: c[7 : 4], +10: c[11: 8], 11: c[15:12]. + +Примечание: схема должна иметь асинхронный сброс, латентность вычислений +(количество тактов, требуемое для вычисления нового значения) равна 1. + + -- cgit v1.2.3-70-g09d2