Создание схемы модуля
Для создания схемы модуля будут использоваться Yosys и netlistsvg.
Чтобы не собирать Yosys руками, его можно вытащить вместе с OSS CAD Suite.
Для этого надо скачать отсюда нужный вам архив (скорее всего oss-cad-suite-linux-x64-20240703.tgz
) и разархивировать его:
$ tar -xf <download_location>/oss-cad-suite-linux-x64-20240703.tgz
Далее активировать окружение:
$ source <extracted_location>/oss-cad-suite/environment # для bash
$ source <extracted_location>/oss-cad-suite/environment.fish # для fish
Подробнее можно прочитать у них в README.
Теперь yosys
должен быть у нас в PATH
.
Для получения схемы нужно прописывать:
$ yosys -p "prep -top <top module>; write_json <output file>.json" <input file>.sv (1)
$ npx netlistsvg <output file>.json -o <output file>.svg
1 | Как и при симуляции, если есть какие-то зависимости от других .sv файлов, то их все надо указать. |
Готово. Можно любоваться полученной схемой.
Чуть подробнее про команды для синтеза можно почитать в README у netlistsvg.