| |
| |
| |
| |
|
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 的條款重新分發和/或修改它。請參閱文件以了解更多詳細資訊。