Форматтер для SystemVerilog

На сегодня нет форматера кода SystemVerilog (один из языков описания аппаратуры), который бы полностью поддерживал актуальный стандарт языка (или хотя бы предыдущий). Есть инструменты поддерживающие синтезируемое подмножество языка, но для верификации (которая состоит из несинтезируемого кода) задача не решена (даже проприетарным инструментами). Такой инструмент, пускай и не является ключевым, но положительно влияет на качество кода и скорость разработки.

В рамках проекта, который ставит своей целью разработать и поддерживать форматтер, а в будущем и линтер для SystemVerilog, есть много разноплановых задач.

  • Изучить open source решения: какие есть, в чём их недостатки с точки зрения работы с SystemVerilog.
  • На основе обзора принять решения: разрабатывать свой инструмент или дорабатывать существующий, например Verible.
  • Спроектировать варианты настройки форматтера.
  • Разработать инструмент и проверить его на тестах из набора
  • Проработать взаимодействие инструмента с IDE, например, VS Code.
Требования к студенту

Не бояться изучать новое и программировать

Уровень

2 курс, 3 курс, Бакалаврская ВКР


Руководитель

Кириленко Яков Александрович


Консультант

Кутуев Владимир Александрович


Источник

YADRO