| |
| |
| |
| |
|
Verilator вызывается с параметрами, аналогичными GCC или VCS Synopsys. Он «проверяет» указанный код Verilog или SystemVerilog, читая его, выполняя проверки и, при необходимости, вставляя проверки утверждений и точки анализа покрытия. Он выводит одно- или многопоточные файлы .cpp и .h, «проверенный» код.
Эти проверенные файлы C++/SystemC затем компилируются компилятором C++ (gcc/clang/MSVC++), при необходимости вместе с собственным файлом-оболочкой C++/SystemC пользователя, для создания экземпляра проверенной модели. Запуск полученного исполняемого файла выполняет моделирование конструкции. Verilator также поддерживает связывание сгенерированных Verilated библиотек, при необходимости зашифрованных, с другими симуляторами.
Verilator может быть не лучшим выбором, если вы ожидаете полнофункциональную замену симулятора Verilog с закрытым исходным кодом, нуждаетесь в аннотациях SDF, моделировании смешанных сигналов или выполняете проект быстрого класса (мы рекомендуем Icarus Verilog для учебных занятий). Однако, если вы ищете способ миграции SystemVerilog на C++/SystemC или хотите высокоскоростного моделирования проектов, Verilator — это инструмент для вас.
Verilator не транслирует Verilog HDL напрямую в C++ или SystemC. Вместо этого Verilator компилирует ваш код в гораздо более быструю оптимизированную модель с возможностью разделения потоков, которая, в свою очередь, помещается в модуль C++/SystemC. Результатом является скомпилированная модель Verilog, которая выполняется даже в одном потоке более чем в 10 раз быстрее, чем автономный SystemC, а в одном потоке примерно в 100 раз быстрее, чем интерпретируемые симуляторы Verilog, такие как Icarus Verilog. Еще одно ускорение в 2–10 раз можно получить за счет многопоточности (в сумме в 200–1000 раз по сравнению с интерпретируемыми симуляторами).
Verilator обычно имеет аналогичную или лучшую производительность по сравнению с симуляторами Verilog с закрытым исходным кодом (например, Aldec Riviera-Pro, Cadence Incisive/NC-Verilog, Mentor ModelSim/Questa, Synopsys VCS, VTOC и Pragmatic CVer/CVC). Но Verilator имеет открытый исходный код, поэтому вы можете тратить деньги на вычисления, а не на лицензии. Таким образом, Verilator дает вам лучшее соотношение циклов моделирования на доллар.
Для получения дополнительной информации:
Verilator — это проект сообщества, управляемый CHIPS Alliance при Linux Foundation.
Мы ценим и приветствуем ваш вклад в любой форме; см. раздел «Вклад в Verilator». Спасибо нашим участникам и спонсорам.
Verilator также поддерживает и поощряет модели и организации коммерческой поддержки; пожалуйста, ознакомьтесь с коммерческой поддержкой Verilator.
Права на Verilator принадлежат Уилсону Снайдеру, 2003–2024 гг. (Сообщайте об ошибках в Verilator Issues.)
Verilator — бесплатное программное обеспечение; вы можете распространять его и/или изменять на условиях либо GNU Lesser General Public License версии 3, либо Perl Artistic License версии 2.0. Более подробную информацию смотрите в документации.