- Написание кода на VHDL во встроенном редакторе;
- Выбор верхнеуровневой сущности и её архитектуры;
- Задание входных сигналов несколькими способами (константа, миандр, ручной режим) в testbench генераторе;
- Просмотр полученных в ходе симулирования Waveforms;
- Пошаговая отладка сущности;
- Vue (фронтенд);
- Monaco Editor (в качетве редактора кода, тот же самый, что и в VS Code);
- ANTLR4 + Java (в качестве парсеров);
- GHDL
Проект для запуска VHDL-кода использует программу GHDL на серверной части;
У команды разработчиков проекта есть мечта - собрать nvc под WASM, но пока это сделать не получилось: не получается слинковать зависимости и WASM. Возможно, в будущем мечта сбудется.
Пока что SVHDL предполагает наличие сервера, который должен принимать VHDL-код, запускать его на linux и возвращать результаты симуляции. Исходный код сервера: https://github.com/AAOleynikov/SVHDL_back
npm i
Для начала надо установить JDK актуальной версии. Например, OpenJDK.
(Если вы играете в майнкрафт, то он у вас скорее всего уже установлен:~)
Далее надо установить antlr4. На Windows проще всего сделать:
python -m pip install antlr4-tools.
Он скачает exe, добавит его в поддиректорию Scripts директории Python3XX. Скорее всего, на Вашей машине эта директория находится в Path, если не находится - добавьте.
Запустить npm run build-parsers, он сам сгенерирует парсеры
Компиляция vhdlLexer.g4 и vhdlParser.g4 в js производится с помощью команды:
antlr4 -Dlanguage=JavaScript vhdlLexer.g4 vhdlParser.g4
npm run dev
- Редактор кода.
- Wave-form viewer.
- Сохранение и загрузка проектов.
- Testbench генератор:
- ANTLR4 парсер сущностей и их архитектур.
- Выбор сущности.
- Задание входных сигналов.
- Подсветка синтаксиса в редакторе кода.
- Портировать движок nvc на фронт.
- Написать движок на JS для симулирования.


