При разработке аппаратуры (hardware design) один из шагов — симуляция с различной точностью и детализацией (RTL, gate level, с учётом физических задержек или без и т.д.). Данный шаг нужен для раннего выявления проблем дизайна и является вычислительно ресурсоёмким для реальных дизайнов.
Концептуально, симуляция выглядит как обход графа, описывающего дизайн (в зависимости от уровня детализации, в вершинах и на рёбрах различные сущности), схожий с обходом в ширину. А обход в ширину естественным образом выражается в терминах линейной алгебры (через операции над матрицами и векторами), что позволяет относительно легко получить параллельную реализацию для многоядерных ЦПУ и даже ГПУ.
Предлагается исследовать возможность реализации ядра симулятора на основе операций линейной алгебры. Для этого необходимо сделать следующее.
2 курс, 3 курс, Бакалаврская ВКР, Магистерская ВКР
Григорьев Семен Вячеславович
Grigorev Semyon
Кафедра системного программирования СПбГУ