Оказывается Yosys сам умеет компилировать железячный дизайн в C++ !!!
Правда он совсем не умеет VHDL:
По умолчанию это должен быть Verilog или SystemVerilog файл:
А так код получается интересный (даже закольцованные логические гейты отрабатывают как защёлки как и надо) и шаг симуляции может выполняться только по смене значения на входах - надо будет сравнить с Верилятором по скорости...
Версия с которой я это пробовал:
Взята отсюда:
https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2022-09-26/oss-cad-suite-linux-x64-20220926.tgzРаботает без проблем на моём Debian Linux 10.13 (в котором Yosys сильно старее и компилировать в C++ не умеет)
P.S. Вот есть описалово с примерами:
https://tomverbeure.github.io/2020/08/08/CXXRTL-the-New-Yosys-Simulation-Backend.htmlТам автор пишет, что на его примерах (целочисленная RISC-V реализация) CXXRTL при максимальной оптимизации примерно в 8 раз медленнее одно-тредного Верилятора.
P.P.S. Официальная документация на CXXRTL:
https://yosyshq.readthedocs.io/projects/yosys/en/latest/cmd/write_cxxrtl.html