| |
| |
| |
| |
|
Verilator 的调用参数类似于 GCC 或 Synopsys 的 VCS。它通过读取指定的 Verilog 或 SystemVerilog 代码、执行 lint 检查以及可选地插入断言检查和覆盖分析点来“验证”指定的 Verilog 或 SystemVerilog 代码。它输出单线程或多线程 .cpp 和 .h 文件,即“经过验证的”代码。
然后,这些 Verilated C++/SystemC 文件由 C++ 编译器 (gcc/clang/MSVC++) 进行编译,可选地与用户自己的 C++/SystemC 包装文件一起编译,以实例化 Verilated 模型。执行生成的可执行文件即可执行设计模拟。 Verilator 还支持将 Verilated 生成的库(可选加密)链接到其他模拟器中。
如果您希望用全功能替代闭源 Verilog 模拟器、需要 SDF 注释、混合信号模拟或正在做一个快速课堂项目(我们建议使用 Icarus Verilog 进行课堂作业),那么 Verilator 可能不是最佳选择。然而,如果您正在寻找将 SystemVerilog 迁移到 C++/SystemC 的途径,或者想要高速仿真设计,那么 Verilator 就是您的最佳工具。
Verilator 不直接将 Verilog HDL 转换为 C++ 或 SystemC。相反,Verilator 将您的代码编译成更快的优化且可选的线程分区模型,该模型又封装在 C++/SystemC 模块内。结果是编译后的 Verilog 模型,即使在单线程上执行速度也比独立 SystemC 快 10 倍以上,在单线程上执行速度比解释型 Verilog 模拟器(如 Icarus Verilog)快约 100 倍。多线程可能会带来另外 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 是一个社区项目,由 Linux 基金会下的 CHIPS 联盟指导。
我们感谢并欢迎您以任何形式做出贡献;请参阅向 Verilator 做出贡献。感谢我们的贡献者和赞助商。
Verilator还支持和鼓励商业支持模式和组织;请参阅 Verilator 商业支持。
Verilator 版权所有 2003-2024,归 Wilson Snyder 所有。 (向 Verilator Issues 报告错误。)
Verilator 是免费软件;您可以根据 GNU Lesser General Public License Version 3 或 Perl Artistic License Version 2.0 的条款重新分发和/或修改它。请参阅文档了解更多详细信息。