aboutsummaryrefslogtreecommitdiffstats
path: root/questions/2-d.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-d.txt
Initial and probably final commitHEADmaster
Diffstat (limited to 'questions/2-d.txt')
-rw-r--r--questions/2-d.txt28
1 files changed, 28 insertions, 0 deletions
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.
+
+